Class: FluentConditions::BooleanAccessorDefiner

Inherits:
Object
  • Object
show all
Defined in:
lib/fluent_conditions/accessor_definers.rb

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ BooleanAccessorDefiner

Returns a new instance of BooleanAccessorDefiner.



97
98
99
# File 'lib/fluent_conditions/accessor_definers.rb', line 97

def initialize(options)
  @options = options
end

Instance Method Details

#define(builder, field) ⇒ Object



101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'lib/fluent_conditions/accessor_definers.rb', line 101

def define(builder, field)
  accessor_method = FluentAccessorMethod.new(field)

  builder.class_eval do
    define_method(accessor_method.positive_check) do
      update_and_continue(instance_variable_get(:@object).send(field))
    end

    define_method(accessor_method.positive_check_with_result) do
      update_and_finish(instance_variable_get(:@object).send(field))
    end

    define_method(accessor_method.negative_check) do
      update_and_continue(!instance_variable_get(:@object).send(field))
    end

    define_method(accessor_method.negative_check_with_result) do
      update_and_finish(!instance_variable_get(:@object).send(field))
    end
  end
end