Module: PluckMap

Defined in:
lib/pluck_map/association_scope.rb,
lib/pluck_map.rb,
lib/pluck_map/nodes.rb,
lib/pluck_map/errors.rb,
lib/pluck_map/struct.rb,
lib/pluck_map/attribute.rb,
lib/pluck_map/presenter.rb,
lib/pluck_map/attributes.rb,
lib/pluck_map/null_logger.rb,
lib/pluck_map/model_context.rb,
lib/pluck_map/relationships.rb,
lib/pluck_map/presenters/to_h.rb,
lib/pluck_map/attribute_builder.rb,
lib/pluck_map/presenters/to_csv.rb,
lib/pluck_map/relationships/one.rb,
lib/pluck_map/presenters/to_json.rb,
lib/pluck_map/relationships/base.rb,
lib/pluck_map/relationships/many.rb,
lib/pluck_map/structured_attribute.rb,
lib/pluck_map/relationships/polymorphic_one.rb

Overview

ActiveRecord::Associations::AssociationScope assumes that values for Owner’s fields will be concrete values that need to be type-cast.

But our AbstractOwner returns field references (Arel::Attributes::Attribute) and we need them to bypass type-casting.

Defined Under Namespace

Modules: AssociationScope, CsvPresenter, HashPresenter, JsonPresenter, Relationships, Struct Classes: Attribute, AttributeBuilder, Attributes, BuildJsonArray, BuildJsonObject, JsonArrayAggregate, JsonSubqueryAggregate, ModelContext, NullLogger, Presenter, StructuredAttribute, UnsupportedAttributeError

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.loggerObject

Returns the value of attribute logger.



8
9
10
# File 'lib/pluck_map.rb', line 8

def logger
  @logger
end

Class Method Details

.[](model) ⇒ Object



10
11
12
# File 'lib/pluck_map.rb', line 10

def [](model)
  PluckMap::ModelContext.new(model)
end