Class: Scaffoldhub::ScaffoldSpec
Instance Method Summary
collapse
Methods inherited from RemoteFile
#exists?, #http_request, #remote_file_contents!
Constructor Details
#initialize(scaffold, local, status_proc) ⇒ ScaffoldSpec
Returns a new instance of ScaffoldSpec.
4
5
6
7
8
9
|
# File 'lib/scaffoldhub/scaffold_spec.rb', line 4
def initialize(scaffold, local, status_proc)
@scaffold = scaffold
@local = local
@status_proc = status_proc
super(url, @status_proc)
end
|
Instance Method Details
#base_url ⇒ Object
60
61
62
63
64
65
66
|
# File 'lib/scaffoldhub/scaffold_spec.rb', line 60
def base_url
if @local
File.dirname(File.expand_path(@scaffold))
else
@spec[:base_url]
end
end
|
#blog_post ⇒ Object
68
69
70
71
72
73
74
|
# File 'lib/scaffoldhub/scaffold_spec.rb', line 68
def blog_post
if @local
Specification.blog_post
else
@spec[:blog_post]
end
end
|
#download_and_parse! ⇒ Object
11
12
13
14
15
16
17
|
# File 'lib/scaffoldhub/scaffold_spec.rb', line 11
def download_and_parse!
if @local
parse_local
else
parse_remote!
end
end
|
#find_file(type) ⇒ Object
25
26
27
28
29
30
|
# File 'lib/scaffoldhub/scaffold_spec.rb', line 25
def find_file(type)
file_spec = template_file_specs.detect { |file_spec| file_spec[:type].to_sym == type }
unless file_spec.nil?
TemplateFile.new file_spec[:src], file_spec[:dest], file_spec[:rename], @local, base_url, @status_proc
end
end
|
#gems ⇒ Object
76
77
78
79
80
81
82
|
# File 'lib/scaffoldhub/scaffold_spec.rb', line 76
def gems
if @local
Specification.gems
else
YAML::load(@spec[:gems])
end
end
|
#parameter_example ⇒ Object
92
93
94
95
96
97
98
|
# File 'lib/scaffoldhub/scaffold_spec.rb', line 92
def parameter_example
if @local
Specification.parameter_example
else
@spec[:parameter_example]
end
end
|
#parse_local ⇒ Object
32
33
34
35
36
37
38
|
# File 'lib/scaffoldhub/scaffold_spec.rb', line 32
def parse_local
if File.exists?(@scaffold)
eval(File.read(@scaffold))
else
raise Errno::ENOENT.new(@scaffold)
end
end
|
#parse_remote! ⇒ Object
40
41
42
|
# File 'lib/scaffoldhub/scaffold_spec.rb', line 40
def parse_remote!
@spec = YAML::load(remote_file_contents!)
end
|
#post_install_message ⇒ Object
84
85
86
87
88
89
90
|
# File 'lib/scaffoldhub/scaffold_spec.rb', line 84
def post_install_message
if @local
Specification.post_install_message
else
@spec[:post_install_message]
end
end
|
#select_files(type) ⇒ Object
19
20
21
22
23
|
# File 'lib/scaffoldhub/scaffold_spec.rb', line 19
def select_files(type)
template_file_specs.select { |file_spec| file_spec[:type].to_sym == type }.collect do |file_spec|
TemplateFile.new file_spec[:src], file_spec[:dest], file_spec[:rename], @local, base_url, @status_proc
end
end
|
#template_file_specs ⇒ Object
44
45
46
47
48
49
50
|
# File 'lib/scaffoldhub/scaffold_spec.rb', line 44
def template_file_specs
if @local
Specification.files
else
@spec[:files]
end
end
|
#to_yaml ⇒ Object
100
101
102
|
# File 'lib/scaffoldhub/scaffold_spec.rb', line 100
def to_yaml
Specification.to_yaml if @local
end
|
#url ⇒ Object
52
53
54
55
56
57
58
|
# File 'lib/scaffoldhub/scaffold_spec.rb', line 52
def url
if @local
@scaffold
else
"http://#{SCAFFOLD_HUB_SERVER}/scaffolds/#{@scaffold}/spec"
end
end
|