Sha256: 04baf1adacf5fec62eb6b965f04bb162f8553fbfae53c674b6e47480c8eacfab

Contents?: true

Size: 831 Bytes

Versions: 20

Compression:

Stored size: 831 Bytes

Contents

class GCE
  class Host
    # If want sophisticated utility, better to use ActiveSupport
    module StringUtil
      def self.camelize(string)
        string = string.sub(/^[a-z\d]*/) { $&.capitalize }
        string.gsub!(/(?:_|(\/))([a-z\d]*)/i) { $2.capitalize }
        string.gsub!(/\//, '::')
        string
      end

      def self.underscore(camel_cased_word)
        return camel_cased_word unless camel_cased_word =~ /[A-Z-]|::/
        word = camel_cased_word.to_s.gsub(/::/, '/')
        word.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2')
        word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
        word.tr!("-", "_")
        word.downcase!
        word
      end

      def self.pluralize(string)
        "#{string.chomp('s')}s"
      end

      def self.singularize(string)
        string.chomp('s')
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
gce-host-0.5.6 lib/gce/host/string_util.rb
gce-host-0.5.5 lib/gce/host/string_util.rb
gce-host-0.5.4 lib/gce/host/string_util.rb
gce-host-0.5.3 lib/gce/host/string_util.rb
gce-host-0.5.2 lib/gce/host/string_util.rb
gce-host-0.5.1 lib/gce/host/string_util.rb
gce-host-0.5.0 lib/gce/host/string_util.rb
gce-host-0.4.4 lib/gce/host/string_util.rb
gce-host-0.4.3 lib/gce/host/string_util.rb
gce-host-0.4.1 lib/gce/host/string_util.rb
gce-host-0.4.0 lib/gce/host/string_util.rb
gce-host-0.3.4 lib/gce/host/string_util.rb
gce-host-0.3.3 lib/gce/host/string_util.rb
gce-host-0.3.2 lib/gce/host/string_util.rb
gce-host-0.3.1 lib/gce/host/string_util.rb
gce-host-0.3.0 lib/gce/host/string_util.rb
gce-host-0.2.1 lib/gce/host/string_util.rb
gce-host-0.2.0 lib/gce/host/string_util.rb
gce-host-0.1.3 lib/gce/host/string_util.rb
gce-host-0.1.0 lib/gce/host/string_util.rb