Class: Tamashii::Config::Attribute
- Inherits:
-
Object
- Object
- Tamashii::Config::Attribute
- Defined in:
- lib/tamashii/config/attribute.rb
Overview
Config::Attribute
Defined Under Namespace
Classes: Reference, TypeMismatchError, Value
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
- #build(value = nil) ⇒ Object
- #default ⇒ Object
-
#initialize(name, options = {}) ⇒ Attribute
constructor
A new instance of Attribute.
Constructor Details
#initialize(name, options = {}) ⇒ Attribute
Returns a new instance of Attribute.
37 38 39 40 41 42 43 44 |
# File 'lib/tamashii/config/attribute.rb', line 37 def initialize(name, = {}) @name = name.to_sym @type = nil @type = [:as] if [:as].is_a?(Class) @default = [:default] @to = [:to] @ref = Reference.new(@to, @name) unless @to.nil? end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
35 36 37 |
# File 'lib/tamashii/config/attribute.rb', line 35 def name @name end |
Instance Method Details
#build(value = nil) ⇒ Object
46 47 48 49 50 |
# File 'lib/tamashii/config/attribute.rb', line 46 def build(value = nil) return @ref unless @to.nil? validate_type_of(value) Value.new(self, value) end |
#default ⇒ Object
52 53 54 55 |
# File 'lib/tamashii/config/attribute.rb', line 52 def default return @default if @to.nil? @ref.value end |