Module: Commutator::Util::Fluent::ClassMethods

Defined in:
lib/commutator/util/fluent.rb

Instance Method Summary collapse

Instance Method Details

#fluent_accessor(*attr_names) ⇒ Object



55
56
57
58
59
60
61
62
63
# File 'lib/commutator/util/fluent.rb', line 55

def fluent_accessor(*attr_names)
  attr_names.each do |attr_name|
    define_method attr_name do |*val|
      return instance_variable_get("@#{attr_name}") if val.empty?
      instance_variable_set("@#{attr_name}", val.first)
      self
    end
  end
end

#fluent_wrapper(*attr_names) ⇒ Object



46
47
48
49
50
51
52
53
# File 'lib/commutator/util/fluent.rb', line 46

def fluent_wrapper(*attr_names)
  attr_names.each do |attr_name|
    define_method "with_#{attr_name}" do |&block|
      block.call(instance_variable_get("@#{attr_name}"))
      self
    end
  end
end