Class: FluentConditions::CustomAccessorDefiner
- Inherits:
-
Object
- Object
- FluentConditions::CustomAccessorDefiner
- Defined in:
- lib/fluent_conditions/accessor_definers.rb
Instance Method Summary collapse
- #define(builder, field) ⇒ Object
-
#initialize(options) ⇒ CustomAccessorDefiner
constructor
A new instance of CustomAccessorDefiner.
Constructor Details
#initialize(options) ⇒ CustomAccessorDefiner
Returns a new instance of CustomAccessorDefiner.
67 68 69 |
# File 'lib/fluent_conditions/accessor_definers.rb', line 67 def initialize() = end |
Instance Method Details
#define(builder, field) ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/fluent_conditions/accessor_definers.rb', line 71 def define(builder, field) field_name = [:as] condition_check = [:if] accessor_method = FluentAccessorMethod.new(field_name) builder.class_eval do define_method(accessor_method.positive_check) do update_and_continue(condition_check.call(instance_variable_get(:@object).send(field))) end define_method(accessor_method.positive_check_with_result) do update_and_finish(condition_check.call(instance_variable_get(:@object).send(field))) end define_method(accessor_method.negative_check) do update_and_continue(!condition_check.call(instance_variable_get(:@object).send(field))) end define_method(accessor_method.negative_check_with_result) do update_and_finish(!condition_check.call(instance_variable_get(:@object).send(field))) end end end |