Class: ToWa::Builder

Inherits:
Object
  • Object
show all
Includes:
ActiveRecord::Sanitization
Defined in:
lib/to_wa/builder.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(restricted:, ex:, arel_table:, permitted_columns: Set.new, permitted_operators: Set.new, permitted_specified_columns: {}) ⇒ Builder

rubocop:disable Metrics/ParameterLists



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/to_wa/builder.rb', line 11

def initialize(
  restricted:,
  ex:,
  arel_table:,
  permitted_columns: Set.new,
  permitted_operators: Set.new,
  permitted_specified_columns: {}
)
  @restricted = restricted
  @arel_table = arel_table
  @initial_ex = ex.is_a?(String) ? JSON.parse(ex) : ex
  @permitted_columns = permitted_columns
  @permitted_operators = permitted_operators
  @permitted_specified_columns = permitted_specified_columns
end

Class Method Details

.like(v) ⇒ Object

rubocop:enable Metrics/ParameterLists



28
29
30
# File 'lib/to_wa/builder.rb', line 28

def self.like(v)
  sanitize_sql_like(v)
end

Instance Method Details

#execute!Object



32
33
34
# File 'lib/to_wa/builder.rb', line 32

def execute!
  decide(@initial_ex)
end