lib/jsonapi/relationship.rb in jsonapi-resources-0.7.1.beta1 vs lib/jsonapi/relationship.rb in jsonapi-resources-0.7.1.beta2

- old
+ new

@@ -1,8 +1,8 @@ module JSONAPI class Relationship - attr_reader :acts_as_set, :foreign_key, :type, :options, :name, + attr_reader :acts_as_set, :foreign_key, :options, :name, :class_name, :polymorphic, :always_include_linkage_data, :parent_resource def initialize(name, options = {}) @name = name.to_s @@ -20,17 +20,21 @@ def primary_key @primary_key ||= resource_klass._primary_key end def resource_klass - @resource_klass = @parent_resource.resource_for(@class_name) + @resource_klass ||= @parent_resource.resource_for(@class_name) end def table_name @table_name ||= resource_klass._table_name end + def type + @type ||= resource_klass._type.to_sym + end + def relation_name(options) case @relation_name when Symbol # :nocov: @relation_name @@ -59,11 +63,10 @@ attr_reader :foreign_key_on def initialize(name, options = {}) super @class_name = options.fetch(:class_name, name.to_s.camelize) - @type = class_name.underscore.pluralize.to_sym @foreign_key ||= "#{name}_id".to_sym @foreign_key_on = options.fetch(:foreign_key_on, :self) end def belongs_to? @@ -77,10 +80,9 @@ class ToMany < Relationship def initialize(name, options = {}) super @class_name = options.fetch(:class_name, name.to_s.camelize.singularize) - @type = class_name.underscore.pluralize.to_sym @foreign_key ||= "#{name.to_s.singularize}_ids".to_sym end end end end