Class: CompositeCode
- Inherits:
-
Code
- Object
- Code
- CompositeCode
show all
- Defined in:
- lib/compositecode.rb
Instance Attribute Summary collapse
Attributes inherited from Code
#replace_values, #target_file_name, #template_file_name
Instance Method Summary
collapse
Methods inherited from Code
#generate_code, #replace_template
Constructor Details
Returns a new instance of CompositeCode.
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/compositecode.rb', line 10
def initialize(command)
@template_dir = command.template_dir
@classes = command.classes
@operations = command.operations
@target_dir = command.target_dir
@base_name = command.base_name
@template_files = Array.new
@template_replace_keys = Array.new
@codes = []
end
|
Instance Attribute Details
#codes ⇒ Object
Returns the value of attribute codes.
8
9
10
|
# File 'lib/compositecode.rb', line 8
def codes
@codes
end
|
Instance Method Details
#classes_to_codes ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/compositecode.rb', line 26
def classes_to_codes
@classes = @classes || @default_classes
default_replace_values = get_default_replace_values
operations = @operations[0]
operations_template = File.open(File.join(@template_dir,"operations")).readlines.join
x = 0
@classes.each do |template_classes|
template = @template_files[x] || template
key = @template_replace_keys[x] || key
operations = @operations[x] || operations
x+=1
template_classes.each do |class_name|
replace_values = default_replace_values.clone
replace_values["#{key}"] = class_name
replace_values["lc_#{key}"] = class_name.downcase
replace_values["operations"] = ""
operations.each do |operation|
replace_values["operations"] << operations_template.gsub("#operation#",operation) unless operation == " "
end
@codes << Code.new( template,
File.join(@target_dir,"#{class_name.downcase}#{File.extname(template)}"),
replace_values )
end
end
return @codes
end
|
#default(*classes_name) ⇒ Object
70
71
72
73
74
75
|
# File 'lib/compositecode.rb', line 70
def default(*classes_name)
@default_classes = []
classes_name.each do |class_name|
@default_classes << [class_name]
end
end
|
#execute ⇒ Object
76
77
78
79
80
|
# File 'lib/compositecode.rb', line 76
def execute
load_readme
classes_to_codes
@codes.each { |code| code.execute }
end
|
#get_default_replace_values ⇒ Object
56
57
58
59
60
61
62
63
64
|
# File 'lib/compositecode.rb', line 56
def get_default_replace_values
x = -1
default_replace_values = Hash.new
@template_replace_keys.each do |key|
default_replace_values["#{key}"] = @classes[x+=1][0]
default_replace_values["lc_#{key}"] = @classes[x][0].downcase
end
return default_replace_values
end
|
#load_readme ⇒ Object
22
23
24
|
# File 'lib/compositecode.rb', line 22
def load_readme
eval(File.read( File.join(@template_dir,"readme") ))
end
|
#template(template_name, replace_key) ⇒ Object
66
67
68
69
|
# File 'lib/compositecode.rb', line 66
def template(template_name,replace_key)
@template_files << File.join(@template_dir,template_name)
@template_replace_keys << replace_key
end
|