class ParamsReady::Query::VariableOperatorPredicateDefinition
Attributes
hash_parameter[R]
hash_parameter_builder[R]
Public Class Methods
new(*args, attribute_name: nil, **opts)
click to toggle source
Calls superclass method
ParamsReady::Parameter::AbstractDefinition::new
# File lib/params_ready/query/variable_operator_predicate.rb, line 88 def initialize(*args, attribute_name: nil, **opts) super *args, **opts @attribute_name = attribute_name @hash_parameter_builder = Builder.builder(:hash).instance(name, altn: altn) @operator_parameter_builder = Builder.builder(:predicate_operator).instance(:operator, altn: :op) end
Public Instance Methods
finish()
click to toggle source
Calls superclass method
ParamsReady::Parameter::AbstractDefinition#finish
# File lib/params_ready/query/variable_operator_predicate.rb, line 113 def finish @hash_parameter = @hash_parameter_builder.build @hash_parameter_builder = nil @operator_parameter_builder = nil @type = nil super end
set_operators(array, &block)
click to toggle source
# File lib/params_ready/query/variable_operator_predicate.rb, line 100 def set_operators(array, &block) context = Format.instance(:backend) operators = array.map do |name| PredicateRegistry.operator(name, context) end @operator_parameter_builder.include do constrain :enum, operators end @operator_parameter_builder.include(&block) unless block.nil? @hash_parameter_builder.add @operator_parameter_builder.build end
set_type(type)
click to toggle source
# File lib/params_ready/query/variable_operator_predicate.rb, line 95 def set_type(type) @type = type @hash_parameter_builder.add @type.finish end