lib/zendesk_api/association.rb in zendesk_api-1.1.3 vs lib/zendesk_api/association.rb in zendesk_api-1.2.1

- old
+ new

@@ -115,13 +115,26 @@ resource.send("#{options.name}=", side_load) if side_load end def build_parent_namespace(parent_class, instance, options, original_options) - return unless association_on_parent = parent_class.associations.detect {|a| a[:class] == @options[:class] } + path = @options.path + + association_on_parent = parent_class.associations.detect {|a| a[:name] == @options[:name]} + association_on_parent ||= parent_class.associations.detect do |a| + !a[:inline] && a[:class] == @options[:class] + end + + if association_on_parent + path ||= association_on_parent[:path] + path ||= association_on_parent[:name].to_s + end + + path ||= @options[:class].resource_path + [ extract_parent_id(parent_class, instance, options, original_options), - @options.path || association_on_parent[:path] || association_on_parent[:name].to_s + path ] end def extract_parent_id(parent_class, instance, options, original_options) parent_id_column = "#{parent_class.singular_resource_name}_id"