Class: Stats::MyStruct

Inherits:
Raindrops::Struct
  • Object
show all
Defined in:
lib/unicorn-cuba-base/stats.rb

Class Method Summary collapse

Class Method Details

.new(*members) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/unicorn-cuba-base/stats.rb', line 5

def self.new(*members)
  klass = super(*members)

  str = ''
  # add support to increment by more than 1
  members.map { |x| x.to_sym }.each_with_index do |member, i|
    str << "def incr_#{member}(v = 1); @raindrops.incr(#{i}, v); end; "
    str << "def decr_#{member}(v = 1); @raindrops.decr(#{i}, v); end; "
  end

  klass.class_eval(str)
  klass
end