Module: Hashie::Extensions::Dash::IndifferentAccess::ClassMethods

Defined in:
lib/hashie/extensions/dash/indifferent_access.rb

Instance Method Summary collapse

Instance Method Details

#property?(name) ⇒ Boolean

Check to see if the specified property has already been defined.

Returns:

  • (Boolean)


13
14
15
16
17
# File 'lib/hashie/extensions/dash/indifferent_access.rb', line 13

def property?(name)
  name = translations[name.to_sym] if included_modules.include?(Hashie::Extensions::Dash::PropertyTranslation) && translation_exists?(name)
  name = name.to_s
  !!properties.find { |property| property.to_s == name }
end

#transformation_exists?(name) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
32
# File 'lib/hashie/extensions/dash/indifferent_access.rb', line 29

def transformation_exists?(name)
  name = name.to_s
  !!transforms.keys.find { |key| key.to_s == name }
end

#transformed_property(property_name, value) ⇒ Object



24
25
26
27
# File 'lib/hashie/extensions/dash/indifferent_access.rb', line 24

def transformed_property(property_name, value)
  transform = transforms[property_name] || transforms[property_name.to_sym]
  transform.call(value)
end

#translation_exists?(name) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
22
# File 'lib/hashie/extensions/dash/indifferent_access.rb', line 19

def translation_exists?(name)
  name = name.to_s
  !!translations.keys.find { |key| key.to_s == name }
end