Class: HashieMashKnockoff::AddInstanceMethods
- Inherits:
-
Object
- Object
- HashieMashKnockoff::AddInstanceMethods
- Defined in:
- lib/hashie_mash_knockoff/add_instance_methods.rb
Instance Method Summary collapse
- #add(hashie_mash_knockoff, kwargs) ⇒ Object
- #define_method(hashie_mash_knockoff, name, value) ⇒ Object
- #has_keys?(value) ⇒ Boolean
- #hashie_mash_knockoff(hash) ⇒ Object
- #method_value(value) ⇒ Object
- #should_be_a_hashie_mash_knockoff?(value) ⇒ Boolean
Instance Method Details
#add(hashie_mash_knockoff, kwargs) ⇒ Object
3 4 5 6 7 |
# File 'lib/hashie_mash_knockoff/add_instance_methods.rb', line 3 def add(hashie_mash_knockoff, kwargs) kwargs.each do |key, value| define_method(hashie_mash_knockoff, key, value) end end |
#define_method(hashie_mash_knockoff, name, value) ⇒ Object
9 10 11 12 13 14 15 |
# File 'lib/hashie_mash_knockoff/add_instance_methods.rb', line 9 def define_method(hashie_mash_knockoff, name, value) return_value = method_value(value) hashie_mash_knockoff.send(:define_singleton_method, name) do return_value end end |
#has_keys?(value) ⇒ Boolean
21 22 23 |
# File 'lib/hashie_mash_knockoff/add_instance_methods.rb', line 21 def has_keys?(value) value.keys.size > 0 end |
#hashie_mash_knockoff(hash) ⇒ Object
17 18 19 |
# File 'lib/hashie_mash_knockoff/add_instance_methods.rb', line 17 def hashie_mash_knockoff(hash) HashieMashKnockoff.new(hash) end |
#method_value(value) ⇒ Object
29 30 31 |
# File 'lib/hashie_mash_knockoff/add_instance_methods.rb', line 29 def method_value(value) should_be_a_hashie_mash_knockoff?(value) ? hashie_mash_knockoff(value) : value end |
#should_be_a_hashie_mash_knockoff?(value) ⇒ Boolean
25 26 27 |
# File 'lib/hashie_mash_knockoff/add_instance_methods.rb', line 25 def should_be_a_hashie_mash_knockoff?(value) Srm.is_a_hash?(value) && has_keys?(value) end |