# File lib/relation_to_json/base_reflection.rb, line 18 def primary_key reflection.active_record.primary_key.to_sym end
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
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