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"