Class: Class

Inherits:
Object
  • Object
show all
Defined in:
lib/support/class_options.rb

Instance Method Summary collapse

Instance Method Details

#blockable_attr_accessor(sym) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/support/class_options.rb', line 9

def blockable_attr_accessor(sym)
  module_eval("    def \#{sym}(&block)\n      if block_given?\n        @\#{sym} = block\n      else\n        @\#{sym}\n      end\n    end\n    def \#{sym}=(value)\n      @\#{sym} = value\n    end\n  EVAL\nend\n", __FILE__, __LINE__)

#define_option(name, default = nil) ⇒ Object



2
3
4
5
6
7
# File 'lib/support/class_options.rb', line 2

def define_option(name, default=nil)
  sym = name.to_sym
  cattr_reader(sym)
  cattr_writer(sym)
  send("#{name.to_s}=", default)
end