class RelationToJSON::BaseReflection

Attributes

name[R]
reflection[R]
required_columns[RW]

Public Class Methods

new(reflection, reflection_name, reflection_columns) click to toggle source
# File lib/relation_to_json/base_reflection.rb, line 10
def initialize(reflection, reflection_name, reflection_columns)
  @reflection = reflection
  @name = reflection_name
  @required_columns = reflection_columns
end

Public Instance Methods

foreign_key() click to toggle source
# File lib/relation_to_json/base_reflection.rb, line 22
def foreign_key
  reflection.foreign_key.to_sym
end
primary_key() click to toggle source
# File lib/relation_to_json/base_reflection.rb, line 18
def primary_key
  reflection.active_record.primary_key.to_sym
end

Private Instance Methods

nested_relations?() click to toggle source
# File lib/relation_to_json/base_reflection.rb, line 32
def nested_relations?
  required_columns.any? { _1.is_a?(Hash) }
end
recurse_json_with_schema(transposed) click to toggle source
# File lib/relation_to_json/base_reflection.rb, line 28
def recurse_json_with_schema(transposed)
  RelationToJSON::Base.new(association_relation(transposed), required_columns).as_json
end