scaffoldhub 0.0.12 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile.lock +3 -3
- data/lib/generators/scaffoldhub/scaffoldhub_generator.rb +4 -0
- data/lib/scaffoldhub/helper.rb +18 -1
- data/lib/scaffoldhub/scaffold_spec.rb +16 -0
- data/lib/scaffoldhub/specification.rb +4 -3
- data/lib/scaffoldhub.rb +1 -1
- data/spec/fixtures/test_scaffold.rb +2 -0
- data/spec/helper_spec.rb +7 -0
- data/spec/scaffold_spec_spec.rb +7 -0
- metadata +4 -4
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
scaffoldhub (0.0.
|
4
|
+
scaffoldhub (0.0.13)
|
5
5
|
rails
|
6
6
|
|
7
7
|
GEM
|
@@ -34,7 +34,7 @@ GEM
|
|
34
34
|
activemodel (= 3.0.7)
|
35
35
|
activesupport (= 3.0.7)
|
36
36
|
activesupport (3.0.7)
|
37
|
-
arel (2.0.
|
37
|
+
arel (2.0.10)
|
38
38
|
builder (2.1.2)
|
39
39
|
diff-lcs (1.1.2)
|
40
40
|
erubis (2.6.6)
|
@@ -48,7 +48,7 @@ GEM
|
|
48
48
|
mime-types (1.16)
|
49
49
|
mocha (0.9.12)
|
50
50
|
polyglot (0.3.1)
|
51
|
-
rack (1.2.
|
51
|
+
rack (1.2.3)
|
52
52
|
rack-mount (0.6.14)
|
53
53
|
rack (>= 1.0.0)
|
54
54
|
rack-test (0.5.7)
|
data/lib/scaffoldhub/helper.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
module Scaffoldhub
|
2
2
|
module Helper
|
3
3
|
|
4
|
+
class ScaffoldParameterMissing < RuntimeError
|
5
|
+
end
|
6
|
+
|
4
7
|
class << self
|
5
8
|
def scaffold_spec
|
6
9
|
@scaffold_spec
|
@@ -65,6 +68,10 @@ module Scaffoldhub
|
|
65
68
|
def download_scaffold_spec!
|
66
69
|
scaffold_spec = ScaffoldSpec.new(scaffold_name, options[:local], status_proc)
|
67
70
|
scaffold_spec.download_and_parse!
|
71
|
+
if scaffold_spec.parameter_example && scaffold_parameter.nil?
|
72
|
+
say_status :error, parameter_missing_message(scaffold_spec.parameter_example), :red
|
73
|
+
raise ScaffoldParameterMissing
|
74
|
+
end
|
68
75
|
scaffold_spec
|
69
76
|
end
|
70
77
|
|
@@ -77,7 +84,14 @@ module Scaffoldhub
|
|
77
84
|
end
|
78
85
|
|
79
86
|
def replace_name_tokens(dest)
|
80
|
-
dest.gsub(/PLURAL_NAME/, file_name.pluralize).gsub(/NAME/, file_name)
|
87
|
+
result = dest.gsub(/PLURAL_NAME/, file_name.pluralize).gsub(/NAME/, file_name)
|
88
|
+
result.gsub!(/SCAFFOLD_PARAMETER/, scaffold_parameter) unless scaffold_parameter.nil?
|
89
|
+
result
|
90
|
+
end
|
91
|
+
|
92
|
+
def post_install_message
|
93
|
+
message = scaffold_spec.post_install_message
|
94
|
+
replace_name_tokens(message) if message
|
81
95
|
end
|
82
96
|
|
83
97
|
def status_proc
|
@@ -90,5 +104,8 @@ module Scaffoldhub
|
|
90
104
|
options[:scaffold].split(':')[index]
|
91
105
|
end
|
92
106
|
|
107
|
+
def parameter_missing_message(example)
|
108
|
+
"Scaffold parameter missing; please specify the #{example} after the scaffold name like this: --scaffold #{scaffold_name}:#{example}"
|
109
|
+
end
|
93
110
|
end
|
94
111
|
end
|
@@ -81,6 +81,22 @@ module Scaffoldhub
|
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
|
+
def post_install_message
|
85
|
+
if @local
|
86
|
+
Specification.post_install_message
|
87
|
+
else
|
88
|
+
@spec[:post_install_message]
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
def parameter_example
|
93
|
+
if @local
|
94
|
+
Specification.parameter_example
|
95
|
+
else
|
96
|
+
@spec[:parameter_example]
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
84
100
|
def to_yaml
|
85
101
|
Specification.to_yaml if @local
|
86
102
|
end
|
@@ -39,8 +39,8 @@ end
|
|
39
39
|
module Scaffoldhub
|
40
40
|
class Specification
|
41
41
|
|
42
|
-
mattr_accessor :name, :description, :base_url, :blog_post, :screenshot, :parameter_example
|
43
|
-
define_dsl_attributes :name, :description, :base_url, :blog_post, :screenshot, :parameter_example
|
42
|
+
mattr_accessor :name, :description, :base_url, :blog_post, :screenshot, :parameter_example, :post_install_message
|
43
|
+
define_dsl_attributes :name, :description, :base_url, :blog_post, :screenshot, :parameter_example, :post_install_message
|
44
44
|
|
45
45
|
mattr_accessor :files, :errors, :tags, :gems
|
46
46
|
@@files = []
|
@@ -70,7 +70,8 @@ module Scaffoldhub
|
|
70
70
|
:files => files,
|
71
71
|
:screenshot => screenshot,
|
72
72
|
:tags => tags,
|
73
|
-
:parameter_example => parameter_example
|
73
|
+
:parameter_example => parameter_example,
|
74
|
+
:post_install_message => post_install_message
|
74
75
|
}.to_yaml
|
75
76
|
end
|
76
77
|
|
data/lib/scaffoldhub.rb
CHANGED
data/spec/helper_spec.rb
CHANGED
@@ -33,6 +33,7 @@ describe Scaffoldhub::Helper do
|
|
33
33
|
mock_spec = mock
|
34
34
|
Scaffoldhub::ScaffoldSpec.stubs(:new).with('some_scaffold', true, status_proc).returns(mock_spec)
|
35
35
|
mock_spec.stubs(:download_and_parse!)
|
36
|
+
mock_spec.stubs(:parameter_example)
|
36
37
|
mock_template_file_array = [
|
37
38
|
Scaffoldhub::TemplateFile.new('src1', 'dest1', nil, true, '/some/path', status_proc),
|
38
39
|
Scaffoldhub::TemplateFile.new('src2', 'dest2', nil, true, '/some/path', status_proc),
|
@@ -69,6 +70,7 @@ describe Scaffoldhub::Helper do
|
|
69
70
|
mock_spec = mock
|
70
71
|
Scaffoldhub::ScaffoldSpec.stubs(:new).with('some_scaffold', false, status_proc).returns(mock_spec)
|
71
72
|
mock_spec.stubs(:download_and_parse!)
|
73
|
+
mock_spec.stubs(:parameter_example)
|
72
74
|
template1 = Scaffoldhub::TemplateFile.new('src1', 'dest1', nil, false, 'http://some.server/some/path', status_proc)
|
73
75
|
template1.expects(:download!).returns(template1)
|
74
76
|
template1.stubs(:src).returns('src1')
|
@@ -98,6 +100,7 @@ describe Scaffoldhub::Helper do
|
|
98
100
|
Scaffoldhub::Helper.scaffold_spec = nil
|
99
101
|
@mock_spec = mock
|
100
102
|
@mock_spec.stubs(:download_and_parse!)
|
103
|
+
@mock_spec.stubs(:parameter_example)
|
101
104
|
status_proc = mock
|
102
105
|
Scaffoldhub::ScaffoldSpec.expects(:new).once.with('some_scaffold', false, status_proc).returns(@mock_spec)
|
103
106
|
@gen = FakeGenerator.new(false)
|
@@ -140,6 +143,7 @@ describe Scaffoldhub::Helper do
|
|
140
143
|
describe '#replace_name_tokens' do
|
141
144
|
subject { FakeGenerator.new(false) }
|
142
145
|
before do
|
146
|
+
subject.expects(:scaffold_parameter).twice.returns('some_field')
|
143
147
|
subject.expects(:file_name).returns('person')
|
144
148
|
subject.expects(:file_name).returns(name = mock)
|
145
149
|
name.stubs(:pluralize).returns('people')
|
@@ -150,5 +154,8 @@ describe Scaffoldhub::Helper do
|
|
150
154
|
it 'should replace the PLURAL_NAME token' do
|
151
155
|
subject.replace_name_tokens('PLURAL_NAME.html.erb').should == 'people.html.erb'
|
152
156
|
end
|
157
|
+
it 'should replace the SCAFFOLD_PARAMETER token' do
|
158
|
+
subject.replace_name_tokens('blah blah SCAFFOLD_PARAMETER blah blah blah').should == 'blah blah some_field blah blah blah'
|
159
|
+
end
|
153
160
|
end
|
154
161
|
end
|
data/spec/scaffold_spec_spec.rb
CHANGED
@@ -37,6 +37,10 @@ describe Scaffoldhub::ScaffoldSpec do
|
|
37
37
|
subject.blog_post.should == 'http://patshaughnessy.net/2011/3/13/view-mapper-for-rails-3-scaffoldhub'
|
38
38
|
end
|
39
39
|
|
40
|
+
it 'should parse the post install message' do
|
41
|
+
subject.post_install_message.should == 'Please do this, this and that.'
|
42
|
+
end
|
43
|
+
|
40
44
|
it 'should parse all of the gems' do
|
41
45
|
subject.gems.should == [
|
42
46
|
[ 'some_gem', '1.0' ],
|
@@ -105,6 +109,7 @@ describe Scaffoldhub::ScaffoldSpec do
|
|
105
109
|
TEST_YAML = <<YAML
|
106
110
|
---
|
107
111
|
:base_url: http://github.com/patshaughnessy/scaffolds/default
|
112
|
+
:post_install_message: Please do this, that and the other thing.
|
108
113
|
:files:
|
109
114
|
- :src: templates/index3.html.erb
|
110
115
|
:dest:
|
@@ -143,6 +148,7 @@ YAML
|
|
143
148
|
{ :type => 'file', :src => 'templates/index.html.erb', :dest => 'app/views/welcome', :rename => nil }
|
144
149
|
]
|
145
150
|
subject.base_url.should == 'http://github.com/patshaughnessy/scaffolds/default'
|
151
|
+
subject.post_install_message.should == 'Please do this, that and the other thing.'
|
146
152
|
subject.gems.should == [
|
147
153
|
[ 'some_gem', '1.0' ],
|
148
154
|
[ 'some_other_gem', { :group => :test, :git => 'git://github.com/rails/rails' } ]
|
@@ -164,6 +170,7 @@ YAML
|
|
164
170
|
yaml = subject.to_yaml
|
165
171
|
parsed_yaml = YAML::load(yaml)
|
166
172
|
parsed_yaml[:base_url].should == 'https://github.com/your_name/your_repo/raw/master'
|
173
|
+
parsed_yaml[:post_install_message].should == 'Please do this, this and that.'
|
167
174
|
parsed_yaml[:blog_post].should == 'http://patshaughnessy.net/2011/3/13/view-mapper-for-rails-3-scaffoldhub'
|
168
175
|
parsed_yaml[:name].should == 'test_scaffold'
|
169
176
|
parsed_yaml[:description].should == 'The test_scaffold scaffold.'
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scaffoldhub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 5
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 13
|
10
|
+
version: 0.0.13
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Pat Shaughnessy
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-05-
|
18
|
+
date: 2011-05-27 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|