Module: Hashie::Extensions::IgnoreUndeclared
- Defined in:
- lib/hashie/extensions/ignore_undeclared.rb
Overview
IgnoreUndeclared is a simple mixin that silently ignores undeclared properties on initialization instead of raising an error. This is useful when using a Trash to capture a subset of a larger hash.
Note that attempting to retrieve or set an undeclared property will still raise a NoMethodError, even if a value for that property was provided at initialization.
Instance Method Summary collapse
Instance Method Details
#initialize_attributes(attributes) ⇒ Object
32 33 34 35 36 37 38 39 40 |
# File 'lib/hashie/extensions/ignore_undeclared.rb', line 32 def initialize_attributes(attributes) return unless attributes klass = self.class translations = klass.respond_to?(:translations) && klass.translations attributes.each_pair do |att, value| next unless klass.property?(att) || (translations && translations.include?(att)) self[att] = value end end |
#property_exists?(property) ⇒ Boolean
42 43 44 |
# File 'lib/hashie/extensions/ignore_undeclared.rb', line 42 def property_exists?(property) self.class.property?(property) end |