lazy-head-gen 0.1.0

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.
@@ -0,0 +1,7 @@
1
+ # Helper methods defined here can be accessed in any controller or view in the application
2
+
3
+ <%= @app_name if @app_name %>.helpers do
4
+ # def simple_helper_method
5
+ # ...
6
+ # end
7
+ end
@@ -0,0 +1,9 @@
1
+ class <%= @model if @model %> < ActiveRecord::Base
2
+
3
+ # Model properties
4
+ #
5
+ <% @properties.each do |property| -%>
6
+ # <%= property %>
7
+ <% end -%>
8
+
9
+ end
@@ -0,0 +1,15 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_config.rb')
2
+
3
+ describe "<%= @model if @model %> Model" do
4
+
5
+ describe "constructor" do
6
+ before do
7
+ @<%= @singular %> = <%= @model %>.new
8
+ end
9
+
10
+ it "can construct a new instance" do
11
+ refute_nil @<%= @singular %>
12
+ end
13
+ end
14
+
15
+ end
@@ -0,0 +1 @@
1
+ <p>This is the <%= @view if @view %> page</p>
@@ -0,0 +1,92 @@
1
+ ENV['PADRINO_ENV'] = 'test'
2
+ PADRINO_ROOT = File.dirname(__FILE__) unless defined? PADRINO_ROOT
3
+
4
+ require File.expand_path('../load_paths', __FILE__)
5
+ require 'minitest/autorun'
6
+ require 'rack/test'
7
+ require 'rack'
8
+ require 'uuid'
9
+ require 'thor/group'
10
+ require 'padrino-core/support_lite' unless defined?(SupportLite)
11
+ require 'padrino-admin'
12
+ require File.dirname(__FILE__) + '/../lib/lazy-head-gen.rb'
13
+
14
+ require 'ruby-debug'
15
+
16
+ Padrino::Generators.load_components!
17
+
18
+ module Kernel
19
+ def load_fixture(file)
20
+ Object.send(:remove_const, :Account) if defined?(Account)
21
+ Object.send(:remove_const, :Category) if defined?(Category)
22
+ file += ".rb" if file !~ /.rb$/
23
+ capture_io { load File.join(File.dirname(__FILE__), "fixtures", file) }
24
+ end
25
+ end
26
+
27
+ #class Class
28
+ # # Allow assertions in request context
29
+ # include MiniTest::Assertions
30
+ #end
31
+
32
+ class MiniTest::Unit::TestCase
33
+ include Rack::Test::Methods
34
+
35
+ # Sets up a Sinatra::Base subclass defined with the block
36
+ # given. Used in setup or individual spec methods to establish
37
+ # the application.
38
+ def mock_app(base=Padrino::Application, &block)
39
+ @app = Sinatra.new(base, &block)
40
+ @app.send :include, MiniTest::Assertions
41
+ @app.register Padrino::Helpers
42
+ end
43
+
44
+ def app
45
+ Rack::Lint.new(@app)
46
+ end
47
+
48
+ # Creates a project and inserts lazy-head-gen reference into GemFile
49
+ def create_project(app_tmp, project_dir)
50
+ capture_io { generate(:project, project_dir, "--root=#{app_tmp}", '-d=activerecord', '-e=erb', '-t=minitest') }
51
+
52
+ # Hitting it with the command line hammer as I was having problems getting
53
+ # Thor's insert_into_file to work. Yes it is dirty!
54
+ gem_path = File.expand_path(File.join(File.dirname(__FILE__)))
55
+ capture_io { `echo "gem 'lazy-head-gen', :path => '#{gem_path}'" >> #{app_tmp}/#{project_dir}/GemFile` }
56
+ end
57
+
58
+ # generate(:admin_app, "-r=#{@apptmp}/sample_project")
59
+ def generate(name, *params)
60
+ "Padrino::Generators::#{name.to_s.camelize}".constantize.start(params)
61
+ end
62
+
63
+ # Assert_file_exists('/tmp/app')
64
+ def assert_file_exists(file_path)
65
+ assert File.exist?(file_path), "File at path '#{file_path}' does not exist!"
66
+ end
67
+
68
+ # Assert_no_file_exists('/tmp/app')
69
+ def assert_no_file_exists(file_path)
70
+ assert !File.exist?(file_path), "File should not exist at path '#{file_path}' but was found!"
71
+ end
72
+
73
+ # Asserts that a file matches the pattern
74
+ def assert_match_in_file(pattern, file)
75
+ File.exist?(file) ? assert_match(pattern, File.read(file)) : assert_file_exists(file)
76
+ end
77
+
78
+ def assert_no_match_in_file(pattern, file)
79
+ File.exists?(file) ? refute_match(pattern, File.read(file)) : assert_file_exists(file)
80
+ end
81
+
82
+ # Delegate other missing methods to response.
83
+ # def method_missing(name, *args, &block)
84
+ # if response && response.respond_to?(name)
85
+ # response.send(name, *args, &block)
86
+ # else
87
+ # super(name, *args, &block)
88
+ # end
89
+ # end
90
+
91
+ # alias :response :last_response
92
+ end
@@ -0,0 +1,47 @@
1
+ require 'helper'
2
+
3
+ describe "AdminControllerTests generator" do
4
+ def setup
5
+ @app_tmp = "#{Dir.tmpdir}/lazy-head-gen-tests/#{UUID.new.generate}"
6
+ capture_io { FileUtils.mkdir_p(@app_tmp) }
7
+ @project_name = "sample_project"
8
+ @project_dir = "#{@app_tmp}/#{@project_name}"
9
+ end
10
+
11
+ def teardown
12
+ `rm -rf #{Dir.tmpdir}/lazy-head-gen-tests`
13
+ end
14
+
15
+ describe "when generating a new admin controller test" do
16
+ it "should fail outside of the app root" do
17
+ out, err = capture_io { generate(:admin_controller_tests, 'demo_items') }
18
+ assert_match(/not at the root/, out)
19
+ end
20
+
21
+ describe "with a project" do
22
+ before do
23
+ create_project(@app_tmp, @project_name)
24
+ end
25
+
26
+ it "should fail if the admin controller does not exist" do
27
+ out, err = capture_io { generate(:admin_controller_tests, 'demo_items', "-r=#{@project_dir}") }
28
+ assert_match(/demo_items.rb does not exist/, out)
29
+ assert_match(/padrino g admin_page DemoItem/, out)
30
+ assert_no_file_exists("#{@project_dir}/test/admin/controllers/demo_items_controller_test.rb")
31
+ end
32
+
33
+ it "should create an admin controller test if the admin controller does exist" do
34
+ # We are only interested in if the admin controller exists and if
35
+ # so generate the tests, so am going to create a fake file to pass
36
+ # the does file exist check in the generator
37
+ FileUtils.mkdir_p("#{@project_dir}/admin/controllers")
38
+ FileUtils.touch("#{@project_dir}/admin/controllers/demo_items.rb")
39
+
40
+ out, err = capture_io { generate(:admin_controller_tests, 'demo_items', "-r=#{@project_dir}") }
41
+ assert_file_exists("#{@project_dir}/test/admin/controllers/demo_items_controller_test.rb")
42
+ assert_match(/test\/admin\/controllers\/demo_items_controller_test.rb/, out)
43
+ assert_match(/Admin controller tests generation for 'demo_items' completed/, out)
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,235 @@
1
+ require 'helper'
2
+
3
+ describe "Scaffold Generator" do
4
+ def setup
5
+ @app_tmp = "#{Dir.tmpdir}/lazy-head-gen-tests/#{UUID.new.generate}"
6
+ capture_io { FileUtils.mkdir_p(@app_tmp) }
7
+ @project_name = "sample_project"
8
+ @project_dir = "#{@app_tmp}/#{@project_name}"
9
+ @sub_app = "sub"
10
+ end
11
+
12
+ def teardown
13
+ `rm -rf #{Dir.tmpdir}/lazy-head-gen-tests`
14
+ end
15
+
16
+ describe "when generating a new scaffold" do
17
+ it "should fail outside of the app root" do
18
+ out, err = capture_io { generate(:scaffold, 'demo_items') }
19
+ assert_match(/not at the root/, out)
20
+ end
21
+
22
+ describe "with a project that doesn't have an orm set" do
23
+ before do
24
+ capture_io { generate(:project, @project_name, "--root=#{@app_tmp}", '-e=erb', '-t=minitest') }
25
+ @out, @err = capture_io { generate(:scaffold, 'demo_items', "-r=#{@project_dir}") }
26
+ end
27
+
28
+ it "should fail with a no orm error" do
29
+ assert_match(/You need an ORM adapter to create this scaffold's model/, @out)
30
+ end
31
+ end
32
+
33
+ describe "with a project" do
34
+ before do
35
+ create_project(@app_tmp, @project_name)
36
+ end
37
+
38
+ describe "and using standard app and model directories" do
39
+ before do
40
+ @out, @err = capture_io { generate(:scaffold, 'demo_items', "title:string", "summary:text", "available:datetime", "instock:boolean", "number:integer", "-r=#{@project_dir}") }
41
+ end
42
+
43
+ it "should create a model file" do
44
+ path = "#{@project_dir}/models/demo_item.rb"
45
+ assert_file_exists(path)
46
+ assert_match_in_file(/class DemoItem < ActiveRecord::Base/, path)
47
+ end
48
+
49
+ it "should create a model test file" do
50
+ path = "#{@project_dir}/test/models/demo_item_test.rb"
51
+ assert_file_exists(path)
52
+ assert_match_in_file(/describe "DemoItem Model" do/, path)
53
+ assert_match_in_file(/@demo_item = DemoItem.new/, path)
54
+ assert_match_in_file(/refute_nil @demo_item/, path)
55
+ end
56
+
57
+ it "should create a controller file" do
58
+ path = "#{@project_dir}/app/controllers/demo_items.rb"
59
+ assert_file_exists(path)
60
+ assert_match_in_file(/SampleProject.controllers :demo_items do/, path)
61
+ assert_match_in_file(/get :index do/, path)
62
+ assert_match_in_file(/get :show, :with => :id do/, path)
63
+ assert_no_match_in_file(/get :new do/, path)
64
+ assert_no_match_in_file(/post :create do/, path)
65
+ assert_no_match_in_file(/get :edit, :with => :id do/, path)
66
+ assert_no_match_in_file(/put :update, :with => :id do/, path)
67
+ assert_no_match_in_file(/delete :destroy, :with => :id do/, path)
68
+ end
69
+
70
+ it "should create a controller test file" do
71
+ path = "#{@project_dir}/test/app/controllers/demo_items_controller_test.rb"
72
+ assert_file_exists(path)
73
+ assert_match_in_file(/describe "DemoItemsController" do/, path)
74
+ assert_match_in_file(/GET index/, path)
75
+ assert_match_in_file(/GET show/, path)
76
+ assert_no_match_in_file(/GET new/, path)
77
+ assert_no_match_in_file(/POST create/, path)
78
+ assert_no_match_in_file(/GET edit/, path)
79
+ assert_no_match_in_file(/PUT update/, path)
80
+ assert_no_match_in_file(/DELETE destroy/, path)
81
+ end
82
+
83
+ it "should create a helper file" do
84
+ path = "#{@project_dir}/app/helpers/demo_items_helper.rb"
85
+ assert_file_exists(path)
86
+ assert_match_in_file(/SampleProject.helpers do/, path)
87
+ end
88
+
89
+ it "should create an index view" do
90
+ path = "#{@project_dir}/app/views/demo_items/index.erb"
91
+ assert_file_exists(path)
92
+ assert_match_in_file(/This is the index page/, path)
93
+ end
94
+
95
+ it "should create a show view" do
96
+ path = "#{@project_dir}/app/views/demo_items/show.erb"
97
+ assert_file_exists(path)
98
+ assert_match_in_file(/This is the show page/, path)
99
+ end
100
+
101
+ it "should create a database migration" do
102
+ path = "#{@project_dir}/db/migrate/001_create_demo_items.rb"
103
+ assert_file_exists(path)
104
+ assert_match_in_file(/class CreateDemoItems < ActiveRecord::Migration/, path)
105
+ assert_match_in_file(/create_table :demo_items/, path)
106
+ assert_match_in_file(/t.string :title/, path)
107
+ assert_match_in_file(/t.text :summary/, path)
108
+ assert_match_in_file(/t.datetime :available/, path)
109
+ assert_match_in_file(/t.boolean :instock/, path)
110
+ assert_match_in_file(/t.integer :number/, path)
111
+ assert_match_in_file(/t.timestamps/, path)
112
+ assert_match_in_file(/drop_table :demo_items/, path)
113
+ end
114
+
115
+ it "should copy and format the blueprints.rb file" do
116
+ path = "#{@project_dir}/test/blueprints.rb"
117
+ assert_file_exists(path)
118
+ assert_match_in_file(/DemoItem.blueprint do/, path)
119
+ assert_match_in_file(/title \{ Faker::Lorem.sentence \}/, path)
120
+ assert_match_in_file(/summary \{ Faker::Lorem.sentence \}/, path)
121
+ assert_match_in_file(/available \{ DateTime.now \}/, path)
122
+ assert_match_in_file(/instock \{ true \}/, path)
123
+ assert_match_in_file(/number \{ 1 \+ rand\(100\) \}/, path)
124
+ end
125
+
126
+ it "should require the blueprints file in test_config.rb" do
127
+ path = "#{@project_dir}/test/test_config.rb"
128
+ assert_match_in_file("require File.expand_path(File.dirname(__FILE__) + \"\/blueprints.rb\")", path)
129
+ end
130
+
131
+ it "should let you know everything is done" do
132
+ assert_match "Scaffold generation for 'demo_items' in app '/app' completed", @out
133
+ end
134
+ end
135
+
136
+ describe "and using the create_full flag" do
137
+ before do
138
+ @out, @err = capture_io { generate(:scaffold, 'demo_items', "title:string", "summary:text", "available:datetime", "instock:boolean", "number:integer", "-r=#{@project_dir}", "-c=true") }
139
+ end
140
+
141
+ it "should create a full controller file" do
142
+ path = "#{@project_dir}/app/controllers/demo_items.rb"
143
+ assert_file_exists(path)
144
+ assert_match_in_file(/SampleProject.controllers :demo_items do/, path)
145
+ assert_match_in_file(/get :index do/, path)
146
+ assert_match_in_file(/get :show, :with => :id do/, path)
147
+ assert_match_in_file(/get :new do/, path)
148
+ assert_match_in_file(/post :create do/, path)
149
+ assert_match_in_file(/get :edit, :with => :id do/, path)
150
+ assert_match_in_file(/put :update, :with => :id do/, path)
151
+ assert_match_in_file(/delete :destroy, :with => :id do/, path)
152
+ end
153
+
154
+ it "should create a full controller test file" do
155
+ path = "#{@project_dir}/test/app/controllers/demo_items_controller_test.rb"
156
+ assert_file_exists(path)
157
+ assert_match_in_file(/describe "DemoItemsController" do/, path)
158
+ assert_match_in_file(/GET index/, path)
159
+ assert_match_in_file(/GET show/, path)
160
+ assert_match_in_file(/GET new/, path)
161
+ assert_match_in_file(/POST create/, path)
162
+ assert_match_in_file(/GET edit/, path)
163
+ assert_match_in_file(/PUT update/, path)
164
+ assert_match_in_file(/DELETE destroy/, path)
165
+ end
166
+ end
167
+
168
+ describe "and using the skip create migration flag" do
169
+ before do
170
+ @out, @err = capture_io { generate(:scaffold, 'demo_items', "title:string", "summary:text", "available:datetime", "instock:boolean", "number:integer", "-r=#{@project_dir}", "-s=true") }
171
+ end
172
+
173
+ it "should not create a database migration" do
174
+ path = "#{@project_dir}/db/migrate/001_create_demo_items.rb"
175
+ assert_no_file_exists(path)
176
+ end
177
+ end
178
+
179
+ describe "and using a different app path" do
180
+ before do
181
+ capture_io { generate(:app, @sub_app, "--root=#{@project_dir}") }
182
+ @out, @err = capture_io { generate(:scaffold, 'demo_items', "title:string", "summary:text", "available:datetime", "instock:boolean", "-r=#{@project_dir}", "-a=#{@sub_app}") }
183
+ end
184
+
185
+ it "should create a controller file" do
186
+ path = "#{@project_dir}/#{@sub_app}/controllers/demo_items.rb"
187
+ assert_file_exists(path)
188
+ assert_match_in_file(/Sub.controllers :demo_items do/, path)
189
+ assert_match_in_file(/get :index do/, path)
190
+ assert_match_in_file(/get :show, :with => :id do/, path)
191
+ assert_no_match_in_file(/get :new do/, path)
192
+ assert_no_match_in_file(/post :create do/, path)
193
+ assert_no_match_in_file(/get :edit, :with => :id do/, path)
194
+ assert_no_match_in_file(/put :update, :with => :id do/, path)
195
+ assert_no_match_in_file(/delete :destroy, :with => :id do/, path)
196
+ end
197
+
198
+ it "should create a controller test file" do
199
+ path = "#{@project_dir}/test/#{@sub_app}/controllers/demo_items_controller_test.rb"
200
+ assert_file_exists(path)
201
+ assert_match_in_file(/describe "DemoItemsController" do/, path)
202
+ assert_match_in_file(/GET index/, path)
203
+ assert_match_in_file(/GET show/, path)
204
+ assert_no_match_in_file(/GET new/, path)
205
+ assert_no_match_in_file(/POST create/, path)
206
+ assert_no_match_in_file(/GET edit/, path)
207
+ assert_no_match_in_file(/PUT update/, path)
208
+ assert_no_match_in_file(/DELETE destroy/, path)
209
+ end
210
+
211
+ it "should create a helper file" do
212
+ path = "#{@project_dir}/#{@sub_app}/helpers/demo_items_helper.rb"
213
+ assert_file_exists(path)
214
+ assert_match_in_file(/Sub.helpers do/, path)
215
+ end
216
+
217
+ it "should create an index view" do
218
+ path = "#{@project_dir}/#{@sub_app}/views/demo_items/index.erb"
219
+ assert_file_exists(path)
220
+ assert_match_in_file(/This is the index page/, path)
221
+ end
222
+
223
+ it "should create a show view" do
224
+ path = "#{@project_dir}/#{@sub_app}/views/demo_items/show.erb"
225
+ assert_file_exists(path)
226
+ assert_match_in_file(/This is the show page/, path)
227
+ end
228
+ end
229
+
230
+ describe "and using a different model path" do
231
+ # TODO: Finish these tests when model route isn't hardcoded to "."
232
+ end
233
+ end
234
+ end
235
+ end
@@ -0,0 +1,6 @@
1
+ if defined?(Gem)
2
+ gem 'bundler'
3
+ else
4
+ require 'rubygems'
5
+ end
6
+ require 'bundler/setup'
@@ -0,0 +1,15 @@
1
+ require 'helper'
2
+
3
+ describe "LazyHeadGen" do
4
+
5
+ describe "the generator" do
6
+ it "should have default generators" do
7
+ %w{controller mailer migration model app plugin admin_controller_tests scaffold}.each do |gen|
8
+ assert Padrino::Generators.mappings.has_key?(gen.to_sym)
9
+ assert_equal "Padrino::Generators::#{gen.camelize}", Padrino::Generators.mappings[gen.to_sym].name
10
+ assert Padrino::Generators.mappings[gen.to_sym].respond_to?(:start)
11
+ end
12
+ end
13
+ end
14
+
15
+ end
metadata ADDED
@@ -0,0 +1,489 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lazy-head-gen
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ version: 0.1.0
11
+ platform: ruby
12
+ authors:
13
+ - Stuart Chinery
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2012-04-27 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ type: :runtime
22
+ requirement: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ hash: 3
28
+ segments:
29
+ - 0
30
+ version: "0"
31
+ version_requirements: *id001
32
+ name: padrino
33
+ prerelease: false
34
+ - !ruby/object:Gem::Dependency
35
+ type: :development
36
+ requirement: &id002 !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ hash: 3
42
+ segments:
43
+ - 0
44
+ version: "0"
45
+ version_requirements: *id002
46
+ name: shoulda
47
+ prerelease: false
48
+ - !ruby/object:Gem::Dependency
49
+ type: :development
50
+ requirement: &id003 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ hash: 21
56
+ segments:
57
+ - 1
58
+ - 1
59
+ - 3
60
+ version: 1.1.3
61
+ version_requirements: *id003
62
+ name: bundler
63
+ prerelease: false
64
+ - !ruby/object:Gem::Dependency
65
+ type: :development
66
+ requirement: &id004 !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ~>
70
+ - !ruby/object:Gem::Version
71
+ hash: 7
72
+ segments:
73
+ - 1
74
+ - 6
75
+ - 4
76
+ version: 1.6.4
77
+ version_requirements: *id004
78
+ name: jeweler
79
+ prerelease: false
80
+ - !ruby/object:Gem::Dependency
81
+ type: :development
82
+ requirement: &id005 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ hash: 3
88
+ segments:
89
+ - 0
90
+ version: "0"
91
+ version_requirements: *id005
92
+ name: rcov
93
+ prerelease: false
94
+ - !ruby/object:Gem::Dependency
95
+ type: :development
96
+ requirement: &id006 !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ hash: 5
102
+ segments:
103
+ - 1
104
+ - 5
105
+ - 3
106
+ version: 1.5.3
107
+ version_requirements: *id006
108
+ name: json
109
+ prerelease: false
110
+ - !ruby/object:Gem::Dependency
111
+ type: :development
112
+ requirement: &id007 !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ hash: 15
118
+ segments:
119
+ - 1
120
+ - 4
121
+ - 4
122
+ version: 1.4.4
123
+ version_requirements: *id007
124
+ name: nokogiri
125
+ prerelease: false
126
+ - !ruby/object:Gem::Dependency
127
+ type: :development
128
+ requirement: &id008 !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ hash: 29
134
+ segments:
135
+ - 2
136
+ - 4
137
+ - 1
138
+ version: 2.4.1
139
+ version_requirements: *id008
140
+ name: grit
141
+ prerelease: false
142
+ - !ruby/object:Gem::Dependency
143
+ type: :development
144
+ requirement: &id009 !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ hash: 27
150
+ segments:
151
+ - 1
152
+ - 3
153
+ - 0
154
+ version: 1.3.0
155
+ version_requirements: *id009
156
+ name: rack
157
+ prerelease: false
158
+ - !ruby/object:Gem::Dependency
159
+ type: :development
160
+ requirement: &id010 !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ hash: 49
166
+ segments:
167
+ - 0
168
+ - 8
169
+ - 7
170
+ version: 0.8.7
171
+ version_requirements: *id010
172
+ name: rake
173
+ prerelease: false
174
+ - !ruby/object:Gem::Dependency
175
+ type: :development
176
+ requirement: &id011 !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ hash: 7
182
+ segments:
183
+ - 0
184
+ - 7
185
+ - 2
186
+ version: 0.7.2
187
+ version_requirements: *id011
188
+ name: yard
189
+ prerelease: false
190
+ - !ruby/object:Gem::Dependency
191
+ type: :development
192
+ requirement: &id012 !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ hash: 11
198
+ segments:
199
+ - 0
200
+ - 5
201
+ - 0
202
+ version: 0.5.0
203
+ version_requirements: *id012
204
+ name: rack-test
205
+ prerelease: false
206
+ - !ruby/object:Gem::Dependency
207
+ type: :development
208
+ requirement: &id013 !ruby/object:Gem::Requirement
209
+ none: false
210
+ requirements:
211
+ - - ">="
212
+ - !ruby/object:Gem::Version
213
+ hash: 15
214
+ segments:
215
+ - 1
216
+ - 2
217
+ - 8
218
+ version: 1.2.8
219
+ version_requirements: *id013
220
+ name: fakeweb
221
+ prerelease: false
222
+ - !ruby/object:Gem::Dependency
223
+ type: :development
224
+ requirement: &id014 !ruby/object:Gem::Requirement
225
+ none: false
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ hash: 9
230
+ segments:
231
+ - 0
232
+ - 5
233
+ - 1
234
+ version: 0.5.1
235
+ version_requirements: *id014
236
+ name: webrat
237
+ prerelease: false
238
+ - !ruby/object:Gem::Dependency
239
+ type: :development
240
+ requirement: &id015 !ruby/object:Gem::Requirement
241
+ none: false
242
+ requirements:
243
+ - - ">="
244
+ - !ruby/object:Gem::Version
245
+ hash: 43
246
+ segments:
247
+ - 2
248
+ - 2
249
+ - 22
250
+ version: 2.2.22
251
+ version_requirements: *id015
252
+ name: haml
253
+ prerelease: false
254
+ - !ruby/object:Gem::Dependency
255
+ type: :development
256
+ requirement: &id016 !ruby/object:Gem::Requirement
257
+ none: false
258
+ requirements:
259
+ - - ">="
260
+ - !ruby/object:Gem::Version
261
+ hash: 19
262
+ segments:
263
+ - 2
264
+ - 7
265
+ - 0
266
+ version: 2.7.0
267
+ version_requirements: *id016
268
+ name: erubis
269
+ prerelease: false
270
+ - !ruby/object:Gem::Dependency
271
+ type: :development
272
+ requirement: &id017 !ruby/object:Gem::Requirement
273
+ none: false
274
+ requirements:
275
+ - - ">="
276
+ - !ruby/object:Gem::Version
277
+ hash: 63
278
+ segments:
279
+ - 0
280
+ - 9
281
+ - 2
282
+ version: 0.9.2
283
+ version_requirements: *id017
284
+ name: slim
285
+ prerelease: false
286
+ - !ruby/object:Gem::Dependency
287
+ type: :development
288
+ requirement: &id018 !ruby/object:Gem::Requirement
289
+ none: false
290
+ requirements:
291
+ - - ">="
292
+ - !ruby/object:Gem::Version
293
+ hash: 1
294
+ segments:
295
+ - 2
296
+ - 3
297
+ - 1
298
+ version: 2.3.1
299
+ version_requirements: *id018
300
+ name: uuid
301
+ prerelease: false
302
+ - !ruby/object:Gem::Dependency
303
+ type: :development
304
+ requirement: &id019 !ruby/object:Gem::Requirement
305
+ none: false
306
+ requirements:
307
+ - - ">="
308
+ - !ruby/object:Gem::Version
309
+ hash: 15
310
+ segments:
311
+ - 2
312
+ - 1
313
+ - 2
314
+ version: 2.1.2
315
+ version_requirements: *id019
316
+ name: builder
317
+ prerelease: false
318
+ - !ruby/object:Gem::Dependency
319
+ type: :development
320
+ requirement: &id020 !ruby/object:Gem::Requirement
321
+ none: false
322
+ requirements:
323
+ - - ">="
324
+ - !ruby/object:Gem::Version
325
+ hash: 3
326
+ segments:
327
+ - 0
328
+ version: "0"
329
+ version_requirements: *id020
330
+ name: bcrypt-ruby
331
+ prerelease: false
332
+ - !ruby/object:Gem::Dependency
333
+ type: :development
334
+ requirement: &id021 !ruby/object:Gem::Requirement
335
+ none: false
336
+ requirements:
337
+ - - ">="
338
+ - !ruby/object:Gem::Version
339
+ hash: 15
340
+ segments:
341
+ - 1
342
+ - 0
343
+ version: "1.0"
344
+ version_requirements: *id021
345
+ name: system_timer
346
+ prerelease: false
347
+ - !ruby/object:Gem::Dependency
348
+ type: :development
349
+ requirement: &id022 !ruby/object:Gem::Requirement
350
+ none: false
351
+ requirements:
352
+ - - ">="
353
+ - !ruby/object:Gem::Version
354
+ hash: 3
355
+ segments:
356
+ - 0
357
+ version: "0"
358
+ version_requirements: *id022
359
+ name: jruby-openssl
360
+ prerelease: false
361
+ - !ruby/object:Gem::Dependency
362
+ type: :development
363
+ requirement: &id023 !ruby/object:Gem::Requirement
364
+ none: false
365
+ requirements:
366
+ - - ~>
367
+ - !ruby/object:Gem::Version
368
+ hash: 55
369
+ segments:
370
+ - 0
371
+ - 10
372
+ - 0
373
+ version: 0.10.0
374
+ version_requirements: *id023
375
+ name: mocha
376
+ prerelease: false
377
+ - !ruby/object:Gem::Dependency
378
+ type: :development
379
+ requirement: &id024 !ruby/object:Gem::Requirement
380
+ none: false
381
+ requirements:
382
+ - - ~>
383
+ - !ruby/object:Gem::Version
384
+ hash: 23
385
+ segments:
386
+ - 2
387
+ - 6
388
+ - 0
389
+ version: 2.6.0
390
+ version_requirements: *id024
391
+ name: minitest
392
+ prerelease: false
393
+ - !ruby/object:Gem::Dependency
394
+ type: :development
395
+ requirement: &id025 !ruby/object:Gem::Requirement
396
+ none: false
397
+ requirements:
398
+ - - ">="
399
+ - !ruby/object:Gem::Version
400
+ hash: 3
401
+ segments:
402
+ - 0
403
+ version: "0"
404
+ version_requirements: *id025
405
+ name: lumberjack
406
+ prerelease: false
407
+ - !ruby/object:Gem::Dependency
408
+ type: :development
409
+ requirement: &id026 !ruby/object:Gem::Requirement
410
+ none: false
411
+ requirements:
412
+ - - ">="
413
+ - !ruby/object:Gem::Version
414
+ hash: 3
415
+ segments:
416
+ - 0
417
+ version: "0"
418
+ version_requirements: *id026
419
+ name: ruby-debug
420
+ prerelease: false
421
+ description: "Blah: longer description of your gem"
422
+ email: stuart.chinery@headlondon.com
423
+ executables: []
424
+
425
+ extensions: []
426
+
427
+ extra_rdoc_files:
428
+ - LICENSE.txt
429
+ - README.rdoc
430
+ files:
431
+ - .document
432
+ - Gemfile
433
+ - Gemfile.lock
434
+ - LICENSE.txt
435
+ - README.rdoc
436
+ - Rakefile
437
+ - VERSION
438
+ - lazy-head-gen.gemspec
439
+ - lib/lazy-head-gen.rb
440
+ - lib/lazy-head-gen/admin_controller_tests.rb
441
+ - lib/lazy-head-gen/scaffold.rb
442
+ - lib/lazy-head-gen/templates/admin_controller_test.rb.tt
443
+ - lib/lazy-head-gen/templates/blueprints.rb.tt
444
+ - lib/lazy-head-gen/templates/controller.rb.tt
445
+ - lib/lazy-head-gen/templates/controller_test.rb.tt
446
+ - lib/lazy-head-gen/templates/helper.rb.tt
447
+ - lib/lazy-head-gen/templates/model.rb.tt
448
+ - lib/lazy-head-gen/templates/model_test.rb.tt
449
+ - lib/lazy-head-gen/templates/view.erb.tt
450
+ - test/helper.rb
451
+ - test/lazy-head-gen/test_admin_controller_tests.rb
452
+ - test/lazy-head-gen/test_scaffold.rb
453
+ - test/load_paths.rb
454
+ - test/test_lazy-head-gen.rb
455
+ homepage: http://github.com/sleepingstu/lazy-head-gen
456
+ licenses:
457
+ - MIT
458
+ post_install_message:
459
+ rdoc_options: []
460
+
461
+ require_paths:
462
+ - lib
463
+ required_ruby_version: !ruby/object:Gem::Requirement
464
+ none: false
465
+ requirements:
466
+ - - ">="
467
+ - !ruby/object:Gem::Version
468
+ hash: 3
469
+ segments:
470
+ - 0
471
+ version: "0"
472
+ required_rubygems_version: !ruby/object:Gem::Requirement
473
+ none: false
474
+ requirements:
475
+ - - ">="
476
+ - !ruby/object:Gem::Version
477
+ hash: 3
478
+ segments:
479
+ - 0
480
+ version: "0"
481
+ requirements: []
482
+
483
+ rubyforge_project:
484
+ rubygems_version: 1.8.19
485
+ signing_key:
486
+ specification_version: 3
487
+ summary: Some extra generators for the glorious Padrino, using ActiveRecord and MiniTest.
488
+ test_files: []
489
+