Class: Hash
- Inherits:
-
Object
- Object
- Hash
- Defined in:
- lib/softlayer/object_mask_helpers.rb
Overview
Ruby Hash Class
Direct Known Subclasses
Instance Method Summary collapse
- #__sl_object_mask_properties_for_keys ⇒ Object
- #__valid_root_property_key?(key_string) ⇒ Boolean
- #to_sl_object_mask ⇒ Object
- #to_sl_object_mask_property ⇒ Object
Instance Method Details
#__sl_object_mask_properties_for_keys ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/softlayer/object_mask_helpers.rb', line 42 def __sl_object_mask_properties_for_keys key_strings = []; each do |key, value| return "" if !value string_for_key = key.to_sl_object_mask_property if value.kind_of?(String) || value.kind_of?(Symbol) then string_for_key = "#{string_for_key}.#{value.to_sl_object_mask_property}" end if value.kind_of?(Array) || value.kind_of?(Hash) then value_string = value.to_sl_object_mask_property if value_string && !value_string.empty? string_for_key = "#{string_for_key}[#{value_string}]" end end key_strings.push(string_for_key) end key_strings end |
#__valid_root_property_key?(key_string) ⇒ Boolean
25 26 27 |
# File 'lib/softlayer/object_mask_helpers.rb', line 25 def __valid_root_property_key?(key_string) return key_string == "mask" || (0 == (key_string =~ /\Amask\([a-z][a-z0-9_]*\)\z/i)) end |
#to_sl_object_mask ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/softlayer/object_mask_helpers.rb', line 29 def to_sl_object_mask() raise RuntimeError, "An object mask must contain properties" if empty? raise RuntimeError, "An object mask must start with root properties" if keys().find { |key| !__valid_root_property_key?(key) } key_strings = __sl_object_mask_properties_for_keys(); key_strings.count > 1 ? "[#{key_strings.join(',')}]" : "#{key_strings[0]}" end |
#to_sl_object_mask_property ⇒ Object
37 38 39 40 |
# File 'lib/softlayer/object_mask_helpers.rb', line 37 def to_sl_object_mask_property() key_strings = __sl_object_mask_properties_for_keys(); "#{key_strings.join(',')}" end |