Class: JSONAPI::Association

Inherits:
Object
  • Object
show all
Defined in:
lib/jsonapi/association.rb

Direct Known Subclasses

HasMany, HasOne

Defined Under Namespace

Classes: HasMany, HasOne

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, options = {}) ⇒ Association

Returns a new instance of Association.



5
6
7
8
9
10
11
# File 'lib/jsonapi/association.rb', line 5

def initialize(name, options={})
  @name                = name.to_s
  @options             = options
  @acts_as_set         = options.fetch(:acts_as_set, false) == true
  @foreign_key         = options[:foreign_key ] ? options[:foreign_key ].to_sym : nil
  @module_path         = options[:module_path] || ''
end

Instance Attribute Details

#acts_as_setObject (readonly)

Returns the value of attribute acts_as_set.



3
4
5
# File 'lib/jsonapi/association.rb', line 3

def acts_as_set
  @acts_as_set
end

#class_nameObject (readonly)

Returns the value of attribute class_name.



3
4
5
# File 'lib/jsonapi/association.rb', line 3

def class_name
  @class_name
end

#foreign_keyObject (readonly)

Returns the value of attribute foreign_key.



3
4
5
# File 'lib/jsonapi/association.rb', line 3

def foreign_key
  @foreign_key
end

#nameObject (readonly)

Returns the value of attribute name.



3
4
5
# File 'lib/jsonapi/association.rb', line 3

def name
  @name
end

#optionsObject (readonly)

Returns the value of attribute options.



3
4
5
# File 'lib/jsonapi/association.rb', line 3

def options
  @options
end

#typeObject (readonly)

Returns the value of attribute type.



3
4
5
# File 'lib/jsonapi/association.rb', line 3

def type
  @type
end

Instance Method Details

#primary_keyObject



13
14
15
# File 'lib/jsonapi/association.rb', line 13

def primary_key
  @primary_key ||= Resource.resource_for(@module_path + @name)._primary_key
end