Class: DefineField

Inherits:
Object
  • Object
show all
Defined in:
lib/pr/define_field.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.[](klass, field_name, field, options = {}) ⇒ Object



6
7
8
# File 'lib/pr/define_field.rb', line 6

def [] klass, field_name, field, options = {}
  new.on klass, field_name, field, options
end

.on(klass, field_name, field, options = {}) ⇒ Object



3
4
5
# File 'lib/pr/define_field.rb', line 3

def on klass, field_name, field, options = {}
  new.on klass, field_name, field, options
end

Instance Method Details

#on(klass, field_name, field, options = {}) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/pr/define_field.rb', line 11

def on klass, field_name, field, options = {}
  var_name     = "@field_#{field_name}"
  field_setter = "#{field_name}="
  actual_field = "__#{field_name}"

  define_field  klass, actual_field, var_name, field_setter
  define_reader klass, field_name, actual_field
  define_setter klass, var_name, field_setter, field, options
end