Class: Traver::Factory

Inherits:
Object
  • Object
show all
Defined in:
lib/traver/factory.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, params, parent_factory) ⇒ Factory

Returns a new instance of Factory.



5
6
7
8
9
# File 'lib/traver/factory.rb', line 5

def initialize(name, params, parent_factory)
  @name   = name
  @params = params
  @parent_factory = parent_factory
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



3
4
5
# File 'lib/traver/factory.rb', line 3

def name
  @name
end

#paramsObject (readonly)

Returns the value of attribute params.



3
4
5
# File 'lib/traver/factory.rb', line 3

def params
  @params
end

#parent_factoryObject (readonly)

Returns the value of attribute parent_factory.



3
4
5
# File 'lib/traver/factory.rb', line 3

def parent_factory
  @parent_factory
end

Instance Method Details

#inherited_paramsObject



23
24
25
26
27
28
29
# File 'lib/traver/factory.rb', line 23

def inherited_params
  if parent_factory
    parent_factory.inherited_params.merge(params)
  else
    params
  end
end

#object_classObject



35
36
37
# File 'lib/traver/factory.rb', line 35

def object_class
  Object.const_get(object_class_name)
end

#object_class_nameObject



31
32
33
# File 'lib/traver/factory.rb', line 31

def object_class_name
  root_factory.name.to_s.camelize
end

#root_factoryObject



11
12
13
14
15
16
17
# File 'lib/traver/factory.rb', line 11

def root_factory
  if parent_factory
    parent_factory.root_factory
  else
    self
  end
end

#root_nameObject



19
20
21
# File 'lib/traver/factory.rb', line 19

def root_name
  root_factory.name
end