padrino-gen 0.14.1.1 → 0.14.2
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.
- checksums.yaml +5 -13
- data/lib/padrino-gen/command.rb +1 -1
- data/lib/padrino-gen/generators/actions.rb +4 -27
- data/lib/padrino-gen/generators/components/orms/activerecord.rb +44 -22
- data/lib/padrino-gen/generators/components/orms/datamapper.rb +14 -5
- data/lib/padrino-gen/generators/components/orms/minirecord.rb +31 -21
- data/lib/padrino-gen/generators/components/orms/sequel.rb +31 -26
- data/lib/padrino-gen/generators/project.rb +1 -1
- data/lib/padrino-gen/generators/runner.rb +7 -2
- data/lib/padrino-gen/generators/templates/Rakefile.tt +0 -2
- data/lib/padrino-gen/padrino-tasks/datamapper.rb +2 -2
- data/test/test_plugin_generator.rb +2 -1
- data/test/test_project_generator.rb +1 -1
- data/test/test_task_generator.rb +7 -0
- metadata +19 -21
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
ZGU1Yzg5NjI2NDBkNjQzNjJlODc0ODY4MjQ5ZDZjZmNlZTBlNmQ5Yw==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 54060d405658309147c991cd2eff9a365cf2fa8f
|
4
|
+
data.tar.gz: 94d6b1400fcd1e232991adcc770d4ee06e55b3cf
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
ZTE0MTYzYjdlMzlkZTZjYmVmZjYyYTRlY2JlM2MxZGI1YTEyNTQ0Mjc3OTQy
|
11
|
-
M2ZjOTJlNzZkNWJiNTJiNjc3MTRjNzNlMDJhOGYyMjk4OTNkOGM=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
YWM1OGU1NmIzZTc1NzlhNjIxNTdjNmRiMDFhOTZkMzRlOWEzNTRhZDM5YzJk
|
14
|
-
MzgyMjZmOGYyNDRlYTNjYmI4MzIyNTg1Y2ZmNDU4YzMwNWM1ODE5N2FmZGZh
|
15
|
-
ZDFiNGQ0MDFhMmY0ZWI2YWY3NjNlYWQyMTQ1ODE5Zjg2NGRmNDk=
|
6
|
+
metadata.gz: f007cda5e22efca492e334c2877868e9306e1c3f50a5a70cd4f67f0862eb38bbe0479b7f7e408060424fa96079ccf91741e34f688a346798b70fa470dd4e6e59
|
7
|
+
data.tar.gz: 38a60006fc6610bcc01f71577a357f69e5971ffbc2ade927525913a432106c60b3752ce44c1839a17da16b2446a4dfbd7c4dd8bfe02db2645cb941a5129693aa
|
data/lib/padrino-gen/command.rb
CHANGED
@@ -145,11 +145,11 @@ module Padrino
|
|
145
145
|
# resolve_valid_choice(:mock)
|
146
146
|
#
|
147
147
|
def resolve_valid_choice(component)
|
148
|
-
|
148
|
+
choices = self.class.available_choices_for(component).map(&:to_s)
|
149
149
|
choice = options[component]
|
150
150
|
until valid_choice?(component, choice)
|
151
151
|
say("Option for --#{component} '#{choice}' is not available.", :red)
|
152
|
-
choice = ask("Please enter a valid option for #{component}
|
152
|
+
choice = ask("Please enter a valid option for #{component}:", :limited_to => choices)
|
153
153
|
end
|
154
154
|
choice
|
155
155
|
end
|
@@ -181,9 +181,9 @@ module Padrino
|
|
181
181
|
# @example
|
182
182
|
# store_component_config('/foo/bar')
|
183
183
|
#
|
184
|
-
def store_component_config(destination)
|
184
|
+
def store_component_config(destination, opts = {})
|
185
185
|
components = @_components || options
|
186
|
-
create_file(destination) do
|
186
|
+
create_file(destination, opts) do
|
187
187
|
self.class.component_types.inject({}) { |result, comp|
|
188
188
|
result[comp] = components[comp].to_s; result
|
189
189
|
}.to_yaml
|
@@ -435,29 +435,6 @@ WARNING
|
|
435
435
|
in_root { run 'bundle install --binstubs' }
|
436
436
|
end
|
437
437
|
|
438
|
-
##
|
439
|
-
# Ask something to the user and receives a response.
|
440
|
-
#
|
441
|
-
# @param [String] statement
|
442
|
-
# String of statement to display for input.
|
443
|
-
# @param [String] default
|
444
|
-
# Default value for input.
|
445
|
-
# @param [String] color
|
446
|
-
# Name of color to display input.
|
447
|
-
#auto_locale
|
448
|
-
# @return [String] Input value
|
449
|
-
#
|
450
|
-
# @example
|
451
|
-
# ask("What is your name?")
|
452
|
-
# ask("Path for ruby", "/usr/local/bin/ruby") => "Path for ruby (leave blank for /usr/local/bin/ruby):"
|
453
|
-
#
|
454
|
-
def ask(statement, default=nil, color=nil)
|
455
|
-
default_text = default ? " (leave blank for #{default}):" : nil
|
456
|
-
say("#{statement}#{default_text} ", color)
|
457
|
-
result = $stdin.gets.strip
|
458
|
-
result.empty? ? default : result
|
459
|
-
end
|
460
|
-
|
461
438
|
##
|
462
439
|
# Raise SystemExit if the app does not exist.
|
463
440
|
#
|
@@ -111,29 +111,38 @@ MIDDLEWARE
|
|
111
111
|
def setup_orm
|
112
112
|
ar = AR
|
113
113
|
db = @project_name.underscore
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
114
|
+
|
115
|
+
begin
|
116
|
+
case adapter ||= options[:adapter]
|
117
|
+
when 'mysql-gem'
|
118
|
+
ar.sub! /!DB_DEVELOPMENT!/, MYSQL.sub(/!DB_NAME!/,"'#{db}_development'")
|
119
|
+
ar.sub! /!DB_PRODUCTION!/, MYSQL.sub(/!DB_NAME!/,"'#{db}_production'")
|
120
|
+
ar.sub! /!DB_TEST!/, MYSQL.sub(/!DB_NAME!/,"'#{db}_test'")
|
121
|
+
require_dependencies 'mysql', :version => "~> 2.8.1"
|
122
|
+
when 'mysql', 'mysql2'
|
123
|
+
ar.sub! /!DB_DEVELOPMENT!/, MYSQL2.sub(/!DB_NAME!/,"'#{db}_development'")
|
124
|
+
ar.sub! /!DB_PRODUCTION!/, MYSQL2.sub(/!DB_NAME!/,"'#{db}_production'")
|
125
|
+
ar.sub! /!DB_TEST!/, MYSQL2.sub(/!DB_NAME!/,"'#{db}_test'")
|
126
|
+
require_dependencies 'mysql2'
|
127
|
+
when 'postgres'
|
128
|
+
ar.sub! /!DB_DEVELOPMENT!/, POSTGRES.sub(/!DB_NAME!/,"'#{db}_development'")
|
129
|
+
ar.sub! /!DB_PRODUCTION!/, POSTGRES.sub(/!DB_NAME!/,"'#{db}_production'")
|
130
|
+
ar.sub! /!DB_TEST!/, POSTGRES.sub(/!DB_NAME!/,"'#{db}_test'")
|
131
|
+
require_dependencies 'pg'
|
132
|
+
when 'sqlite'
|
133
|
+
ar.sub! /!DB_DEVELOPMENT!/, SQLITE.sub(/!DB_NAME!/,"Padrino.root('db', '#{db}_development.db')")
|
134
|
+
ar.sub! /!DB_PRODUCTION!/, SQLITE.sub(/!DB_NAME!/,"Padrino.root('db', '#{db}_production.db')")
|
135
|
+
ar.sub! /!DB_TEST!/, SQLITE.sub(/!DB_NAME!/,"Padrino.root('db', '#{db}_test.db')")
|
136
|
+
require_dependencies 'sqlite3'
|
137
|
+
else
|
138
|
+
say "Failed to generate `config/database.rb` for ORM adapter `#{options[:adapter]}`", :red
|
139
|
+
fail ArgumentError
|
140
|
+
end
|
141
|
+
rescue ArgumentError
|
142
|
+
adapter = ask("Please, choose a proper adapter:", :limited_to => %w[mysql mysql2 mysql-gem postgres sqlite])
|
143
|
+
retry
|
136
144
|
end
|
145
|
+
|
137
146
|
require_dependencies 'activerecord', :require => 'active_record', :version => ">= 3.1"
|
138
147
|
create_file("config/database.rb", ar)
|
139
148
|
middleware :connection_pool_management, CONNECTION_POOL_MIDDLEWARE
|
@@ -152,7 +161,19 @@ def create_model_file(name, options={})
|
|
152
161
|
create_file(model_path, model_contents,:skip => true)
|
153
162
|
end
|
154
163
|
|
164
|
+
if defined?(ActiveRecord::Migration) && ActiveRecord::Migration.respond_to?(:[])
|
165
|
+
AR_MIGRATION = (<<-MIGRATION) unless defined?(AR_MIGRATION)
|
166
|
+
class !FILECLASS! < ActiveRecord::Migration[#{ActiveRecord::Migration.current_version}]
|
167
|
+
def self.up
|
168
|
+
!UP!
|
169
|
+
end
|
155
170
|
|
171
|
+
def self.down
|
172
|
+
!DOWN!
|
173
|
+
end
|
174
|
+
end
|
175
|
+
MIGRATION
|
176
|
+
else
|
156
177
|
AR_MIGRATION = (<<-MIGRATION) unless defined?(AR_MIGRATION)
|
157
178
|
class !FILECLASS! < ActiveRecord::Migration
|
158
179
|
def self.up
|
@@ -164,6 +185,7 @@ class !FILECLASS! < ActiveRecord::Migration
|
|
164
185
|
end
|
165
186
|
end
|
166
187
|
MIGRATION
|
188
|
+
end
|
167
189
|
|
168
190
|
AR_MODEL_UP_MG = (<<-MIGRATION).gsub(/^/,' ') unless defined?(AR_MODEL_UP_MG)
|
169
191
|
create_table :!TABLE! do |t|
|
@@ -68,22 +68,31 @@ def setup_orm
|
|
68
68
|
dm-timestamps
|
69
69
|
dm-validations
|
70
70
|
).each { |dep| require_dependencies dep }
|
71
|
-
|
71
|
+
|
72
|
+
begin
|
73
|
+
case adapter ||= options[:adapter]
|
72
74
|
when 'mysql', 'mysql2'
|
73
75
|
dm.gsub!(/!DB_DEVELOPMENT!/,"\"mysql://root@localhost/#{db}_development\"")
|
74
76
|
dm.gsub!(/!DB_PRODUCTION!/,"\"mysql://root@localhost/#{db}_production\"")
|
75
77
|
dm.gsub!(/!DB_TEST!/,"\"mysql://root@localhost/#{db}_test\"")
|
76
|
-
'dm-mysql-adapter'
|
78
|
+
require_dependencies 'dm-mysql-adapter'
|
77
79
|
when 'postgres'
|
78
80
|
dm.gsub!(/!DB_DEVELOPMENT!/,"\"postgres://root@localhost/#{db}_development\"")
|
79
81
|
dm.gsub!(/!DB_PRODUCTION!/,"\"postgres://root@localhost/#{db}_production\"")
|
80
82
|
dm.gsub!(/!DB_TEST!/,"\"postgres://root@localhost/#{db}_test\"")
|
81
|
-
'dm-postgres-adapter'
|
82
|
-
|
83
|
+
require_dependencies 'dm-postgres-adapter'
|
84
|
+
when 'sqlite'
|
83
85
|
dm.gsub!(/!DB_DEVELOPMENT!/,"\"sqlite3://\" + Padrino.root('db', \"#{db}_development.db\")")
|
84
86
|
dm.gsub!(/!DB_PRODUCTION!/,"\"sqlite3://\" + Padrino.root('db', \"#{db}_production.db\")")
|
85
87
|
dm.gsub!(/!DB_TEST!/,"\"sqlite3://\" + Padrino.root('db', \"#{db}_test.db\")")
|
86
|
-
'dm-sqlite-adapter'
|
88
|
+
require_dependencies 'dm-sqlite-adapter'
|
89
|
+
else
|
90
|
+
say "Failed to generate `config/database.rb` for ORM adapter `#{options[:adapter]}`", :red
|
91
|
+
fail ArgumentError
|
92
|
+
end
|
93
|
+
rescue ArgumentError
|
94
|
+
adapter = ask("Please, choose a proper adapter:", :limited_to => %w[mysql mysql2 postgres sqlite])
|
95
|
+
retry
|
87
96
|
end
|
88
97
|
|
89
98
|
create_file("config/database.rb", dm)
|
@@ -111,28 +111,38 @@ MIDDLEWARE
|
|
111
111
|
def setup_orm
|
112
112
|
ar = MR
|
113
113
|
db = @project_name.underscore
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
114
|
+
|
115
|
+
begin
|
116
|
+
case adapter ||= options[:adapter]
|
117
|
+
when 'mysql-gem'
|
118
|
+
ar.gsub! /!DB_DEVELOPMENT!/, MYSQL.gsub(/!DB_NAME!/,"'#{db}_development'")
|
119
|
+
ar.gsub! /!DB_PRODUCTION!/, MYSQL.gsub(/!DB_NAME!/,"'#{db}_production'")
|
120
|
+
ar.gsub! /!DB_TEST!/, MYSQL.gsub(/!DB_NAME!/,"'#{db}_test'")
|
121
|
+
require_dependencies 'mysql', :version => "~> 2.8.1"
|
122
|
+
when 'mysql', 'mysql2'
|
123
|
+
ar.gsub! /!DB_DEVELOPMENT!/, MYSQL2.gsub(/!DB_NAME!/,"'#{db}_development'")
|
124
|
+
ar.gsub! /!DB_PRODUCTION!/, MYSQL2.gsub(/!DB_NAME!/,"'#{db}_production'")
|
125
|
+
ar.gsub! /!DB_TEST!/, MYSQL2.gsub(/!DB_NAME!/,"'#{db}_test'")
|
126
|
+
require_dependencies 'mysql2'
|
127
|
+
when 'postgres'
|
128
|
+
ar.gsub! /!DB_DEVELOPMENT!/, POSTGRES.gsub(/!DB_NAME!/,"'#{db}_development'")
|
129
|
+
ar.gsub! /!DB_PRODUCTION!/, POSTGRES.gsub(/!DB_NAME!/,"'#{db}_production'")
|
130
|
+
ar.gsub! /!DB_TEST!/, POSTGRES.gsub(/!DB_NAME!/,"'#{db}_test'")
|
131
|
+
require_dependencies 'pg'
|
132
|
+
when 'sqlite'
|
133
|
+
ar.gsub! /!DB_DEVELOPMENT!/, SQLITE.gsub(/!DB_NAME!/,"Padrino.root('db', '#{db}_development.db')")
|
134
|
+
ar.gsub! /!DB_PRODUCTION!/, SQLITE.gsub(/!DB_NAME!/,"Padrino.root('db', '#{db}_production.db')")
|
135
|
+
ar.gsub! /!DB_TEST!/, SQLITE.gsub(/!DB_NAME!/,"Padrino.root('db', '#{db}_test.db')")
|
136
|
+
require_dependencies 'sqlite3'
|
137
|
+
else
|
138
|
+
say "Failed to generate `config/database.rb` for ORM adapter `#{options[:adapter]}`", :red
|
139
|
+
fail ArgumentError
|
140
|
+
end
|
141
|
+
rescue ArgumentError
|
142
|
+
adapter = ask("Please, choose a proper adapter:", :limited_to => %w[mysql mysql2 mysql-gem postgres sqlite])
|
143
|
+
retry
|
135
144
|
end
|
145
|
+
|
136
146
|
require_dependencies 'mini_record'
|
137
147
|
create_file('config/database.rb', ar)
|
138
148
|
insert_hook('ActiveRecord::Base.auto_upgrade!', :after_load)
|
@@ -1,5 +1,4 @@
|
|
1
1
|
SEQUEL = (<<-SEQUEL) unless defined?(SEQUEL)
|
2
|
-
Sequel::Model.plugin(:schema)
|
3
2
|
Sequel::Model.raise_on_save_failure = false # Do not throw exceptions on failure
|
4
3
|
Sequel::Model.db = case Padrino.env
|
5
4
|
when :development then Sequel.connect(!DB_DEVELOPMENT!, :loggers => [logger])
|
@@ -12,32 +11,38 @@ def setup_orm
|
|
12
11
|
sequel = SEQUEL
|
13
12
|
db = @project_name.underscore
|
14
13
|
require_dependencies 'sequel'
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
'
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
14
|
+
|
15
|
+
begin
|
16
|
+
case adapter ||= options[:adapter]
|
17
|
+
when 'mysql-gem'
|
18
|
+
sequel.gsub!(/!DB_DEVELOPMENT!/, "\"mysql://localhost/#{db}_development\"")
|
19
|
+
sequel.gsub!(/!DB_PRODUCTION!/, "\"mysql://localhost/#{db}_production\"")
|
20
|
+
sequel.gsub!(/!DB_TEST!/,"\"mysql://localhost/#{db}_test\"")
|
21
|
+
require_dependencies 'mysql', :version => "~> 2.8.1"
|
22
|
+
when 'mysql', 'mysql2'
|
23
|
+
sequel.gsub!(/!DB_DEVELOPMENT!/, "\"mysql2://localhost/#{db}_development\"")
|
24
|
+
sequel.gsub!(/!DB_PRODUCTION!/, "\"mysql2://localhost/#{db}_production\"")
|
25
|
+
sequel.gsub!(/!DB_TEST!/,"\"mysql2://localhost/#{db}_test\"")
|
26
|
+
require_dependencies 'mysql2'
|
27
|
+
when 'postgres'
|
28
|
+
sequel.gsub!(/!DB_DEVELOPMENT!/, "\"postgres://localhost/#{db}_development\"")
|
29
|
+
sequel.gsub!(/!DB_PRODUCTION!/, "\"postgres://localhost/#{db}_production\"")
|
30
|
+
sequel.gsub!(/!DB_TEST!/,"\"postgres://localhost/#{db}_test\"")
|
31
|
+
require_dependencies 'pg'
|
32
|
+
when 'sqlite'
|
33
|
+
sequel.gsub!(/!DB_DEVELOPMENT!/,"\"sqlite://db/#{db}_development.db\"")
|
34
|
+
sequel.gsub!(/!DB_PRODUCTION!/, "\"sqlite://db/#{db}_production.db\"")
|
35
|
+
sequel.gsub!(/!DB_TEST!/, "\"sqlite://db/#{db}_test.db\"")
|
36
|
+
require_dependencies 'sqlite3'
|
37
|
+
else
|
38
|
+
say "Failed to generate `config/database.rb` for ORM adapter `#{options[:adapter]}`", :red
|
39
|
+
fail ArgumentError
|
40
|
+
end
|
41
|
+
rescue ArgumentError
|
42
|
+
adapter = ask("Please, choose a proper adapter:", :limited_to => %w[mysql mysql2 mysql-gem postgres sqlite])
|
43
|
+
retry
|
40
44
|
end
|
45
|
+
|
41
46
|
create_file("config/database.rb", sequel)
|
42
47
|
empty_directory('db/migrate')
|
43
48
|
end
|
@@ -91,7 +91,7 @@ module Padrino
|
|
91
91
|
choice = @_components[comp] = resolve_valid_choice(comp)
|
92
92
|
execute_component_setup(comp, choice)
|
93
93
|
end
|
94
|
-
store_component_config('.components')
|
94
|
+
store_component_config('.components', :force => true)
|
95
95
|
store_component_choice(:namespace, @project_name)
|
96
96
|
store_component_choice(:migration_format, options[:migration_format])
|
97
97
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'fileutils'
|
2
|
+
require 'open-uri'
|
2
3
|
|
3
4
|
module Padrino
|
4
5
|
module Generators
|
@@ -125,14 +126,18 @@ module Padrino
|
|
125
126
|
when template_file =~ %r{^https?://} && template_file !~ /gist/
|
126
127
|
template_file
|
127
128
|
when template_file =~ /gist/ && template_file !~ /raw/
|
128
|
-
raw_link, _ = *open(template_file).read.scan(/<a\s+href\s?\=\"(.*?)\"\>raw/)
|
129
|
+
raw_link, _ = *open(template_file) { |io| io.read.scan(/<a\s+href\s?\=\"(.*?)\"\>raw/) }
|
129
130
|
raw_link ? "https://gist.github.com#{raw_link[0]}" : template_file
|
130
131
|
when File.extname(template_file).empty? # referencing official plugin (i.e hoptoad)
|
131
132
|
"https://raw.github.com/padrino/padrino-recipes/master/#{kind.to_s.pluralize}/#{template_file}_#{kind}.rb"
|
132
133
|
else # local file on system
|
133
134
|
File.expand_path(template_file)
|
134
135
|
end
|
135
|
-
|
136
|
+
begin
|
137
|
+
self.apply(template_path)
|
138
|
+
rescue => error
|
139
|
+
say("The template at #{template_path} could not be loaded: #{error.message}", :red)
|
140
|
+
end
|
136
141
|
end
|
137
142
|
end
|
138
143
|
end
|
@@ -50,7 +50,7 @@ if PadrinoTasks.load?(:datamapper, defined?(DataMapper))
|
|
50
50
|
|
51
51
|
desc "Create the database"
|
52
52
|
task :create => :environment do
|
53
|
-
config = Utils.symbolize_keys(DataMapper.repository.adapter.options)
|
53
|
+
config = Padrino::Utils.symbolize_keys(DataMapper.repository.adapter.options)
|
54
54
|
adapter = config[:adapter]
|
55
55
|
user, password, host = config[:user], config[:password], config[:host]
|
56
56
|
|
@@ -67,7 +67,7 @@ if PadrinoTasks.load?(:datamapper, defined?(DataMapper))
|
|
67
67
|
|
68
68
|
desc "Drop the database (postgres and mysql only)"
|
69
69
|
task :drop => :environment do
|
70
|
-
config = Utils.symbolize_keys(DataMapper.repository.adapter.options)
|
70
|
+
config = Padrino::Utils.symbolize_keys(DataMapper.repository.adapter.options)
|
71
71
|
adapter = config[:adapter]
|
72
72
|
user, password, host = config[:user], config[:password], config[:host]
|
73
73
|
|
@@ -101,7 +101,8 @@ describe "PluginGenerator" do
|
|
101
101
|
FakeWeb.register_uri :get, resolved_path, :status => 404
|
102
102
|
plugin_gen = Padrino::Generators::Plugin.new([ template_file], ["-r=#{@apptmp}/sample_project"],{})
|
103
103
|
plugin_gen.expects(:in_app_root?).returns(true).once
|
104
|
-
|
104
|
+
# Use regex to ignore trailing whitespace in message
|
105
|
+
plugin_gen.expects(:say).with{ |message, color| (message =~ /The template at #{resolved_path} could not be loaded:.*404.*/) && (color == :red) }.returns(true).once
|
105
106
|
capture_io { plugin_gen.invoke_all }
|
106
107
|
end
|
107
108
|
end
|
@@ -328,7 +328,7 @@ describe "ProjectGenerator" do
|
|
328
328
|
end
|
329
329
|
|
330
330
|
it 'should properly generate sqlite3' do
|
331
|
-
out, err = capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--orm=activerecord', '--adapter=
|
331
|
+
out, err = capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--orm=activerecord', '--adapter=sqlite') }
|
332
332
|
assert_match_in_file(/gem 'sqlite3'/, "#{@apptmp}/sample_project/Gemfile")
|
333
333
|
assert_match_in_file(/sample_project_development.db/, "#{@apptmp}/sample_project/config/database.rb")
|
334
334
|
assert_match_in_file(%r{:adapter => 'sqlite3'}, "#{@apptmp}/sample_project/config/database.rb")
|
data/test/test_task_generator.rb
CHANGED
@@ -54,5 +54,12 @@ describe "TaskGenerator" do
|
|
54
54
|
assert_match_in_file(/desc "This is a sample"/, file_path)
|
55
55
|
assert_match_in_file(/task :demo_task => :environment do/, file_path)
|
56
56
|
end
|
57
|
+
|
58
|
+
it 'should preserve spaces' do
|
59
|
+
capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
|
60
|
+
Padrino.bin_gen('task', 'DemoTask', "--namespace=Sample", "--description=This is a sample", "-r=#{@apptmp}/sample_project", :out => File::NULL)
|
61
|
+
file_path = "#{@apptmp}/sample_project/tasks/sample_demo_task.rake"
|
62
|
+
assert_match_in_file(/desc "This is a sample"/, file_path)
|
63
|
+
end
|
57
64
|
end
|
58
65
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: padrino-gen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.14.
|
4
|
+
version: 0.14.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Padrino Team
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2018-01-02 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: padrino-core
|
@@ -19,58 +19,56 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.14.
|
22
|
+
version: 0.14.2
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.14.
|
29
|
+
version: 0.14.2
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: bundler
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
requirements:
|
34
|
-
- - ~>
|
34
|
+
- - "~>"
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version:
|
37
|
-
MS4w
|
36
|
+
version: '1.0'
|
38
37
|
type: :runtime
|
39
38
|
prerelease: false
|
40
39
|
version_requirements: !ruby/object:Gem::Requirement
|
41
40
|
requirements:
|
42
|
-
- - ~>
|
41
|
+
- - "~>"
|
43
42
|
- !ruby/object:Gem::Version
|
44
|
-
version:
|
45
|
-
MS4w
|
43
|
+
version: '1.0'
|
46
44
|
- !ruby/object:Gem::Dependency
|
47
45
|
name: padrino-helpers
|
48
46
|
requirement: !ruby/object:Gem::Requirement
|
49
47
|
requirements:
|
50
48
|
- - '='
|
51
49
|
- !ruby/object:Gem::Version
|
52
|
-
version: 0.14.
|
50
|
+
version: 0.14.2
|
53
51
|
type: :development
|
54
52
|
prerelease: false
|
55
53
|
version_requirements: !ruby/object:Gem::Requirement
|
56
54
|
requirements:
|
57
55
|
- - '='
|
58
56
|
- !ruby/object:Gem::Version
|
59
|
-
version: 0.14.
|
57
|
+
version: 0.14.2
|
60
58
|
- !ruby/object:Gem::Dependency
|
61
59
|
name: padrino-mailer
|
62
60
|
requirement: !ruby/object:Gem::Requirement
|
63
61
|
requirements:
|
64
62
|
- - '='
|
65
63
|
- !ruby/object:Gem::Version
|
66
|
-
version: 0.14.
|
64
|
+
version: 0.14.2
|
67
65
|
type: :development
|
68
66
|
prerelease: false
|
69
67
|
version_requirements: !ruby/object:Gem::Requirement
|
70
68
|
requirements:
|
71
69
|
- - '='
|
72
70
|
- !ruby/object:Gem::Version
|
73
|
-
version: 0.14.
|
71
|
+
version: 0.14.2
|
74
72
|
description: Generators for easily creating and building padrino applications from
|
75
73
|
the console
|
76
74
|
email: padrinorb@gmail.com
|
@@ -80,9 +78,9 @@ extensions: []
|
|
80
78
|
extra_rdoc_files:
|
81
79
|
- README.rdoc
|
82
80
|
files:
|
83
|
-
- .document
|
84
|
-
- .gitignore
|
85
|
-
- .yardopts
|
81
|
+
- ".document"
|
82
|
+
- ".gitignore"
|
83
|
+
- ".yardopts"
|
86
84
|
- LICENSE.txt
|
87
85
|
- README.rdoc
|
88
86
|
- Rakefile
|
@@ -204,22 +202,22 @@ licenses:
|
|
204
202
|
metadata: {}
|
205
203
|
post_install_message:
|
206
204
|
rdoc_options:
|
207
|
-
- --charset=UTF-8
|
205
|
+
- "--charset=UTF-8"
|
208
206
|
require_paths:
|
209
207
|
- lib
|
210
208
|
required_ruby_version: !ruby/object:Gem::Requirement
|
211
209
|
requirements:
|
212
|
-
- -
|
210
|
+
- - ">="
|
213
211
|
- !ruby/object:Gem::Version
|
214
212
|
version: '0'
|
215
213
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
216
214
|
requirements:
|
217
|
-
- -
|
215
|
+
- - ">="
|
218
216
|
- !ruby/object:Gem::Version
|
219
217
|
version: 1.3.6
|
220
218
|
requirements: []
|
221
219
|
rubyforge_project: padrino-gen
|
222
|
-
rubygems_version: 2.
|
220
|
+
rubygems_version: 2.6.12
|
223
221
|
signing_key:
|
224
222
|
specification_version: 4
|
225
223
|
summary: Generators for easily creating and building padrino applications
|