Module: DatawireQuarkCore::GettersSetters

Included in:
HTTP::Request, HTTP::Response
Defined in:
lib/datawire-quark-core.rb

Instance Method Summary collapse

Instance Method Details

#getters(*names) ⇒ Object

Generate Java/Quark-style getters and setters for instance variables.

Example:

class Foo
  extend GettersSetters

  getters :fooBar, :bazQux
  setters :fooBar
end

The above equivalent to:

class Foo
  extend GettersAndSetters

  def getFooBar
    @fooBar
  end

  def getBazQux
    @bazQux
  end

  def setFooBar(value)
    @fooBar = value

    nil
  end
end


47
48
49
50
51
52
53
# File 'lib/datawire-quark-core.rb', line 47

def getters(*names)
  names.each do |name|
    define_method('get' + capitalize(name)) do
      instance_variable_get("@#{name}")
    end
  end
end

#setters(*names) ⇒ Object



55
56
57
58
59
60
61
62
63
# File 'lib/datawire-quark-core.rb', line 55

def setters(*names)
  names.each do |name|
    define_method('set' + capitalize(name)) do |value|
      instance_variable_set("@#{name}", value)

      nil
    end
  end
end