Module: GovDelivery::TMS::CoreExt

Included in:
Client
Defined in:
lib/govdelivery/tms/util/core_ext.rb

Instance Method Summary collapse

Instance Method Details

#camelize(str) ⇒ Object



8
9
10
11
12
# File 'lib/govdelivery/tms/util/core_ext.rb', line 8

def camelize(str)
  # Do not use ActiveSupport::Inflector.camelize because it uses global
  # ActiveSupport::Inflector.acronum data.
  str.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
end

#demodulize(path) ⇒ Object



4
5
6
# File 'lib/govdelivery/tms/util/core_ext.rb', line 4

def demodulize(path)
  ActiveSupport::Inflector.demodulize(path)
end

#instance_class(klass) ⇒ Object



26
27
28
# File 'lib/govdelivery/tms/util/core_ext.rb', line 26

def instance_class(klass)
  ActiveSupport::Inflector.constantize(singularize(klass.to_s))
end

#pluralize(str) ⇒ Object



18
19
20
# File 'lib/govdelivery/tms/util/core_ext.rb', line 18

def pluralize(str)
  ActiveSupport::Inflector.pluralize(str)
end

#singularize(str) ⇒ Object



14
15
16
# File 'lib/govdelivery/tms/util/core_ext.rb', line 14

def singularize(str)
  ActiveSupport::Inflector.singularize(str)
end

#tmsify(klassname) ⇒ Object



22
23
24
# File 'lib/govdelivery/tms/util/core_ext.rb', line 22

def tmsify(klassname)
  ActiveSupport::Inflector.underscore(demodulize(klassname))
end