Module: Dgrid::SetMembersFromHash
- Included in:
- API::Connection, API::Entity, API::Workspace, API::Workspace::Backup
- Defined in:
- lib/dgrid/set_members_from_hash.rb
Instance Method Summary collapse
- #change_string_keys_to_symbol_keys(hash) ⇒ Object
- #set_members_from_hash(h) ⇒ Object
-
#split_hash(h, criteria_set) ⇒ Object
split a hash into two hashes whose keys are either in or not in criteria_set criteria_set can be a Set or anything that can be used to construct a Set.
Instance Method Details
#change_string_keys_to_symbol_keys(hash) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/dgrid/set_members_from_hash.rb', line 28 def change_string_keys_to_symbol_keys(hash) result = {} hash.each_pair do |k,v| if k.is_a?(String) result[k.to_sym] = v else result[k] = v end end result end |
#set_members_from_hash(h) ⇒ Object
3 4 5 6 7 8 9 |
# File 'lib/dgrid/set_members_from_hash.rb', line 3 def set_members_from_hash(h) h.each do |key, val| raise "non-symbolic key #{key}" unless key.is_a?(Symbol) member_name = "@#{key}" instance_variable_set(member_name, val) end end |
#split_hash(h, criteria_set) ⇒ Object
split a hash into two hashes whose keys are either in or not in criteria_set criteria_set can be a Set or anything that can be used to construct a Set
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/dgrid/set_members_from_hash.rb', line 14 def split_hash(h , criteria_set) local_cs = criteria_set.is_a?(Set) ? criteria_set : Set.new(criteria_set) haves = {} have_nots = {} h.each do |k,v| if local_cs.include?(k) haves[k] = v else have_nots[k] = v end end return haves, have_nots end |