module Nyaplot::Jsonizable::ClassMethod

Public Instance Methods

define_group_properties(name, symbols) click to toggle source

Define getter/setter for each property and group. Grouped properties will be merged into one parameter when running to_json. @param [Symbol] name Group name @param [Symbol] symbols Name for each property @example

define_group_properties(:options, [:hoge, :nya]) #The methods :options, :hoge, :nya are defined
options({})
hoge(3)
nya(4)
some_instance.to_json #-> {options:{hoge: 3, nya:4}}
# File lib/nyaplot/base.rb, line 59
def define_group_properties(name, symbols)
  define_properties(name)
  symbols.each do |symbol|
    define_method(symbol) {|val=nil|
      return @properties[name][symbol] if val.nil?
      @properties[name][symbol] = val
      return self
    }
  end
end
define_properties(*symbols) click to toggle source

Define getter/setter for each property @param [Symbol] symbols Name for each property

# File lib/nyaplot/base.rb, line 39
def define_properties(*symbols)
  symbols.each do |symbol|
    define_method(symbol) {|val=nil|
      return @properties[symbol] if val.nil?
      @properties[symbol] = val
      return self
    }
  end
end