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.
- data/.document +5 -0
- data/Gemfile +49 -0
- data/Gemfile.lock +139 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +18 -0
- data/Rakefile +53 -0
- data/VERSION +1 -0
- data/lazy-head-gen.gemspec +138 -0
- data/lib/lazy-head-gen.rb +6 -0
- data/lib/lazy-head-gen/admin_controller_tests.rb +58 -0
- data/lib/lazy-head-gen/scaffold.rb +155 -0
- data/lib/lazy-head-gen/templates/admin_controller_test.rb.tt +197 -0
- data/lib/lazy-head-gen/templates/blueprints.rb.tt +32 -0
- data/lib/lazy-head-gen/templates/controller.rb.tt +33 -0
- data/lib/lazy-head-gen/templates/controller_test.rb.tt +95 -0
- data/lib/lazy-head-gen/templates/helper.rb.tt +7 -0
- data/lib/lazy-head-gen/templates/model.rb.tt +9 -0
- data/lib/lazy-head-gen/templates/model_test.rb.tt +15 -0
- data/lib/lazy-head-gen/templates/view.erb.tt +1 -0
- data/test/helper.rb +92 -0
- data/test/lazy-head-gen/test_admin_controller_tests.rb +47 -0
- data/test/lazy-head-gen/test_scaffold.rb +235 -0
- data/test/load_paths.rb +6 -0
- data/test/test_lazy-head-gen.rb +15 -0
- metadata +489 -0
@@ -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>
|
data/test/helper.rb
ADDED
@@ -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
|
data/test/load_paths.rb
ADDED
@@ -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
|
+
|