Class: KeyValueName::FileBuilder
Overview
Build a file KeyValueName.
Instance Method Summary
collapse
#include_keys, #key, #singular?
Constructor Details
#initialize(name, *extension, class_name: nil, &block) ⇒ FileBuilder
8
9
10
11
12
13
14
|
# File 'lib/key_value_name/builders/file_builder.rb', line 8
def initialize(name, *extension, class_name: nil, &block)
KeyValueName.check_symbol(name) if name
@name = name
@extension = extension
@class_name = class_name
super(&block)
end
|
Instance Method Details
#build ⇒ Object
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/key_value_name/builders/file_builder.rb', line 29
def build
klass = super
klass.class_eval do
include FileName::InstanceMethods
class <<self
include FileName::ClassMethods
end
end
klass.key_value_name_spec = make_spec
klass
end
|
#class_name ⇒ Object
25
26
27
|
# File 'lib/key_value_name/builders/file_builder.rb', line 25
def class_name
@class_name || default_class_name
end
|
#extension(extension) ⇒ Object
16
17
18
19
|
# File 'lib/key_value_name/builders/file_builder.rb', line 16
def extension(extension)
raise 'extension already set' if @extension.any?
@extension = Array(extension)
end
|
#name ⇒ Object
21
22
23
|
# File 'lib/key_value_name/builders/file_builder.rb', line 21
def name
name_parts.join('_').to_sym
end
|