padrino-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.
Files changed (37) hide show
  1. data/.document +5 -0
  2. data/.gitignore +21 -0
  3. data/LICENSE +20 -0
  4. data/README.rdoc +7 -0
  5. data/Rakefile +60 -0
  6. data/VERSION +1 -0
  7. data/bin/padrino-gen +5 -0
  8. data/lib/generators/actions.rb +81 -0
  9. data/lib/generators/base_app/.gitignore +7 -0
  10. data/lib/generators/base_app/Gemfile +13 -0
  11. data/lib/generators/base_app/config/dependencies.rb.tt +41 -0
  12. data/lib/generators/base_app/test/test_config.rb.tt +5 -0
  13. data/lib/generators/components/actions.rb +49 -0
  14. data/lib/generators/components/mocks/mocha_gen.rb +16 -0
  15. data/lib/generators/components/mocks/rr_gen.rb +16 -0
  16. data/lib/generators/components/orms/activerecord_gen.rb +60 -0
  17. data/lib/generators/components/orms/couchrest_gen.rb +29 -0
  18. data/lib/generators/components/orms/datamapper_gen.rb +27 -0
  19. data/lib/generators/components/orms/mongomapper_gen.rb +54 -0
  20. data/lib/generators/components/orms/sequel_gen.rb +28 -0
  21. data/lib/generators/components/renderers/erb_gen.rb +15 -0
  22. data/lib/generators/components/renderers/haml_gen.rb +16 -0
  23. data/lib/generators/components/scripts/jquery_gen.rb +15 -0
  24. data/lib/generators/components/scripts/prototype_gen.rb +16 -0
  25. data/lib/generators/components/scripts/rightjs_gen.rb +16 -0
  26. data/lib/generators/components/tests/bacon_test_gen.rb +27 -0
  27. data/lib/generators/components/tests/riot_test_gen.rb +27 -0
  28. data/lib/generators/components/tests/rspec_test_gen.rb +26 -0
  29. data/lib/generators/components/tests/shoulda_test_gen.rb +26 -0
  30. data/lib/generators/components/tests/testspec_test_gen.rb +26 -0
  31. data/lib/generators/skeleton.rb +53 -0
  32. data/lib/padrino-gen.rb +1 -0
  33. data/padrino-gen.gemspec +104 -0
  34. data/test/active_support_helpers.rb +7 -0
  35. data/test/helper.rb +73 -0
  36. data/test/test_skeleton_generator.rb +188 -0
  37. metadata +175 -0
@@ -0,0 +1,7 @@
1
+ unless Fixnum.method_defined?(:days)
2
+ require 'active_support/core_ext/object/misc'
3
+ require 'active_support/core_ext/date'
4
+ require 'active_support/core_ext/time'
5
+ require 'active_support/core_ext/numeric'
6
+ require 'active_support/duration'
7
+ end
data/test/helper.rb ADDED
@@ -0,0 +1,73 @@
1
+ require 'rubygems'
2
+ require 'test/unit'
3
+ require 'shoulda'
4
+ require 'mocha'
5
+ require 'rack/test'
6
+ require 'webrat'
7
+
8
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
9
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
10
+ require 'active_support_helpers'
11
+ require File.dirname(__FILE__) + '/../../padrino-helpers/lib/padrino-helpers.rb'
12
+
13
+ class Test::Unit::TestCase
14
+ include Padrino::Helpers::OutputHelpers
15
+ include Padrino::Helpers::TagHelpers
16
+ include Padrino::Helpers::AssetTagHelpers
17
+ include Rack::Test::Methods
18
+ include Webrat::Methods
19
+ include Webrat::Matchers
20
+
21
+ Webrat.configure do |config|
22
+ config.mode = :rack
23
+ end
24
+
25
+ def stop_time_for_test
26
+ time = Time.now
27
+ Time.stubs(:now).returns(time)
28
+ return time
29
+ end
30
+
31
+ # assert_has_tag(:h1, :content => "yellow") { "<h1>yellow</h1>" }
32
+ # In this case, block is the html to evaluate
33
+ def assert_has_tag(name, attributes = {}, &block)
34
+ html = block && block.call
35
+ matcher = HaveSelector.new(name, attributes)
36
+ raise "Please specify a block!" if html.blank?
37
+ assert matcher.matches?(html), matcher.failure_message
38
+ end
39
+
40
+ # assert_has_no_tag, tag(:h1, :content => "yellow") { "<h1>green</h1>" }
41
+ # In this case, block is the html to evaluate
42
+ def assert_has_no_tag(name, attributes = {}, &block)
43
+ html = block && block.call
44
+ attributes.merge!(:count => 0)
45
+ matcher = HaveSelector.new(name, attributes)
46
+ raise "Please specify a block!" if html.blank?
47
+ assert matcher.matches?(html), matcher.failure_message
48
+ end
49
+
50
+ # Silences the output by redirecting to stringIO
51
+ # silence_logger { ...commands... } => "...output..."
52
+ def silence_logger(&block)
53
+ orig_stdout = $stdout
54
+ $stdout = log_buffer = StringIO.new
55
+ block.call
56
+ $stdout = orig_stdout
57
+ log_buffer.rewind && log_buffer.read
58
+ end
59
+
60
+ # Asserts that a file matches the pattern
61
+ def assert_match_in_file(pattern, file)
62
+ assert File.exist?(file), "File '#{file}' does not exist!"
63
+ assert_match pattern, File.read(file)
64
+ end
65
+ end
66
+
67
+ module Webrat
68
+ module Logging
69
+ def logger # :nodoc:
70
+ @logger = nil
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,188 @@
1
+ require File.dirname(__FILE__) + '/helper'
2
+ require File.dirname(__FILE__) + "/../lib/padrino-gen"
3
+ require 'thor'
4
+
5
+ class TestSkeletonGenerator < Test::Unit::TestCase
6
+ def setup
7
+ `rm -rf /tmp/sample_app`
8
+ end
9
+
10
+ context 'the skeleton generator' do
11
+ should "allow simple generator to run and create base_app with no options" do
12
+ assert_nothing_raised { silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--script=none']) } }
13
+ assert File.exist?('/tmp/sample_app')
14
+ assert File.exist?('/tmp/sample_app/config/dependencies.rb')
15
+ assert File.exist?('/tmp/sample_app/test/test_config.rb')
16
+ end
17
+ should "create components file containing options chosen with defaults" do
18
+ silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp']) }
19
+ components_chosen = YAML.load_file('/tmp/sample_app/.components')
20
+ assert_equal 'datamapper', components_chosen[:orm]
21
+ assert_equal 'bacon', components_chosen[:test]
22
+ assert_equal 'mocha', components_chosen[:mock]
23
+ assert_equal 'jquery', components_chosen[:script]
24
+ assert_equal 'erb', components_chosen[:renderer]
25
+ end
26
+ should "create components file containing options chosen" do
27
+ component_options = ['--orm=datamapper', '--test=riot', '--mock=mocha', '--script=prototype', '--renderer=erb']
28
+ silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', *component_options]) }
29
+ components_chosen = YAML.load_file('/tmp/sample_app/.components')
30
+ assert_equal 'datamapper', components_chosen[:orm]
31
+ assert_equal 'riot', components_chosen[:test]
32
+ assert_equal 'mocha', components_chosen[:mock]
33
+ assert_equal 'prototype', components_chosen[:script]
34
+ assert_equal 'erb', components_chosen[:renderer]
35
+ end
36
+ should "output to log components being applied" do
37
+ component_options = ['--orm=datamapper', '--test=riot', '--mock=mocha', '--script=prototype', '--renderer=erb']
38
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', *component_options]) }
39
+ assert_match /Applying.*?datamapper.*?orm/, buffer
40
+ assert_match /Applying.*?riot.*?test/, buffer
41
+ assert_match /Applying.*?mocha.*?mock/, buffer
42
+ assert_match /Applying.*?prototype.*?script/, buffer
43
+ assert_match /Applying.*?erb.*?renderer/, buffer
44
+ end
45
+ should "output gem files for base app" do
46
+ silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--script=none']) }
47
+ assert_match_in_file(/gem 'sinatra'/, '/tmp/sample_app/Gemfile')
48
+ assert_match_in_file(/gem 'padrino'/, '/tmp/sample_app/Gemfile')
49
+ assert_match_in_file(/gem 'rack-flash'/, '/tmp/sample_app/Gemfile')
50
+ assert_match_in_file(/gem 'rack-test'/, '/tmp/sample_app/Gemfile')
51
+ end
52
+ end
53
+
54
+ context "a generator for mock component" do
55
+ should "properly generate for rr" do
56
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--mock=rr', '--script=none']) }
57
+ assert_match /Applying.*?rr.*?mock/, buffer
58
+ assert_match_in_file(/gem 'rr'/, '/tmp/sample_app/Gemfile')
59
+ assert_match_in_file(/include RR::Adapters::RRMethods/m, '/tmp/sample_app/test/test_config.rb')
60
+ end
61
+
62
+ should "properly generate default for mocha" do
63
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--mock=mocha', '--script=none']) }
64
+ assert_match /Applying.*?mocha.*?mock/, buffer
65
+ assert_match_in_file(/gem 'mocha'/, '/tmp/sample_app/Gemfile')
66
+ assert_match_in_file(/include Mocha::API/m, '/tmp/sample_app/test/test_config.rb')
67
+ end
68
+ end
69
+
70
+ context "the generator for orm components" do
71
+ should "properly generate for sequel" do
72
+ Padrino::Generators::Skeleton.instance_eval("undef setup_orm if respond_to?('setup_orm')")
73
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--orm=sequel', '--script=none']) }
74
+ assert_match /Applying.*?sequel.*?orm/, buffer
75
+ assert_match_in_file(/gem 'sequel'/, '/tmp/sample_app/Gemfile')
76
+ assert_match_in_file(/SequelInitializer/, '/tmp/sample_app/config/initializers/sequel.rb')
77
+ # assert_match_in_file(/class User < Sequel::Model/, '/tmp/sample_app/app/models/user.rb')
78
+ end
79
+
80
+ should "properly generate for activerecord" do
81
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--orm=activerecord', '--script=none']) }
82
+ assert_match /Applying.*?activerecord.*?orm/, buffer
83
+ assert_match_in_file(/gem 'activerecord'/, '/tmp/sample_app/Gemfile')
84
+ assert_match_in_file(/ActiveRecordInitializer/, '/tmp/sample_app/config/initializers/active_record.rb')
85
+ assert_match_in_file(/Migrate the database/, '/tmp/sample_app/Rakefile')
86
+ # assert_match_in_file(/CreateUsers < ActiveRecord::Migration/, '/tmp/sample_app/db/migrate/001_create_users.rb')
87
+ # assert_match_in_file(/class User < ActiveRecord::Base/, '/tmp/sample_app/app/models/user.rb')
88
+ end
89
+
90
+ should "properly generate default for datamapper" do
91
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--orm=datamapper', '--script=none']) }
92
+ assert_match /Applying.*?datamapper.*?orm/, buffer
93
+ assert_match_in_file(/gem 'dm-core'/, '/tmp/sample_app/Gemfile')
94
+ assert_match_in_file(/DataMapperInitializer/, '/tmp/sample_app/config/initializers/data_mapper.rb')
95
+ # assert_match_in_file(/class User.*?include DataMapper::Resource/m, '/tmp/sample_app/app/models/user.rb')
96
+ end
97
+
98
+ should "properly generate for mongomapper" do
99
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--orm=mongomapper', '--script=none']) }
100
+ assert_match /Applying.*?mongomapper.*?orm/, buffer
101
+ assert_match_in_file(/gem 'mongo_mapper'/, '/tmp/sample_app/Gemfile')
102
+ assert_match_in_file(/MongoDbInitializer/, '/tmp/sample_app/config/initializers/mongo_db.rb')
103
+ # assert_match_in_file(/class User.*?include MongoMapper::Document/m, '/tmp/sample_app/app/models/user.rb')
104
+ end
105
+
106
+ should "properly generate for couchrest" do
107
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--orm=couchrest', '--script=none']) }
108
+ assert_match /Applying.*?couchrest.*?orm/, buffer
109
+ assert_match_in_file(/gem 'couchrest'/, '/tmp/sample_app/Gemfile')
110
+ assert_match_in_file(/CouchRestInitializer/, '/tmp/sample_app/config/initializers/couch_rest.rb')
111
+ # assert_match_in_file(/class User < CouchRest::ExtendedDocument/m, '/tmp/sample_app/app/models/user.rb')
112
+ end
113
+ end
114
+
115
+ context "the generator for renderer component" do
116
+ should "properly generate default for erb" do
117
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--renderer=erb', '--script=none']) }
118
+ assert_match /Applying.*?erb.*?renderer/, buffer
119
+ assert_match_in_file(/gem 'erubis'/, '/tmp/sample_app/Gemfile')
120
+ end
121
+
122
+ should "properly generate for haml" do
123
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--renderer=haml','--script=none']) }
124
+ assert_match /Applying.*?haml.*?renderer/, buffer
125
+ assert_match_in_file(/gem 'haml'/, '/tmp/sample_app/Gemfile')
126
+ # assert_match_in_file(/gem 'hassle'/, '/tmp/sample_app/Gemfile')
127
+ # assert_match_in_file(/HassleInitializer/, '/tmp/sample_app/config/initializers/hassle.rb')
128
+ end
129
+ end
130
+
131
+ context "the generator for script component" do
132
+ should "properly generate for jquery" do
133
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--script=jquery']) }
134
+ assert_match /Applying.*?jquery.*?script/, buffer
135
+ assert File.exist?('/tmp/sample_app/public/javascripts/jquery.min.js')
136
+ end
137
+
138
+ should "properly generate for prototype" do
139
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--script=prototype']) }
140
+ assert_match /Applying.*?prototype.*?script/, buffer
141
+ assert File.exist?('/tmp/sample_app/public/javascripts/prototype.js')
142
+ assert File.exist?('/tmp/sample_app/public/javascripts/lowpro.js')
143
+ end
144
+
145
+ should "properly generate for rightjs" do
146
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--script=rightjs']) }
147
+ assert_match /Applying.*?rightjs.*?script/, buffer
148
+ assert File.exist?('/tmp/sample_app/public/javascripts/right-min.js')
149
+ end
150
+ end
151
+
152
+ context "the generator for test component" do
153
+ should "properly default generate for bacon" do
154
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--test=bacon', '--script=none']) }
155
+ assert_match /Applying.*?bacon.*?test/, buffer
156
+ assert_match_in_file(/gem 'bacon'/, '/tmp/sample_app/Gemfile')
157
+ assert_match_in_file(/Bacon::Context/, '/tmp/sample_app/test/test_config.rb')
158
+ end
159
+
160
+ should "properly generate for riot" do
161
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--test=riot', '--script=none']) }
162
+ assert_match /Applying.*?riot.*?test/, buffer
163
+ assert_match_in_file(/gem 'riot'/, '/tmp/sample_app/Gemfile')
164
+ assert_match_in_file(/Riot::Situation/, '/tmp/sample_app/test/test_config.rb')
165
+ end
166
+
167
+ should "properly generate for rspec" do
168
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--test=rspec', '--script=none']) }
169
+ assert_match /Applying.*?rspec.*?test/, buffer
170
+ assert_match_in_file(/gem 'spec'/, '/tmp/sample_app/Gemfile')
171
+ assert_match_in_file(/Spec::Runner/, '/tmp/sample_app/test/test_config.rb')
172
+ end
173
+
174
+ should "properly generate for shoulda" do
175
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--test=shoulda', '--script=none']) }
176
+ assert_match /Applying.*?shoulda.*?test/, buffer
177
+ assert_match_in_file(/gem 'shoulda'/, '/tmp/sample_app/Gemfile')
178
+ assert_match_in_file(/Test::Unit::TestCase/, '/tmp/sample_app/test/test_config.rb')
179
+ end
180
+
181
+ should "properly generate for testspec" do
182
+ buffer = silence_logger { Padrino::Generators::Skeleton.start(['sample_app', '/tmp', '--test=testspec', '--script=none']) }
183
+ assert_match /Applying.*?testspec.*?test/, buffer
184
+ assert_match_in_file(/gem 'test\/spec'/, '/tmp/sample_app/Gemfile')
185
+ assert_match_in_file(/Test::Unit::TestCase/, '/tmp/sample_app/test/test_config.rb')
186
+ end
187
+ end
188
+ end
metadata ADDED
@@ -0,0 +1,175 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: padrino-gen
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Padrino Team
8
+ - Nathan Esquenazi
9
+ - Davide D'Agostino
10
+ - Arthur Chiu
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+
15
+ date: 2009-11-16 00:00:00 -08:00
16
+ default_executable: padrino-gen
17
+ dependencies:
18
+ - !ruby/object:Gem::Dependency
19
+ name: sinatra
20
+ type: :runtime
21
+ version_requirement:
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 0.9.2
27
+ version:
28
+ - !ruby/object:Gem::Dependency
29
+ name: thor
30
+ type: :runtime
31
+ version_requirement:
32
+ version_requirements: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 0.11.8
37
+ version:
38
+ - !ruby/object:Gem::Dependency
39
+ name: bundler
40
+ type: :runtime
41
+ version_requirement:
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: "0"
47
+ version:
48
+ - !ruby/object:Gem::Dependency
49
+ name: haml
50
+ type: :development
51
+ version_requirement:
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 2.2.1
57
+ version:
58
+ - !ruby/object:Gem::Dependency
59
+ name: shoulda
60
+ type: :development
61
+ version_requirement:
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: "0"
67
+ version:
68
+ - !ruby/object:Gem::Dependency
69
+ name: mocha
70
+ type: :development
71
+ version_requirement:
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: 0.9.7
77
+ version:
78
+ - !ruby/object:Gem::Dependency
79
+ name: rack-test
80
+ type: :development
81
+ version_requirement:
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: 0.5.0
87
+ version:
88
+ - !ruby/object:Gem::Dependency
89
+ name: webrat
90
+ type: :development
91
+ version_requirement:
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: 0.5.1
97
+ version:
98
+ description: Generators for easily creating and building padrino applications from the console
99
+ email: nesquena@gmail.com
100
+ executables:
101
+ - padrino-gen
102
+ extensions: []
103
+
104
+ extra_rdoc_files:
105
+ - LICENSE
106
+ - README.rdoc
107
+ files:
108
+ - .document
109
+ - .gitignore
110
+ - LICENSE
111
+ - README.rdoc
112
+ - Rakefile
113
+ - VERSION
114
+ - bin/padrino-gen
115
+ - lib/generators/actions.rb
116
+ - lib/generators/base_app/.gitignore
117
+ - lib/generators/base_app/Gemfile
118
+ - lib/generators/base_app/config/dependencies.rb.tt
119
+ - lib/generators/base_app/test/test_config.rb.tt
120
+ - lib/generators/components/actions.rb
121
+ - lib/generators/components/mocks/mocha_gen.rb
122
+ - lib/generators/components/mocks/rr_gen.rb
123
+ - lib/generators/components/orms/activerecord_gen.rb
124
+ - lib/generators/components/orms/couchrest_gen.rb
125
+ - lib/generators/components/orms/datamapper_gen.rb
126
+ - lib/generators/components/orms/mongomapper_gen.rb
127
+ - lib/generators/components/orms/sequel_gen.rb
128
+ - lib/generators/components/renderers/erb_gen.rb
129
+ - lib/generators/components/renderers/haml_gen.rb
130
+ - lib/generators/components/scripts/jquery_gen.rb
131
+ - lib/generators/components/scripts/prototype_gen.rb
132
+ - lib/generators/components/scripts/rightjs_gen.rb
133
+ - lib/generators/components/tests/bacon_test_gen.rb
134
+ - lib/generators/components/tests/riot_test_gen.rb
135
+ - lib/generators/components/tests/rspec_test_gen.rb
136
+ - lib/generators/components/tests/shoulda_test_gen.rb
137
+ - lib/generators/components/tests/testspec_test_gen.rb
138
+ - lib/generators/skeleton.rb
139
+ - lib/padrino-gen.rb
140
+ - padrino-gen.gemspec
141
+ - test/active_support_helpers.rb
142
+ - test/helper.rb
143
+ - test/test_skeleton_generator.rb
144
+ has_rdoc: true
145
+ homepage: http://github.com/padrino/padrino-gen
146
+ licenses: []
147
+
148
+ post_install_message:
149
+ rdoc_options:
150
+ - --charset=UTF-8
151
+ require_paths:
152
+ - lib
153
+ required_ruby_version: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: "0"
158
+ version:
159
+ required_rubygems_version: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ version: "0"
164
+ version:
165
+ requirements: []
166
+
167
+ rubyforge_project:
168
+ rubygems_version: 1.3.5
169
+ signing_key:
170
+ specification_version: 3
171
+ summary: Generators for easily creating and building padrino applications
172
+ test_files:
173
+ - test/active_support_helpers.rb
174
+ - test/helper.rb
175
+ - test/test_skeleton_generator.rb