Class: PR::DefineAndRegister

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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass) ⇒ DefineAndRegister

Returns a new instance of DefineAndRegister.



10
11
12
13
# File 'lib/pr/define_and_register.rb', line 10

def initialize klass
  @registry = FieldRegistry[klass]
  @klass = klass
end

Class Method Details

.[](klass, name, type, options = {}) ⇒ Object



5
6
7
# File 'lib/pr/define_and_register.rb', line 5

def [] klass, name, type, options = {}
  new(klass).define_and_register name, type, options
end

Instance Method Details

#define(name, type, options = {}) ⇒ Object



23
24
25
# File 'lib/pr/define_and_register.rb', line 23

def define name, type, options = {}
  DefineField[ @klass, name, Fields[type], options ]
end

#define_and_register(name, type, options) ⇒ Object



15
16
17
# File 'lib/pr/define_and_register.rb', line 15

def define_and_register name, type, options
  register name, define(name,type,options)
end

#register(name, field) ⇒ Object



19
20
21
# File 'lib/pr/define_and_register.rb', line 19

def register name, field
  @registry.register name, field
end