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 
         |