Sha256: 18a76be95c373b42297804a0ec69d2c4f7dfb4478e97f4cdc8ce94848023aef8
Contents?: true
Size: 846 Bytes
Versions: 1
Compression:
Stored size: 846 Bytes
Contents
# frozen_string_literal: true require "active_support/core_ext/module/delegation" module RelationToJSON class BaseReflection attr_reader :reflection, :name attr_accessor :required_columns def initialize(reflection, reflection_name, reflection_columns) @reflection = reflection @name = reflection_name @required_columns = reflection_columns end delegate :active_record, :polymorphic?, :klass, to: :reflection def primary_key reflection.active_record.primary_key.to_sym end def foreign_key reflection.foreign_key.to_sym end private def recurse_json_with_schema(transposed) RelationToJSON::Base.new(association_relation(transposed), required_columns).as_json end def nested_relations? required_columns.any? { _1.is_a?(Hash) } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
relation_to_json-0.1.0 | lib/relation_to_json/base_reflection.rb |