Module: Minidoc::Counters::ClassMethods

Defined in:
lib/minidoc/counters.rb

Instance Method Summary collapse

Instance Method Details

#counter(field, options = {}) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/minidoc/counters.rb', line 8

def counter(field, options = {})
  start = options.fetch(:start, 0)
  step_size = options.fetch(:step_size, 1)

  attribute field, Integer, default: start

  class_eval("    def increment_\#{field}\n      Minidoc::Counters::Incrementor.\n        new(self, :\#{field}).increment(\#{step_size})\n    end\n  EOM\nend\n")