scaffoldhub 0.0.7 → 0.0.8

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 CHANGED
@@ -1,39 +1,39 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- scaffoldhub (0.0.7)
4
+ scaffoldhub (0.0.8)
5
5
  rails
6
6
 
7
7
  GEM
8
8
  remote: http://rubygems.org/
9
9
  specs:
10
10
  abstract (1.0.0)
11
- actionmailer (3.0.5)
12
- actionpack (= 3.0.5)
11
+ actionmailer (3.0.7)
12
+ actionpack (= 3.0.7)
13
13
  mail (~> 2.2.15)
14
- actionpack (3.0.5)
15
- activemodel (= 3.0.5)
16
- activesupport (= 3.0.5)
14
+ actionpack (3.0.7)
15
+ activemodel (= 3.0.7)
16
+ activesupport (= 3.0.7)
17
17
  builder (~> 2.1.2)
18
18
  erubis (~> 2.6.6)
19
- i18n (~> 0.4)
19
+ i18n (~> 0.5.0)
20
20
  rack (~> 1.2.1)
21
- rack-mount (~> 0.6.13)
21
+ rack-mount (~> 0.6.14)
22
22
  rack-test (~> 0.5.7)
23
23
  tzinfo (~> 0.3.23)
24
- activemodel (3.0.5)
25
- activesupport (= 3.0.5)
24
+ activemodel (3.0.7)
25
+ activesupport (= 3.0.7)
26
26
  builder (~> 2.1.2)
27
- i18n (~> 0.4)
28
- activerecord (3.0.5)
29
- activemodel (= 3.0.5)
30
- activesupport (= 3.0.5)
27
+ i18n (~> 0.5.0)
28
+ activerecord (3.0.7)
29
+ activemodel (= 3.0.7)
30
+ activesupport (= 3.0.7)
31
31
  arel (~> 2.0.2)
32
32
  tzinfo (~> 0.3.23)
33
- activeresource (3.0.5)
34
- activemodel (= 3.0.5)
35
- activesupport (= 3.0.5)
36
- activesupport (3.0.5)
33
+ activeresource (3.0.7)
34
+ activemodel (= 3.0.7)
35
+ activesupport (= 3.0.7)
36
+ activesupport (3.0.7)
37
37
  arel (2.0.9)
38
38
  builder (2.1.2)
39
39
  diff-lcs (1.1.2)
@@ -53,17 +53,17 @@ GEM
53
53
  rack (>= 1.0.0)
54
54
  rack-test (0.5.7)
55
55
  rack (>= 1.0)
56
- rails (3.0.5)
57
- actionmailer (= 3.0.5)
58
- actionpack (= 3.0.5)
59
- activerecord (= 3.0.5)
60
- activeresource (= 3.0.5)
61
- activesupport (= 3.0.5)
56
+ rails (3.0.7)
57
+ actionmailer (= 3.0.7)
58
+ actionpack (= 3.0.7)
59
+ activerecord (= 3.0.7)
60
+ activeresource (= 3.0.7)
61
+ activesupport (= 3.0.7)
62
62
  bundler (~> 1.0)
63
- railties (= 3.0.5)
64
- railties (3.0.5)
65
- actionpack (= 3.0.5)
66
- activesupport (= 3.0.5)
63
+ railties (= 3.0.7)
64
+ railties (3.0.7)
65
+ actionpack (= 3.0.7)
66
+ activesupport (= 3.0.7)
67
67
  rake (>= 0.8.7)
68
68
  thor (~> 0.14.4)
69
69
  rake (0.8.7)
@@ -10,22 +10,8 @@ module Erb
10
10
 
11
11
  def copy_view_files
12
12
  each_template_file(:view) do |erb_template_file|
13
- if is_layout_erb?(erb_template_file)
14
- copy_layout_file(erb_template_file)
15
- else
16
- template erb_template_file.src, File.join("app/views", controller_file_path, erb_template_file.dest)
17
- end
13
+ template erb_template_file.src, File.join("app/views", controller_file_path, erb_template_file.dest)
18
14
  end
19
15
  end
20
-
21
- private
22
-
23
- def copy_layout_file(layout_template)
24
- template layout_template.src, File.join('app/views/layouts', "#{controller_file_name}.html.erb")
25
- end
26
-
27
- def is_layout_erb?(template_file)
28
- template_file.dest == 'app/views/layouts/layout.erb'
29
- end
30
16
  end
31
17
  end
@@ -15,10 +15,10 @@ class ScaffoldhubGenerator < Rails::Generators::ScaffoldGenerator
15
15
 
16
16
  def download_and_copy_other_files
17
17
  each_template_file(:template) do |template_file|
18
- template template_file.src, template_file.dest
18
+ template template_file.src, replace_name_tokens(template_file.dest)
19
19
  end
20
20
  each_template_file(:file) do |template_file|
21
- copy_file template_file.src, template_file.dest
21
+ copy_file template_file.src, replace_name_tokens(template_file.dest)
22
22
  end
23
23
  end
24
24
  end
data/lib/scaffoldhub.rb CHANGED
@@ -6,6 +6,6 @@ require 'scaffoldhub/helper'
6
6
  require 'scaffoldhub/runner'
7
7
 
8
8
  module Scaffoldhub
9
- VERSION = '0.0.7'
9
+ VERSION = '0.0.8'
10
10
  SCAFFOLD_HUB_SERVER = 'scaffoldhub.org'
11
11
  end
@@ -59,6 +59,10 @@ module Scaffoldhub
59
59
  parse_scaffold_option(1)
60
60
  end
61
61
 
62
+ def replace_name_tokens(dest)
63
+ dest.gsub(/PLURAL_NAME/, file_name.pluralize).gsub(/NAME/, file_name)
64
+ end
65
+
62
66
  def status_proc
63
67
  @status_proc ||= lambda { |url| say_status :download, url }
64
68
  end
@@ -18,14 +18,14 @@ module Scaffoldhub
18
18
 
19
19
  def select_files(type)
20
20
  template_file_specs.select { |file_spec| file_spec[:type].to_sym == type }.collect do |file_spec|
21
- TemplateFile.new file_spec[:src], file_spec[:dest], @local, base_url, @status_proc
21
+ TemplateFile.new file_spec[:src], file_spec[:dest], file_spec[:rename], @local, base_url, @status_proc
22
22
  end
23
23
  end
24
24
 
25
25
  def find_file(type)
26
26
  file_spec = template_file_specs.detect { |file_spec| file_spec[:type].to_sym == type }
27
27
  unless file_spec.nil?
28
- TemplateFile.new file_spec[:src], file_spec[:dest], @local, base_url, @status_proc
28
+ TemplateFile.new file_spec[:src], file_spec[:dest], file_spec[:rename], @local, base_url, @status_proc
29
29
  end
30
30
  end
31
31
 
@@ -51,8 +51,8 @@ module Scaffoldhub
51
51
 
52
52
  class << self
53
53
 
54
- def add_file(src, dest, type)
55
- @@files << { :type => type, :src => src, :dest => dest }
54
+ def add_file(src, dest, rename, type)
55
+ @@files << { :type => type, :src => src, :rename => rename, :dest => dest }
56
56
  end
57
57
 
58
58
  def add_tag(keyword)
@@ -141,6 +141,7 @@ module Scaffoldhub
141
141
  self.class.add_file(
142
142
  join_with_parent(@context_options[:src], src),
143
143
  join_with_parent(@context_options[:dest], options[:dest]),
144
+ options[:rename],
144
145
  type
145
146
  )
146
147
  end
@@ -1,9 +1,10 @@
1
1
  module Scaffoldhub
2
2
  class TemplateFile < RemoteFile
3
3
 
4
- def initialize(src, dest, local, base_url, status_proc)
4
+ def initialize(src, dest, rename, local, base_url, status_proc)
5
5
  @src = src
6
6
  @dest = dest || ''
7
+ @rename = rename
7
8
  @local = local
8
9
  @base_url = base_url
9
10
  super(url, status_proc)
@@ -18,7 +19,11 @@ module Scaffoldhub
18
19
  end
19
20
 
20
21
  def dest
21
- File.join(@dest, File.basename(@src))
22
+ if @rename
23
+ File.join(@dest, @rename)
24
+ else
25
+ File.join(@dest, File.basename(@src))
26
+ end
22
27
  end
23
28
 
24
29
  def download!
@@ -39,7 +39,7 @@ Scaffoldhub::Specification.new do
39
39
  view 'templates/_form.html.erb'
40
40
 
41
41
  # Define a view layout template - this ERB file will be used to generate a new
42
- # view layout file with this path & filename: app/views/layouts/PLURAL_NAME.rb
42
+ # view layout file with this path & filename: app/views/layouts/PLURAL_NAME.html.erb
43
43
  layout 'templates/layout.erb'
44
44
 
45
45
  # You can use "with_options" to specify the same source folder for a series of templates:
@@ -48,6 +48,7 @@ Scaffoldhub::Specification.new do
48
48
  view 'edit.html.erb'
49
49
  view 'index.html.erb'
50
50
  view 'show.html.erb'
51
+ view 'partial.erb', :rename => '_NAME.html.erb'
51
52
  end
52
53
 
53
54
  # Specify some other code file that should be generated from an ERB template; use
@@ -58,10 +59,11 @@ Scaffoldhub::Specification.new do
58
59
  # the :dest option is required to indicate where the generated file should go
59
60
  file 'templates/jquery/jquery-1.4.4.min.js', :dest => 'public/javascripts'
60
61
 
61
- # You can use with_options recursively - both the :src and :dest options values
62
- # will be constructed relative to the parent with_option values.
63
62
  with_options :src => 'templates/jquery', :dest => 'public/javascripts' do
64
63
  file 'jquery-ui-1.8.10.custom.min.js'
64
+
65
+ # You can use with_options recursively - both the :src and :dest options values
66
+ # will be constructed relative to the parent with_option values.
65
67
  with_options :src => 'ui-lightness', :dest => 'ui-lightness' do
66
68
  file 'jquery-ui-1.8.10.custom.css'
67
69
  with_options :src => 'images', :dest => 'images' do
data/spec/helper_spec.rb CHANGED
@@ -34,9 +34,9 @@ describe Scaffoldhub::Helper do
34
34
  Scaffoldhub::ScaffoldSpec.stubs(:new).with('some_scaffold', true, status_proc).returns(mock_spec)
35
35
  mock_spec.stubs(:download_and_parse!)
36
36
  mock_template_file_array = [
37
- Scaffoldhub::TemplateFile.new('src1', 'dest1', true, '/some/path', status_proc),
38
- Scaffoldhub::TemplateFile.new('src2', 'dest2', true, '/some/path', status_proc),
39
- Scaffoldhub::TemplateFile.new('src3', 'dest3', true, '/some/path', status_proc)
37
+ Scaffoldhub::TemplateFile.new('src1', 'dest1', nil, true, '/some/path', status_proc),
38
+ Scaffoldhub::TemplateFile.new('src2', 'dest2', nil, true, '/some/path', status_proc),
39
+ Scaffoldhub::TemplateFile.new('src3', 'dest3', nil, true, '/some/path', status_proc)
40
40
  ]
41
41
  mock_spec.stubs(:select_files).with(:sometype).returns(mock_template_file_array)
42
42
  @gen = FakeGenerator.new(true)
@@ -69,13 +69,13 @@ describe Scaffoldhub::Helper do
69
69
  mock_spec = mock
70
70
  Scaffoldhub::ScaffoldSpec.stubs(:new).with('some_scaffold', false, status_proc).returns(mock_spec)
71
71
  mock_spec.stubs(:download_and_parse!)
72
- template1 = Scaffoldhub::TemplateFile.new('src1', 'dest1', false, 'http://some.server/some/path', status_proc)
72
+ template1 = Scaffoldhub::TemplateFile.new('src1', 'dest1', nil, false, 'http://some.server/some/path', status_proc)
73
73
  template1.expects(:download!).returns(template1)
74
74
  template1.stubs(:src).returns('src1')
75
- template2 = Scaffoldhub::TemplateFile.new('src2', 'dest2', false, 'http://some.server/some/path', status_proc)
75
+ template2 = Scaffoldhub::TemplateFile.new('src2', 'dest2', nil, false, 'http://some.server/some/path', status_proc)
76
76
  template2.expects(:download!).returns(template2)
77
77
  template2.stubs(:src).returns('src2')
78
- template3 = Scaffoldhub::TemplateFile.new('src3', 'dest3', false, 'http://some.server/some/path', status_proc)
78
+ template3 = Scaffoldhub::TemplateFile.new('src3', 'dest3', nil, false, 'http://some.server/some/path', status_proc)
79
79
  template3.expects(:download!).returns(template3)
80
80
  template3.stubs(:src).returns('src3')
81
81
  mock_template_file_array = [ template1, template2, template3 ]
@@ -58,6 +58,12 @@ describe Scaffoldhub::ScaffoldSpec do
58
58
  find_spec(subject, :view, 'templates/show.html.erb').should_not be_nil
59
59
  end
60
60
 
61
+ it 'should parse the :rename option' do
62
+ partial_spec = find_spec(subject, :view, 'templates/partial.erb')
63
+ partial_spec.should_not be_nil
64
+ partial_spec[:rename].should == '_NAME.html.erb'
65
+ end
66
+
61
67
  it 'should parse a vanilla template file with a dest attribute' do
62
68
  template_spec = find_spec(subject, :template, 'templates/other_code_file.erb')
63
69
  template_spec.should_not be_nil
@@ -153,6 +159,9 @@ YAML
153
159
  model_spec.should_not be_nil
154
160
  some_file_spec = find_spec_in_array(parsed_yaml[:files], :file, 'templates/jquery/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png')
155
161
  some_file_spec.should_not be_nil
162
+ partial_view_spec = find_spec_in_array(parsed_yaml[:files], :view, 'templates/partial.erb')
163
+ partial_view_spec.should_not be_nil
164
+ partial_view_spec[:rename].should == '_NAME.html.erb'
156
165
  end
157
166
 
158
167
  describe '#adjusted_base_url' do
@@ -221,7 +230,7 @@ YAML
221
230
  end
222
231
 
223
232
  it 'should find the file with the given type and src' do
224
- Scaffoldhub::TemplateFile.expects(:new).with('some_src', 'some_dest', true, 'base', @status_proc).returns(mock1 = mock)
233
+ Scaffoldhub::TemplateFile.expects(:new).with('some_src', 'some_dest', nil, true, 'base', @status_proc).returns(mock1 = mock)
225
234
  subject.find_file(:type1).should == mock1
226
235
  end
227
236
 
@@ -10,18 +10,27 @@ describe Scaffoldhub::TemplateFile do
10
10
 
11
11
  describe 'local template file' do
12
12
 
13
- subject { Scaffoldhub::TemplateFile.new('templates/index.html', 'public', true, File.expand_path(File.dirname(__FILE__)), @status_proc) }
13
+ subject { Scaffoldhub::TemplateFile.new('templates/index.html', 'public', nil, true, File.expand_path(File.dirname(__FILE__)), @status_proc) }
14
14
 
15
15
  its(:src) { should == File.expand_path(File.join(File.dirname(__FILE__), 'templates', 'index.html')) }
16
16
  its(:url) { should == File.expand_path(File.join(File.dirname(__FILE__), 'templates', 'index.html')) }
17
17
  its(:dest) { should == File.join('public', 'index.html') }
18
18
  end
19
19
 
20
+ describe 'local template file with rename option' do
21
+
22
+ subject { Scaffoldhub::TemplateFile.new('templates/index.html', 'public', 'other_file_name.html', true, File.expand_path(File.dirname(__FILE__)), @status_proc) }
23
+
24
+ its(:src) { should == File.expand_path(File.join(File.dirname(__FILE__), 'templates', 'index.html')) }
25
+ its(:url) { should == File.expand_path(File.join(File.dirname(__FILE__), 'templates', 'index.html')) }
26
+ its(:dest) { should == File.join('public', 'other_file_name.html') }
27
+ end
28
+
20
29
  describe 'remote template file' do
21
30
 
22
31
  FAKE_TEMPLATE_FILE_URL = 'http://github.com/patshaughnessy/scaffolds/default'
23
32
 
24
- subject { Scaffoldhub::TemplateFile.new('templates/index.html', 'public', false, FAKE_TEMPLATE_FILE_URL, @status_proc) }
33
+ subject { Scaffoldhub::TemplateFile.new('templates/index.html', 'public', nil, false, FAKE_TEMPLATE_FILE_URL, @status_proc) }
25
34
 
26
35
  its(:url) { should == FAKE_TEMPLATE_FILE_URL + '/templates/index.html' }
27
36
  its(:dest) { should == File.join('public', 'index.html') }
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: 17
4
+ hash: 15
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 7
10
- version: 0.0.7
9
+ - 8
10
+ version: 0.0.8
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-04-30 00:00:00 -04:00
18
+ date: 2011-05-08 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency