Module: GovDelivery::TMS::CoreExt
- Included in:
- Client
- Defined in:
- lib/govdelivery/tms/util/core_ext.rb
Instance Method Summary collapse
- #camelize(str) ⇒ Object
- #demodulize(path) ⇒ Object
- #instance_class(klass) ⇒ Object
- #pluralize(str) ⇒ Object
- #singularize(str) ⇒ Object
- #tmsify(klassname) ⇒ Object
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 |