pah 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. data/.gitignore +17 -0
  2. data/.rvmrc +1 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +55 -0
  6. data/Rakefile +1 -0
  7. data/bin/pah +4 -0
  8. data/lib/pah/README.md +53 -0
  9. data/lib/pah/build +17 -0
  10. data/lib/pah/files/.gitignore +17 -0
  11. data/lib/pah/files/.rvmrc +48 -0
  12. data/lib/pah/files/Gemfile +52 -0
  13. data/lib/pah/files/Procfile +1 -0
  14. data/lib/pah/files/app/assets/stylesheets/reset.css +40 -0
  15. data/lib/pah/files/app/controllers/admin/contents_controller.rb +2 -0
  16. data/lib/pah/files/app/helpers/typus_helper.rb +32 -0
  17. data/lib/pah/files/app/models/content.rb +27 -0
  18. data/lib/pah/files/app/views/admin/dashboard/_sidebar.html.erb +0 -0
  19. data/lib/pah/files/app/views/layouts/application.html.haml +68 -0
  20. data/lib/pah/files/config/database.yml +22 -0
  21. data/lib/pah/files/config/initializers/omniauth.rb +4 -0
  22. data/lib/pah/files/config/initializers/requires.rb +1 -0
  23. data/lib/pah/files/config/locales/pt-BR.app.yml +16 -0
  24. data/lib/pah/files/config/locales/pt-BR.content.yml +12 -0
  25. data/lib/pah/files/config/locales/pt-BR.typus.yml +15 -0
  26. data/lib/pah/files/config/locales/pt-BR.yml +207 -0
  27. data/lib/pah/files/config/typus/content.yml +8 -0
  28. data/lib/pah/files/config/typus/content_roles.yml +4 -0
  29. data/lib/pah/files/config/unicorn.rb +27 -0
  30. data/lib/pah/files/db/migrate/20120605205337_create_contents.rb +11 -0
  31. data/lib/pah/files/db/seeds.rb +10 -0
  32. data/lib/pah/files/lib/tasks/integration.rake +14 -0
  33. data/lib/pah/files/public/index.html +1 -0
  34. data/lib/pah/files/spec/acceptance/dummy_spec.rb +9 -0
  35. data/lib/pah/files/spec/controllers/admin/contents_controller_spec.rb +5 -0
  36. data/lib/pah/files/spec/factories/content.rb +8 -0
  37. data/lib/pah/files/spec/helpers/typus_helper_spec.rb +71 -0
  38. data/lib/pah/files/spec/models/content_spec.rb +64 -0
  39. data/lib/pah/files/spec/spec_helper.rb +47 -0
  40. data/lib/pah/files/spec/support/README +1 -0
  41. data/lib/pah/files/spec/support/acceptance_helpers.rb +26 -0
  42. data/lib/pah/files/spec/support/acceptance_macros.rb +16 -0
  43. data/lib/pah/files/spec/support/capybara.rb +8 -0
  44. data/lib/pah/files/spec/support/deferred_garbage_collection.rb +35 -0
  45. data/lib/pah/files/spec/support/http_basic_auth.rb +26 -0
  46. data/lib/pah/files/spec/support/matchers.rb +5 -0
  47. data/lib/pah/files/spec/support/omniauth.rb +27 -0
  48. data/lib/pah/files/spec/support/paperclip.rb +4 -0
  49. data/lib/pah/files/spec/support/shared_connection.rb +12 -0
  50. data/lib/pah/files/spec/support/suppress_log.rb +5 -0
  51. data/lib/pah/files/spec/support/uploaded_file.rb +19 -0
  52. data/lib/pah/files/spec/support/vcr.rb +7 -0
  53. data/lib/pah/partials/_canonical_host.rb +14 -0
  54. data/lib/pah/partials/_capybara.rb +11 -0
  55. data/lib/pah/partials/_cleanup.rb +20 -0
  56. data/lib/pah/partials/_database.rb +6 -0
  57. data/lib/pah/partials/_default.rb +26 -0
  58. data/lib/pah/partials/_finish.rb +8 -0
  59. data/lib/pah/partials/_gems.rb +7 -0
  60. data/lib/pah/partials/_generators.rb +37 -0
  61. data/lib/pah/partials/_git.rb +7 -0
  62. data/lib/pah/partials/_heroku.rb +51 -0
  63. data/lib/pah/partials/_omniauth.rb +13 -0
  64. data/lib/pah/partials/_rspec.rb +13 -0
  65. data/lib/pah/partials/_rvm.rb +43 -0
  66. data/lib/pah/partials/_secure_headers.rb +12 -0
  67. data/lib/pah/setup.rb +17 -0
  68. data/lib/pah/template.rb +91 -0
  69. data/lib/pah/version.rb +3 -0
  70. data/pah.gemspec +27 -0
  71. metadata +205 -0
@@ -0,0 +1,7 @@
1
+ puts "Initializing new Git repo ...".magenta
2
+
3
+ git :init
4
+ git :add => "."
5
+ git :commit => "-aqm 'Initial commit.'"
6
+
7
+ puts "\n"
@@ -0,0 +1,51 @@
1
+ say "Configuring Heroku application...".magenta
2
+
3
+ if would_you_like? "Create Heroku apps?".red
4
+ config = {}
5
+ heroku_name = ask_unless_test "What do you want to call your app? (#{heroku_name})".red
6
+ heroku_name = @app_name.gsub('_','')
7
+ config['staging'] = would_you_like? "Create staging app? (#{heroku_name}-staging.heroku.com) [y,n]".red
8
+ config['deploy'] = would_you_like? "Deploy immediately?".red
9
+ config['domain'] = ask_unless_test "Add custom domain(customdomain.com) or leave blank".red
10
+
11
+ say "Creating Heroku app '#{heroku_name}.herokuapp.com'".magenta
12
+ system("heroku create #{heroku_name}")
13
+
14
+ if config['staging']
15
+ staging_name = ask_unless_test "What do you want to call your staging app?".red
16
+ staging_name = "#{heroku_name}-staging"
17
+ say "Creating staging Heroku app '#{staging_name}.herokuapp.com'".magenta
18
+ system("heroku create #{staging_name}")
19
+ say "Add git remote heroku for Heroku deploy.".magenta
20
+ git :remote => "add heroku git@heroku.com:#{heroku_name}.git"
21
+ end
22
+
23
+ unless config['domain'].blank?
24
+ run "heroku domains:add #{config['domain']}"
25
+ end
26
+
27
+ colaborators = ask_unless_test "Add collaborators? Type the email's separated by comma.".red
28
+
29
+ if colaborators
30
+ colaborators.split(",").map(&:strip).each do |email|
31
+ run "heroku sharing:add #{email}"
32
+ end
33
+ end
34
+
35
+ say "Adding heroku addon [PG Backups]...".magenta
36
+ run "heroku addons:add pgbackups:plus"
37
+
38
+ say "Adding heroku addon [Loggly]...".magenta
39
+ run "heroku addons:add loggly:mole"
40
+
41
+ sendgrid = ask_unless_test "Add sendgrid:starter addon?".red
42
+
43
+ if sendgrid
44
+ say "Adding heroku addon [Sendgrid]...".magenta
45
+ run "heroku addons:add sendgrid:starter"
46
+ end
47
+
48
+ say "Pushing application to heroku...".magenta
49
+ git :push => "heroku master" if config['deploy']
50
+ run "heroku open" if config['deploy']
51
+ end
@@ -0,0 +1,13 @@
1
+ puts "Add omniauth support ...".magenta
2
+
3
+ if would_you_like? "Add omniauth support?".red
4
+ %w{omniauth.rb}.each do |component|
5
+ copy_static_file "config/initializers/#{component}"
6
+ end
7
+
8
+ gsub_file 'Gemfile', /# gem 'omniauth/, "gem 'omniauth"
9
+
10
+ git :add => '.'
11
+ git :commit => "-aqm 'Add omniauth support.'"
12
+ puts "\n"
13
+ end
@@ -0,0 +1,13 @@
1
+ puts "Setting up RSpec ... ".magenta
2
+
3
+ remove_dir 'test'
4
+
5
+ copy_static_file 'spec/spec_helper.rb'
6
+
7
+ %w{vcr.rb deferred_garbage_collection.rb http_basic_auth.rb matchers.rb uploaded_file.rb suppress_log.rb}.each do |component|
8
+ copy_static_file "spec/support/#{component}"
9
+ end
10
+
11
+ git :add => '.'
12
+ git :commit => "-aqm 'Configured RSpec.'"
13
+ puts "\n"
@@ -0,0 +1,43 @@
1
+ # Set up rvm private gemset
2
+ require 'rvm'
3
+ puts "Setting up RVM gemset and installing bundled gems (may take a while) ... ".magenta
4
+
5
+ # Need to strip colors in case rvm_pretty_print_flag is enabled in user's .rvmrc
6
+ rvm_list = `rvm list`.gsub(Regexp.new("\e\\[.?.?.?m"), '')
7
+
8
+ current_ruby = rvm_list.match(/=.? ([^ ]+)/)[1]
9
+ desired_ruby = ask_unless_test("Which RVM Ruby would you like to use? [#{current_ruby}]".red)
10
+ desired_ruby = current_ruby if desired_ruby.blank?
11
+
12
+ @env = RVM::Environment.new(desired_ruby)
13
+
14
+ gemset_name = ask_unless_test("What name should the custom gemset have? [#{@app_name}]".red)
15
+ gemset_name = @app_name if gemset_name.blank?
16
+
17
+ puts "Creating gemset #{gemset_name} in #{desired_ruby}"
18
+ @env.gemset_create(gemset_name)
19
+ puts "Now using gemset #{gemset_name}"
20
+ @env.gemset_use!(gemset_name)
21
+
22
+ if `rvm current`.strip.split('@')[1] != gemset_name
23
+ puts "Error using gemset #{gemset_name}".red
24
+ exit
25
+ end
26
+
27
+ # Since the gemset is likely empty, manually install bundler so it can install the rest
28
+ run "gem install bundler --no-ri --no-rdoc"
29
+
30
+ # Install all other gems needed from Gemfile
31
+ run "bundle install"
32
+
33
+ copy_static_file '.rvmrc'
34
+ gsub_file '.rvmrc', /PROJECT/, gemset_name
35
+ gsub_file '.rvmrc', /RUBYVERSION/, desired_ruby
36
+
37
+ git :add => '.rvmrc'
38
+ git :commit => "-qm 'Adding .rvmrc.'"
39
+
40
+ git :add => 'Gemfile.lock'
41
+ git :commit => "-qm 'Adding Gemfile.lock.'"
42
+
43
+ puts "\n"
@@ -0,0 +1,12 @@
1
+ puts "Adding secure headers... ".magenta
2
+ content = <<EOF
3
+
4
+ ensure_security_headers # See more: https://github.com/twitter/secureheaders
5
+ EOF
6
+ in_root do
7
+ inject_into_file 'app/controllers/application_controller.rb', content, {after: "protect_from_forgery", verbose: false}
8
+ end
9
+ git :add => 'app/controllers/application_controller.rb'
10
+ git :commit => "-qm 'Adding secure headers.'"
11
+
12
+ puts "\n"
data/lib/pah/setup.rb ADDED
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ @app_name = ARGV.first
4
+ FileUtils.mkdir @app_name
5
+
6
+ File.open(File.join(@app_name, ".rvmrc"),'r') do |f|
7
+ f << %{#export APP_URL=http://dev:3000/
8
+ #export AMAZON_S3_BUCKET=#{@app_name}-dev
9
+ #export AMAZON_ACCESS_KEY_ID=x
10
+ #export AMAZON_SECRET_ACCESS_KEY=x
11
+ #export FACEBOOK_APP_KEY=x
12
+ #export FACEBOOK_APP_SECRET=x
13
+ rvm 1.9.3@#{@app_name} --create
14
+ }
15
+ end
16
+
17
+ exec "cd #{@app_name}; gem install rails"
@@ -0,0 +1,91 @@
1
+ #
2
+ # startupdev-rails-template
3
+ #
4
+ # Usage:
5
+ # rails new appname -m /path/to/template.rb
6
+ #
7
+ # Also see http://textmate.rubyforge.org/thor/Thor/Actions.html
8
+ #
9
+
10
+ %w{colored}.each do |component|
11
+ if Gem::Specification.find_all_by_name(component).empty?
12
+ run "gem install #{component}"
13
+ Gem.refresh
14
+ Gem::Specification.find_by_name(component).activate
15
+ end
16
+ end
17
+
18
+ require "rails"
19
+ require "colored"
20
+ require "bundler"
21
+
22
+ # Directories for template partials and static files
23
+ @template_root = File.expand_path(File.join(File.dirname(__FILE__)))
24
+ @partials = File.join(@template_root, 'partials')
25
+ @static_files = File.join(@template_root, 'files')
26
+
27
+ # Copy a static file from the template into the new application
28
+ def copy_static_file(path)
29
+ # puts "Installing #{path}...".magenta
30
+ remove_file path
31
+ file path, File.read(File.join(@static_files, path))
32
+ # puts "\n"
33
+ end
34
+
35
+ def apply_n(partial)
36
+ apply "#{@partials}/_#{partial}.rb"
37
+ end
38
+
39
+ def would_you_like?(question)
40
+ return true if ENV['RAILS_TEMPLATE_TEST'] == 'true'
41
+ answer = ask("#{question} [y,n]".red)
42
+ case answer.downcase
43
+ when "yes", "y"
44
+ true
45
+ when "no", "n"
46
+ false
47
+ else
48
+ would_you_like?(question)
49
+ end
50
+ end
51
+
52
+ def ask_unless_test(*params)
53
+ ask(*params) unless ENV['RAILS_TEMPLATE_TEST'] == 'true'
54
+ end
55
+
56
+ puts "\n========================================================="
57
+ puts " STARTUPDEV RAILS 3 TEMPLATE".yellow.bold
58
+ puts "=========================================================\n"
59
+
60
+ # TODO: timezone, Add rspec extensions
61
+
62
+ apply_n :git
63
+ apply_n :cleanup
64
+ apply_n :gems
65
+ apply_n :database
66
+ apply_n :rspec # TODO: rspec nao rolou no projeto POL, add simplecov.
67
+ apply_n :default
68
+ apply_n :secure_headers
69
+ apply_n :omniauth
70
+ apply_n :capybara
71
+ apply_n :generators
72
+ apply_n :canonical_host
73
+ apply_n :rvm
74
+ apply_n :finish
75
+
76
+ if ENV['RAILS_TEMPLATE_TEST'] == 'true'
77
+ in_root do
78
+ run "rake"
79
+ end
80
+ end
81
+
82
+ apply_n :heroku
83
+
84
+ # apply_n :omniauth # TODO: add spec support files
85
+ # TODO: take care of facebook when user is not logged in on facebook (when app)
86
+ # TODO: extrair phone validator to gem
87
+
88
+ puts "\n========================================================="
89
+ puts " CONGRATS! INSTALLATION COMPLETE!".yellow.bold
90
+ puts "=========================================================\n\n\n"
91
+ def run_bundle; end
@@ -0,0 +1,3 @@
1
+ module Pah
2
+ VERSION = "0.0.1"
3
+ end
data/pah.gemspec ADDED
@@ -0,0 +1,27 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'pah/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "pah"
8
+ spec.version = Pah::VERSION
9
+ spec.authors = ["Mauro George"]
10
+ spec.email = ["maurogot@gmail.com"]
11
+ spec.description = %q{A rails application template which born from Startup DEV and now is used to start most projects at HE:labs.}
12
+ spec.summary = %q{A rails application template which born from Startup DEV and now is used to start most projects at HE:labs.}
13
+ spec.homepage = "https://github.com/Helabs/pah"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency 'rails', '3.2.13'
22
+ spec.add_dependency 'colored', '1.2'
23
+ spec.add_dependency 'rvm', '1.11.3.7'
24
+
25
+ spec.add_development_dependency "bundler", "~> 1.3"
26
+ spec.add_development_dependency "rake"
27
+ end
metadata ADDED
@@ -0,0 +1,205 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pah
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Mauro George
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-06-17 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - '='
20
+ - !ruby/object:Gem::Version
21
+ version: 3.2.13
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - '='
28
+ - !ruby/object:Gem::Version
29
+ version: 3.2.13
30
+ - !ruby/object:Gem::Dependency
31
+ name: colored
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - '='
36
+ - !ruby/object:Gem::Version
37
+ version: '1.2'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - '='
44
+ - !ruby/object:Gem::Version
45
+ version: '1.2'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rvm
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - '='
52
+ - !ruby/object:Gem::Version
53
+ version: 1.11.3.7
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 1.11.3.7
62
+ - !ruby/object:Gem::Dependency
63
+ name: bundler
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: '1.3'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '1.3'
78
+ - !ruby/object:Gem::Dependency
79
+ name: rake
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ description: A rails application template which born from Startup DEV and now is used
95
+ to start most projects at HE:labs.
96
+ email:
97
+ - maurogot@gmail.com
98
+ executables:
99
+ - pah
100
+ extensions: []
101
+ extra_rdoc_files: []
102
+ files:
103
+ - .gitignore
104
+ - .rvmrc
105
+ - Gemfile
106
+ - LICENSE.txt
107
+ - README.md
108
+ - Rakefile
109
+ - bin/pah
110
+ - lib/pah/README.md
111
+ - lib/pah/build
112
+ - lib/pah/files/.gitignore
113
+ - lib/pah/files/.rvmrc
114
+ - lib/pah/files/Gemfile
115
+ - lib/pah/files/Procfile
116
+ - lib/pah/files/app/assets/stylesheets/reset.css
117
+ - lib/pah/files/app/controllers/admin/contents_controller.rb
118
+ - lib/pah/files/app/helpers/typus_helper.rb
119
+ - lib/pah/files/app/models/content.rb
120
+ - lib/pah/files/app/views/admin/dashboard/_sidebar.html.erb
121
+ - lib/pah/files/app/views/layouts/application.html.haml
122
+ - lib/pah/files/config/database.yml
123
+ - lib/pah/files/config/initializers/omniauth.rb
124
+ - lib/pah/files/config/initializers/requires.rb
125
+ - lib/pah/files/config/locales/pt-BR.app.yml
126
+ - lib/pah/files/config/locales/pt-BR.content.yml
127
+ - lib/pah/files/config/locales/pt-BR.typus.yml
128
+ - lib/pah/files/config/locales/pt-BR.yml
129
+ - lib/pah/files/config/typus/content.yml
130
+ - lib/pah/files/config/typus/content_roles.yml
131
+ - lib/pah/files/config/unicorn.rb
132
+ - lib/pah/files/db/migrate/20120605205337_create_contents.rb
133
+ - lib/pah/files/db/seeds.rb
134
+ - lib/pah/files/lib/tasks/integration.rake
135
+ - lib/pah/files/public/index.html
136
+ - lib/pah/files/spec/acceptance/dummy_spec.rb
137
+ - lib/pah/files/spec/controllers/admin/contents_controller_spec.rb
138
+ - lib/pah/files/spec/factories/content.rb
139
+ - lib/pah/files/spec/helpers/typus_helper_spec.rb
140
+ - lib/pah/files/spec/models/content_spec.rb
141
+ - lib/pah/files/spec/spec_helper.rb
142
+ - lib/pah/files/spec/support/README
143
+ - lib/pah/files/spec/support/acceptance_helpers.rb
144
+ - lib/pah/files/spec/support/acceptance_macros.rb
145
+ - lib/pah/files/spec/support/capybara.rb
146
+ - lib/pah/files/spec/support/deferred_garbage_collection.rb
147
+ - lib/pah/files/spec/support/http_basic_auth.rb
148
+ - lib/pah/files/spec/support/matchers.rb
149
+ - lib/pah/files/spec/support/omniauth.rb
150
+ - lib/pah/files/spec/support/paperclip.rb
151
+ - lib/pah/files/spec/support/shared_connection.rb
152
+ - lib/pah/files/spec/support/suppress_log.rb
153
+ - lib/pah/files/spec/support/uploaded_file.rb
154
+ - lib/pah/files/spec/support/vcr.rb
155
+ - lib/pah/partials/_canonical_host.rb
156
+ - lib/pah/partials/_capybara.rb
157
+ - lib/pah/partials/_cleanup.rb
158
+ - lib/pah/partials/_database.rb
159
+ - lib/pah/partials/_default.rb
160
+ - lib/pah/partials/_finish.rb
161
+ - lib/pah/partials/_gems.rb
162
+ - lib/pah/partials/_generators.rb
163
+ - lib/pah/partials/_git.rb
164
+ - lib/pah/partials/_heroku.rb
165
+ - lib/pah/partials/_omniauth.rb
166
+ - lib/pah/partials/_rspec.rb
167
+ - lib/pah/partials/_rvm.rb
168
+ - lib/pah/partials/_secure_headers.rb
169
+ - lib/pah/setup.rb
170
+ - lib/pah/template.rb
171
+ - lib/pah/version.rb
172
+ - pah.gemspec
173
+ homepage: https://github.com/Helabs/pah
174
+ licenses:
175
+ - MIT
176
+ post_install_message:
177
+ rdoc_options: []
178
+ require_paths:
179
+ - lib
180
+ required_ruby_version: !ruby/object:Gem::Requirement
181
+ none: false
182
+ requirements:
183
+ - - ! '>='
184
+ - !ruby/object:Gem::Version
185
+ version: '0'
186
+ segments:
187
+ - 0
188
+ hash: 3751234374814101144
189
+ required_rubygems_version: !ruby/object:Gem::Requirement
190
+ none: false
191
+ requirements:
192
+ - - ! '>='
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ segments:
196
+ - 0
197
+ hash: 3751234374814101144
198
+ requirements: []
199
+ rubyforge_project:
200
+ rubygems_version: 1.8.25
201
+ signing_key:
202
+ specification_version: 3
203
+ summary: A rails application template which born from Startup DEV and now is used
204
+ to start most projects at HE:labs.
205
+ test_files: []