Module: Writer
- Defined in:
- lib/writer.rb,
lib/writer/logger.rb,
lib/writer/version.rb,
lib/writer/file_namer.rb,
lib/writer/file_creator.rb,
lib/writer/configuration.rb
Defined Under Namespace
Classes: Configuration, FileCreator, FileNamer, Logger
Constant Summary
collapse
- VERSION =
"0.4.0"
Class Method Summary
collapse
Class Method Details
.config ⇒ Object
33
34
35
|
# File 'lib/writer.rb', line 33
def config
@config ||= Configuration.new
end
|
29
30
31
|
# File 'lib/writer.rb', line 29
def configure
yield(config)
end
|
.file_creator ⇒ Object
21
22
23
|
# File 'lib/writer.rb', line 21
def file_creator
@file_creator ||= creator.new
end
|
.file_namer ⇒ Object
17
18
19
|
# File 'lib/writer.rb', line 17
def file_namer
@file_namer ||= namer.new
end
|
.logger ⇒ Object
25
26
27
|
# File 'lib/writer.rb', line 25
def logger
@logger ||= config.logger.new
end
|
.method_missing(method_name, *args) ⇒ Object
41
42
43
44
45
46
|
# File 'lib/writer.rb', line 41
def method_missing(method_name, *args)
attrs = config.attributes.keys
return super unless attrs.include?(method_name)
config.send(method_name, *args)
end
|
.set_default_config! ⇒ Object
37
38
39
|
# File 'lib/writer.rb', line 37
def set_default_config!
@config = Configuration.new
end
|
.write!(name = nil, content = nil) ⇒ Object
9
10
11
12
13
14
15
|
# File 'lib/writer.rb', line 9
def write!(name = nil, content = nil)
name = file_namer.name_for(name)
logger.info "Creating #{name}"
file_creator.create!(name, content)
end
|