Class: KeyValueName::FolderBuilder
- Inherits:
-
KeyValueBuilder
- Object
- KeyValueBuilder
- KeyValueName::FolderBuilder
- Includes:
- ContainerBuilder
- Defined in:
- lib/key_value_name/builders/folder_builder.rb
Overview
Build a folder KeyValueName.
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
- #build ⇒ Object
- #class_name ⇒ Object
-
#initialize(name, class_name: nil, &block) ⇒ FolderBuilder
constructor
A new instance of FolderBuilder.
Methods included from ContainerBuilder
#extend_with_builders, #file, #folder
Methods inherited from KeyValueBuilder
#include_keys, #key, #singular?
Constructor Details
#initialize(name, class_name: nil, &block) ⇒ FolderBuilder
Returns a new instance of FolderBuilder.
10 11 12 13 14 15 16 |
# File 'lib/key_value_name/builders/folder_builder.rb', line 10 def initialize(name, class_name: nil, &block) KeyValueName.check_symbol(name) @name = name @class_name = class_name @builders = [] super(&block) end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
18 19 20 |
# File 'lib/key_value_name/builders/folder_builder.rb', line 18 def name @name end |
Instance Method Details
#build ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/key_value_name/builders/folder_builder.rb', line 24 def build klass = super klass.class_eval do include FolderName::InstanceMethods class <<self include FolderName::ClassMethods end end klass.key_value_name_spec = make_spec extend_with_builders(klass) end |
#class_name ⇒ Object
20 21 22 |
# File 'lib/key_value_name/builders/folder_builder.rb', line 20 def class_name @class_name || KeyValueName.camelize(name) end |