class Flapjack::Gateways::JSONAPI::Data::JoinDescriptor

Attributes

association_data[RW]
delete[R]
descriptions[R]
get[R]
includable[R]
klass[R]
number[R]
patch[R]
post[R]

Public Class Methods

new(opts = {}) click to toggle source
# File lib/flapjack/gateways/jsonapi/data/join_descriptor.rb, line 16
def initialize(opts = {})
  @association_data = nil
  %w{post get patch delete number link includable type klass callback_classes descriptions}.each do |a|
    instance_variable_set("@#{a}", opts[a.to_sym])
  end
  @callback_classes ||= []
end

Public Instance Methods

data_klass() click to toggle source
# File lib/flapjack/gateways/jsonapi/data/join_descriptor.rb, line 33
def data_klass
  @association_data.nil? ? @klass : @association_data.data_klass
end
lock_klasses() click to toggle source
# File lib/flapjack/gateways/jsonapi/data/join_descriptor.rb, line 24
def lock_klasses
  if @association_data.nil?
    [@klass] | @callback_classes
  else
    [@association_data.data_klass] |
      @association_data.related_klasses | @callback_classes
  end
end
type() click to toggle source
# File lib/flapjack/gateways/jsonapi/data/join_descriptor.rb, line 37
def type
  @association_data.nil? ? @type : data_klass.short_model_name.singular
end