Sha256: 4f13e0dd076784ee4bc5c40b72bf69cb5aa79b6d39320240222ea1626e1131b6

Contents?: true

Size: 1.57 KB

Versions: 9

Compression:

Stored size: 1.57 KB

Contents

#
# Copyright (C) 2010  Red Hat, Inc.
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.  The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License.  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
# License for the specific language governing permissions and limitations
# under the License.

class String

  unless method_defined?(:classify)
    # Create a class name from string
    def classify
      self.singularize.camelize
    end
  end

  unless method_defined?(:camelize)
    # Camelize converts strings to UpperCamelCase
    def camelize
      self.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
    end
  end

  unless method_defined?(:singularize)
    # Strip 's' character from end of string
    def singularize
      self.gsub(/s$/, '')
    end
  end

  # Convert string to float if string value seems like Float
  def convert
    return self.to_f if self.strip =~ /^([\d\.]+$)/
    self
  end

  # Simply converts whitespaces and - symbols to '_' which is safe for Ruby
  def sanitize
    self.strip.gsub(/(\W+)/, '_')
  end

end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
deltacloud-client-0.3.1 lib/string.rb
deltacloud-client-0.3.0 lib/string.rb
steamcannon-deltacloud-client-0.1.1.1 lib/string.rb
deltacloud-client-0.1.1 lib/string.rb
steamcannon-deltacloud-client-0.1.0.5 lib/string.rb
steamcannon-deltacloud-client-0.1.0.4 lib/string.rb
steamcannon-deltacloud-client-0.1.0.3 lib/string.rb
steamcannon-deltacloud-client-0.1.0.2 lib/string.rb
deltacloud-client-0.1.0 lib/string.rb