Class: ApiMaker::RelationshipIncluder
- Inherits:
-
Object
- Object
- ApiMaker::RelationshipIncluder
- Defined in:
- lib/api_maker/relationship_includer.rb
Class Method Summary collapse
- .parse(include_param) ⇒ Object
- .parse_array(include_param) ⇒ Object
- .parse_string(include_param) ⇒ Object
Class Method Details
.parse(include_param) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 |
# File 'lib/api_maker/relationship_includer.rb', line 2 def self.parse(include_param) if include_param.nil? nil elsif include_param.is_a?(String) ApiMaker::RelationshipIncluder.parse_string(include_param) elsif include_param.is_a?(Array) ApiMaker::RelationshipIncluder.parse_array(include_param) else raise "Unexpected parameter given (#{include_param.class.name}): #{include_param}" end end |
.parse_array(include_param) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/api_maker/relationship_includer.rb', line 21 def self.parse_array(include_param) result = {} include_param.each do |include_param_i| parsed = ApiMaker::RelationshipIncluder.parse(include_param_i) parsed.each do |key, value| if result.key?(key) if result[key].is_a?(String) result[key] = [result[key], value] elsif result[key].is_a?(Array) result[key] << value else raise "Unknown object: #{result[key].class.name}" end else result[key] = value end end end result end |
.parse_string(include_param) ⇒ Object
14 15 16 17 18 19 |
# File 'lib/api_maker/relationship_includer.rb', line 14 def self.parse_string(include_param) splitted = include_param.split(".") initial = splitted.shift rest = splitted.join(".") {initial => rest} end |