Class: EasyHtmlGenerator::Generator::Base
- Inherits:
-
Object
- Object
- EasyHtmlGenerator::Generator::Base
show all
- Defined in:
- lib/easy_html_generator/generator/base.rb
Overview
this is the generator base class
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(project, config) ⇒ Base
Returns a new instance of Base.
8
9
10
11
|
# File 'lib/easy_html_generator/generator/base.rb', line 8
def initialize(project, config)
@project = project
@config = config
end
|
Instance Attribute Details
#config ⇒ Object
Returns the value of attribute config.
6
7
8
|
# File 'lib/easy_html_generator/generator/base.rb', line 6
def config
@config
end
|
Instance Method Details
#enabled? ⇒ Boolean
13
14
15
|
# File 'lib/easy_html_generator/generator/base.rb', line 13
def enabled?
!!@config[:enabled]
end
|
#file_changed?(file) ⇒ Boolean
#generate ⇒ Object
17
18
19
20
21
22
23
24
25
|
# File 'lib/easy_html_generator/generator/base.rb', line 17
def generate
return unless enabled?
log_running
tasks.each do |task|
generate! @config.merge(task)
end
end
|
#generate!(_config) ⇒ Object
27
28
29
|
# File 'lib/easy_html_generator/generator/base.rb', line 27
def generate!(_config)
fail NotImplementedError.new "#{self.class.name} is an abstract class."
end
|
#log(msg) ⇒ Object
45
46
47
48
|
# File 'lib/easy_html_generator/generator/base.rb', line 45
def log(msg)
STDERR.puts " | #{msg.sub(@project.src_path, '')
.sub('EasyHtmlGenerator::', '')}"
end
|
#log_running ⇒ Object
41
42
43
|
# File 'lib/easy_html_generator/generator/base.rb', line 41
def log_running
log "#{self.class.name.yellow}"
end
|
#repetitive? ⇒ Boolean
31
32
33
|
# File 'lib/easy_html_generator/generator/base.rb', line 31
def repetitive?
@config.key? :repetitive
end
|
#store_file_hash(file) ⇒ Object
#tasks ⇒ Object
35
36
37
38
39
|
# File 'lib/easy_html_generator/generator/base.rb', line 35
def tasks
return [@config] unless repetitive?
@config[:repetitive]
end
|