class ApiMaker::RelationshipIncluder
Public Class Methods
parse(include_param)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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