Sha256: 64a2f1e35a55312dab7f89676c972ef0da33c76277464bf0a3cb8bdf812e1b44

Contents?: true

Size: 575 Bytes

Versions: 19

Compression:

Stored size: 575 Bytes

Contents

module Dolly
  module NameSpace

    def name_paramitized
      underscore name.split("::").last
    end

    def base_id id
      id = URI.unescape id
      id.sub %r~^#{name_paramitized}/~, ''
    end

    def namespace id
      return id if id =~ %r~^#{name_paramitized}/~
      "#{name_paramitized}/#{id}"
    end

    #FROM ActiveModel::Name
    def underscore(camel_cased_word)
      camel_cased_word.to_s.gsub(/::/, '/').
        gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
        gsub(/([a-z\d])([A-Z])/,'\1_\2').
        tr("-", "_").
        downcase
    end

  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
dolly-1.1.7 lib/dolly/name_space.rb
dolly-1.1.6 lib/dolly/name_space.rb
dolly-1.1.5 lib/dolly/name_space.rb
dolly-1.1.4 lib/dolly/name_space.rb
dolly-1.1.3 lib/dolly/name_space.rb
dolly-1.1.2 lib/dolly/name_space.rb
dolly-1.1.1 lib/dolly/name_space.rb
dolly-1.1.0 lib/dolly/name_space.rb
dolly-1.0.1 lib/dolly/name_space.rb
dolly-1.0.0 lib/dolly/name_space.rb
dolly-0.9.0 lib/dolly/name_space.rb
dolly-0.8.1 lib/dolly/name_space.rb
dolly-0.8.0 lib/dolly/name_space.rb
dolly-0.7.6 lib/dolly/name_space.rb
dolly-0.7.5 lib/dolly/name_space.rb
dolly-0.7.3 lib/dolly/name_space.rb
dolly-0.7.2 lib/dolly/name_space.rb
dolly-0.7.1 lib/dolly/name_space.rb
dolly-0.7.0 lib/dolly/name_space.rb