Class: LcpRuby::ModelFactory::PositioningApplicator

Inherits:
Object
  • Object
show all
Defined in:
lib/lcp_ruby/model_factory/positioning_applicator.rb

Instance Method Summary collapse

Constructor Details

#initialize(model_class, model_definition) ⇒ PositioningApplicator

Returns a new instance of PositioningApplicator.



4
5
6
7
# File 'lib/lcp_ruby/model_factory/positioning_applicator.rb', line 4

def initialize(model_class, model_definition)
  @model_class = model_class
  @model_definition = model_definition
end

Instance Method Details

#apply!Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/lcp_ruby/model_factory/positioning_applicator.rb', line 9

def apply!
  return unless @model_definition.positioned?

  col = @model_definition.positioning_field.to_sym
  scope_columns = @model_definition.positioning_scope.map(&:to_sym)

  if scope_columns.any?
    @model_class.positioned column: col, on: scope_columns
  else
    @model_class.positioned column: col
  end
end