potassium 1.3.5 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rspec +3 -0
  4. data/.rubocop.yml +1 -1
  5. data/.ruby_style.yml +6 -2
  6. data/CHANGELOG.md +19 -1
  7. data/README.md +79 -74
  8. data/circle.yml +9 -0
  9. data/docs/CONTRIBUTING.md +132 -0
  10. data/docs/{dsl.md → DSL.md} +146 -18
  11. data/lib/potassium/{templates/application/assets → assets}/.bowerrc +0 -0
  12. data/lib/potassium/assets/.buildpacks +3 -0
  13. data/lib/potassium/{templates/application/assets → assets}/.editorconfig +0 -0
  14. data/lib/potassium/assets/.env.example.erb +8 -0
  15. data/lib/potassium/assets/.hound.yml +2 -0
  16. data/lib/potassium/{templates/application/assets → assets}/.pryrc +0 -0
  17. data/lib/potassium/assets/.rubocop.yml +3 -0
  18. data/lib/potassium/assets/.ruby_style.yml +0 -0
  19. data/lib/potassium/assets/Dockerfile.ci +4 -0
  20. data/lib/potassium/assets/Procfile +1 -0
  21. data/lib/potassium/assets/README.md.erb +2 -0
  22. data/lib/potassium/assets/README.yml +83 -0
  23. data/lib/potassium/{templates/application/assets → assets}/active_admin/active_admin.js.coffee +0 -0
  24. data/lib/potassium/{templates/application/assets → assets}/active_admin/admin_user_policy.rb +0 -0
  25. data/lib/potassium/{templates/application/assets → assets}/active_admin/comment_policy.rb +0 -0
  26. data/lib/potassium/{templates/application/assets → assets}/active_admin/init_activeadmin_angular.rb +0 -0
  27. data/lib/potassium/{templates/application/assets → assets}/active_admin/pundit_page_policy.rb +0 -0
  28. data/lib/potassium/{templates/application/assets → assets}/api/api_error_concern.rb +0 -0
  29. data/lib/potassium/{templates/application/assets → assets}/api/base_controller.rb +0 -0
  30. data/lib/potassium/{templates/application/assets → assets}/api/responder.rb +0 -0
  31. data/lib/potassium/assets/bin/cibuild.erb +27 -0
  32. data/lib/potassium/assets/bin/setup.erb +22 -0
  33. data/lib/potassium/assets/bin/setup_heroku.erb +21 -0
  34. data/lib/potassium/{templates/application/assets → assets}/bower.json +0 -0
  35. data/lib/potassium/assets/circle.yml +16 -0
  36. data/lib/potassium/assets/config/database_mysql.yml.erb +25 -0
  37. data/lib/potassium/assets/config/database_postgresql.yml.erb +25 -0
  38. data/lib/potassium/assets/config/environments/staging.rb +5 -0
  39. data/lib/potassium/assets/config/puma.rb +29 -0
  40. data/lib/potassium/assets/config/secrets.yml.erb +14 -0
  41. data/lib/potassium/assets/docker-compose.ci.yml +6 -0
  42. data/lib/potassium/{templates/application/assets → assets}/es.yml +0 -0
  43. data/lib/potassium/{templates/application/assets → assets}/testing/.rspec +0 -0
  44. data/lib/potassium/{templates/application/assets → assets}/testing/rails_helper.rb +0 -0
  45. data/lib/potassium/cli/commands/create.rb +55 -4
  46. data/lib/potassium/cli/commands/install.rb +27 -13
  47. data/lib/potassium/{templates/application/generator.rb → generators/application.rb} +7 -2
  48. data/lib/potassium/{templates/application/recipe_generator.rb → generators/recipe.rb} +11 -2
  49. data/lib/potassium/helpers/answer-helpers.rb +21 -0
  50. data/lib/potassium/{templates/application/helpers → helpers}/callback-helpers.rb +0 -0
  51. data/lib/potassium/helpers/docker-helpers.rb +37 -0
  52. data/lib/potassium/{templates/application/helpers → helpers}/environment-helpers.rb +0 -0
  53. data/lib/potassium/{templates/application/helpers → helpers}/gem-helpers.rb +6 -2
  54. data/lib/potassium/helpers/info-helpers.rb +16 -0
  55. data/lib/potassium/helpers/readme-helpers.rb +85 -0
  56. data/lib/potassium/{templates/application/helpers → helpers}/template-dsl.rb +8 -0
  57. data/lib/potassium/helpers/template-helpers.rb +97 -0
  58. data/lib/potassium/{templates/application/helpers → helpers}/variable-helpers.rb +0 -0
  59. data/lib/potassium/recipe.rb +2 -0
  60. data/lib/potassium/{templates/application/recipes → recipes}/admin.rb +36 -6
  61. data/lib/potassium/recipes/angular_admin.rb +56 -0
  62. data/lib/potassium/recipes/api.rb +43 -0
  63. data/lib/potassium/recipes/aws_sdk.rb +5 -0
  64. data/lib/potassium/recipes/bower.rb +13 -0
  65. data/lib/potassium/recipes/ci.rb +42 -0
  66. data/lib/potassium/recipes/cleanup.rb +10 -0
  67. data/lib/potassium/recipes/database.rb +42 -0
  68. data/lib/potassium/recipes/delayed_job.rb +41 -0
  69. data/lib/potassium/recipes/devise.rb +64 -0
  70. data/lib/potassium/recipes/editorconfig.rb +5 -0
  71. data/lib/potassium/recipes/env.rb +10 -0
  72. data/lib/potassium/recipes/git.rb +13 -0
  73. data/lib/potassium/recipes/github.rb +27 -0
  74. data/lib/potassium/recipes/heroku.rb +138 -0
  75. data/lib/potassium/recipes/i18n.rb +26 -0
  76. data/lib/potassium/recipes/paperclip.rb +37 -0
  77. data/lib/potassium/recipes/production.rb +7 -0
  78. data/lib/potassium/recipes/pry.rb +10 -0
  79. data/lib/potassium/recipes/puma.rb +19 -0
  80. data/lib/potassium/recipes/pundit.rb +61 -0
  81. data/lib/potassium/recipes/rack_cors.rb +21 -0
  82. data/lib/potassium/recipes/readme.rb +7 -0
  83. data/lib/potassium/recipes/ruby.rb +23 -0
  84. data/lib/potassium/recipes/script.rb +16 -0
  85. data/lib/potassium/recipes/secrets.rb +5 -0
  86. data/lib/potassium/recipes/staging.rb +5 -0
  87. data/lib/potassium/recipes/style.rb +13 -0
  88. data/lib/potassium/recipes/testing.rb +37 -0
  89. data/lib/potassium/templates/application.rb +67 -0
  90. data/lib/potassium/templates/recipe.rb +12 -0
  91. data/lib/potassium/text_spinner.rb +0 -5
  92. data/lib/potassium/version.rb +2 -1
  93. data/potassium.gemspec +3 -0
  94. data/spec/fakes/bin/heroku +5 -0
  95. data/spec/fakes/bin/hub +5 -0
  96. data/spec/features/ci_spec.rb +14 -0
  97. data/spec/features/github_spec.rb +22 -0
  98. data/spec/features/heroku_spec.rb +61 -0
  99. data/spec/features/new_project_spec.rb +38 -0
  100. data/spec/spec_helper.rb +33 -0
  101. data/spec/support/fake_github.rb +25 -0
  102. data/spec/support/fake_heroku.rb +77 -0
  103. data/spec/support/potassium_test_helpers.rb +98 -0
  104. metadata +149 -62
  105. data/lib/potassium/templates/application/assets/.rbenv-vars.example +0 -8
  106. data/lib/potassium/templates/application/assets/config/database_mysql.yml +0 -40
  107. data/lib/potassium/templates/application/assets/config/database_postgresql.yml +0 -26
  108. data/lib/potassium/templates/application/helpers/recipe-helpers.rb +0 -5
  109. data/lib/potassium/templates/application/helpers/template-helpers.rb +0 -35
  110. data/lib/potassium/templates/application/recipe_template.rb +0 -23
  111. data/lib/potassium/templates/application/recipes/angular_admin.rb +0 -26
  112. data/lib/potassium/templates/application/recipes/api.rb +0 -22
  113. data/lib/potassium/templates/application/recipes/asks/admin.rb +0 -9
  114. data/lib/potassium/templates/application/recipes/asks/api.rb +0 -2
  115. data/lib/potassium/templates/application/recipes/asks/database.rb +0 -9
  116. data/lib/potassium/templates/application/recipes/asks/devise.rb +0 -10
  117. data/lib/potassium/templates/application/recipes/asks/i18n.rb +0 -8
  118. data/lib/potassium/templates/application/recipes/asks/paperclip.rb +0 -2
  119. data/lib/potassium/templates/application/recipes/asks/pundit.rb +0 -4
  120. data/lib/potassium/templates/application/recipes/aws_sdk.rb +0 -1
  121. data/lib/potassium/templates/application/recipes/bower.rb +0 -3
  122. data/lib/potassium/templates/application/recipes/checks/devise.rb +0 -1
  123. data/lib/potassium/templates/application/recipes/database.rb +0 -22
  124. data/lib/potassium/templates/application/recipes/dependencies/admin.rb +0 -3
  125. data/lib/potassium/templates/application/recipes/devise.rb +0 -28
  126. data/lib/potassium/templates/application/recipes/editorconfig.rb +0 -1
  127. data/lib/potassium/templates/application/recipes/git.rb +0 -9
  128. data/lib/potassium/templates/application/recipes/i18n.rb +0 -9
  129. data/lib/potassium/templates/application/recipes/paperclip.rb +0 -20
  130. data/lib/potassium/templates/application/recipes/production.rb +0 -3
  131. data/lib/potassium/templates/application/recipes/pry.rb +0 -6
  132. data/lib/potassium/templates/application/recipes/pundit.rb +0 -33
  133. data/lib/potassium/templates/application/recipes/rack-cors.rb +0 -15
  134. data/lib/potassium/templates/application/recipes/rbenv.rb +0 -23
  135. data/lib/potassium/templates/application/recipes/readme.rb +0 -2
  136. data/lib/potassium/templates/application/recipes/testing.rb +0 -32
  137. data/lib/potassium/templates/application/recipes/unicorn.rb +0 -5
  138. data/lib/potassium/templates/application/template.rb +0 -58
@@ -1,8 +0,0 @@
1
- DB_HOST=
2
- DB_NAME=<%= get(:underscorized_app_name) %>
3
- DB_USER=root
4
- DB_PASSWORD=
5
- DEFAULT_EMAIL_ADDRESS=
6
- SECRET_KEY_BASE=
7
- AWS_ACCESS_KEY_ID=
8
- AWS_SECRET_ACCESS_KEY=
@@ -1,40 +0,0 @@
1
- <%
2
- socket = [
3
- ENV["BOXEN_MYSQL_SOCKET"],
4
- "/var/run/mysql5/mysqld.sock",
5
- "/tmp/mysql.sock"
6
- ].detect { |f| f && File.exist?(f) }
7
-
8
- port = ENV["BOXEN_MYSQL_PORT"] || "3306"
9
- %>
10
-
11
- production:
12
- adapter: mysql2
13
- encoding: utf8
14
- database: <%= ENV['DB_NAME'] %>
15
- pool: 5
16
- username: <%= ENV['DB_USER'] %>
17
- password: <%= ENV['DB_PASSWORD'] %>
18
- host: <%= ENV['DB_HOST'] %>
19
-
20
- development: &development
21
- adapter: mysql2
22
- encoding: utf8
23
- database: <%= ENV['DB_NAME'] %>_development
24
- username: <%= ENV['DB_USER'] %>
25
- password: <%= ENV['DB_PASSWORD'] %>
26
- <% if socket %>
27
- host: localhost
28
- socket: <%= socket %>
29
- <% else %>
30
- host: 127.0.0.1
31
- port: <%= port %>
32
- <% end %>
33
-
34
- # Warning: The database defined as "test" will be erased and
35
- # re-generated from your development database when you run "rake".
36
- # Do not set this db to the same as development or production.
37
- test:
38
- <<: *development
39
- database: <%= ENV['DB_NAME'] %>_test
40
- pool: 5
@@ -1,26 +0,0 @@
1
- production:
2
- adapter: postgresql
3
- encoding: utf8
4
- database: <%= ENV['DB_NAME'] %>
5
- pool: 5
6
- username: <%= ENV['DB_USER'] %>
7
- password: <%= ENV['DB_PASSWORD'] %>
8
- host: <%= ENV['DB_HOST'] %>
9
- port: <%= ENV['DB_PORT'] %>
10
-
11
- development: &development
12
- adapter: postgresql
13
- encoding: utf8
14
- database: <%= ENV['DB_NAME'] %>_development
15
- username: <%= ENV['DB_USER'] %>
16
- password: <%= ENV['DB_PASSWORD'] %>
17
- host: <%= ENV["BOXEN_POSTGRESQL_HOST"] || "127.0.0.1" %>
18
- port: <%= ENV["BOXEN_POSTGRESQL_PORT"] || 5432 %>
19
-
20
- # Warning: The database defined as "test" will be erased and
21
- # re-generated from your development database when you run "rake".
22
- # Do not set this db to the same as development or production.
23
- test:
24
- <<: *development
25
- database: <%= ENV['DB_NAME'] %>_test
26
- pool: 5
@@ -1,5 +0,0 @@
1
- module RecipeHelpers
2
- def export(file)
3
- exported_recipes << File.basename(file, '.rb')
4
- end
5
- end
@@ -1,35 +0,0 @@
1
- module TemplateHelpers
2
- def load_recipe(recipe)
3
- return if exists?(recipe)
4
- eval_file_with_rescue "recipes/checks/#{recipe}.rb"
5
- eval_file_with_rescue "recipes/dependencies/#{recipe}.rb"
6
- eval_file_with_rescue "recipes/asks/#{recipe}.rb"
7
- eval_file "recipes/#{recipe}.rb"
8
- end
9
-
10
- def eval_file_with_rescue(source)
11
- eval_file(source)
12
- rescue StandardError
13
- end
14
-
15
- def eval_file(source)
16
- location = File.expand_path(find_in_source_paths(source))
17
- unique_name = SecureRandom.hex
18
-
19
- define_singleton_method unique_name do
20
- instance_eval File.read(location)
21
- end
22
-
23
- public_send unique_name
24
- end
25
-
26
- def source_path(path)
27
- define_singleton_method :source_paths do
28
- [File.expand_path(File.dirname(path))]
29
- end
30
- end
31
-
32
- def erase_comments(file)
33
- gsub_file file, /^\s*#[^\n]*\n/, ''
34
- end
35
- end
@@ -1,23 +0,0 @@
1
- recipe = ARGV.first
2
-
3
- # Consider all the recipe's questions as true
4
- def selected?(_key, _val = nil)
5
- true
6
- end
7
-
8
- run_action(:recipe_loading) do
9
- load_recipe(recipe)
10
- end
11
-
12
- run_action(:gem_install) do
13
- build_gemfile
14
- run "bundle install"
15
- end
16
-
17
- # Ensure all the recipe's callbacks are executed
18
- get(:callbacks).each do |_name, callbacks|
19
- puts "Processing #{name} callbacks"
20
- callbacks.each do |_event, event_callbacks|
21
- event_callbacks.each { |callback| instance_exec(&callback) }
22
- end
23
- end
@@ -1,26 +0,0 @@
1
- if selected?(:angular_admin)
2
-
3
- after(:admin_install) do
4
- copy_file 'assets/active_admin/init_activeadmin_angular.rb',
5
- 'config/initializers/init_activeadmin_angular.rb'
6
-
7
- create_file 'app/assets/javascripts/admin_app.js', "angular.module('ActiveAdmin', []);"
8
-
9
- copy_file 'assets/active_admin/active_admin.js.coffee',
10
- 'app/assets/javascripts/active_admin.js.coffee',
11
- force: true
12
-
13
- empty_directory 'app/assets/javascripts/admin'
14
- empty_directory 'app/assets/javascripts/admin/controllers'
15
- empty_directory 'app/assets/javascripts/admin/services'
16
- empty_directory 'app/assets/javascripts/admin/directives'
17
-
18
- create_file 'app/assets/javascripts/admin/controllers/.keep'
19
- create_file 'app/assets/javascripts/admin/services/.keep'
20
- create_file 'app/assets/javascripts/admin/directives/.keep'
21
-
22
- inside('.') do
23
- run('bower install angular --save')
24
- end
25
- end
26
- end
@@ -1,22 +0,0 @@
1
- if get(:api_support)
2
- gather_gem 'versionist'
3
- gather_gem 'responders'
4
- gather_gem 'active_model_serializers', '~> 0.9.3'
5
- gather_gem 'simple_token_authentication', '~> 1.0'
6
-
7
- after(:gem_install) do
8
- line = "Rails.application.routes.draw do\n"
9
- insert_into_file "config/routes.rb", after: line do
10
- <<-HERE.gsub(/^ {7}/, '')
11
- scope path: '/api' do
12
- api_version(:module => "Api::V1", :path => {:value => "v1"}) do
13
- end
14
- end
15
- HERE
16
- end
17
-
18
- copy_file 'assets/api/base_controller.rb', 'app/controllers/api/v1/base_controller.rb'
19
- copy_file 'assets/api/api_error_concern.rb', 'app/controllers/concerns/api_error_concern.rb'
20
- copy_file 'assets/api/responder.rb', 'app/responders/api_responder.rb'
21
- end
22
- end
@@ -1,9 +0,0 @@
1
- if selected?(:authentication, :devise)
2
- admin_mode = Ask.confirm "Do you want to use ActiveAdmin?"
3
- if admin_mode
4
- angular_admin = Ask.confirm "Do you want Angular support for ActiveAdmin?"
5
- set(:angular_admin, angular_admin)
6
- end
7
-
8
- set(:admin_mode, admin_mode)
9
- end
@@ -1,2 +0,0 @@
1
- api_support = Ask.confirm "Do you want to enable API support?"
2
- set(:api_support, api_support)
@@ -1,9 +0,0 @@
1
- databases = {
2
- "MySQL" => "mysql",
3
- "PostgreSQL" => "postgresql",
4
- "None, thanks" => "none"
5
- }
6
-
7
- database = databases.values[Ask.list("Which database are you using?", databases.keys)]
8
-
9
- set :database, database
@@ -1,10 +0,0 @@
1
- use_devise = Ask.confirm "Do you want to use Devise for authentication? (required for ActiveAdmin)"
2
-
3
- if use_devise
4
- set(:authentication, :devise)
5
-
6
- create_user_model = Ask.confirm "Do you want to create a user model for Devise?"
7
- if create_user_model
8
- set(:authentication_model, :user)
9
- end
10
- end
@@ -1,8 +0,0 @@
1
- languages = {
2
- "Spanish" => "es",
3
- "English" => "en"
4
- }
5
-
6
- lang = languages.values[Ask.list("What is the main language of your app?", languages.keys)]
7
-
8
- set(:lang, lang)
@@ -1,2 +0,0 @@
1
- paperclip = Ask.confirm "Do you want to use Paperclip for uploads?"
2
- set(:paperclip, paperclip)
@@ -1,4 +0,0 @@
1
- if get(:authentication).present?
2
- use_pundit = Ask.confirm("Do you want to use Pundit for authorization?")
3
- set(:authorization, :pundit) if use_pundit
4
- end
@@ -1 +0,0 @@
1
- gather_gem('aws-sdk', '< 2')
@@ -1,3 +0,0 @@
1
- copy_file 'assets/.bowerrc', '.bowerrc'
2
- template 'assets/bower.json', 'bower.json'
3
- application "config.assets.paths << Rails.root.join('vendor', 'assets', 'bower_components')"
@@ -1 +0,0 @@
1
- set(:devise_exists, gem_exists?(/"devise"/))
@@ -1,22 +0,0 @@
1
- def activate_for_active_record(db)
2
- remove_file 'config/database.yml'
3
- copy_file "assets/config/database_#{db[:name]}.yml", 'config/database.yml'
4
-
5
- discard_gem 'sqlite3'
6
- if db[:version]
7
- gather_gem db[:gem_name], db[:version]
8
- else
9
- gather_gem db[:gem_name]
10
- end
11
- end
12
-
13
- databases = {
14
- mysql: { name: 'mysql', gem_name: 'mysql2', version: '~> 0.3.18', relational: true },
15
- postgresql: { name: 'postgresql', gem_name: 'pg', relational: true }
16
- }
17
-
18
- if db = databases[get(:database).to_sym]
19
- if db[:relational]
20
- activate_for_active_record(db)
21
- end
22
- end
@@ -1,3 +0,0 @@
1
- run_action(:recipe_loading) do
2
- load_recipe("devise")
3
- end
@@ -1,28 +0,0 @@
1
- authentication_framework = {
2
- devise: -> do
3
- gather_gem 'devise'
4
- gather_gem 'devise-i18n'
5
-
6
- after(:gem_install) do
7
- generate "devise:install"
8
-
9
- if auth_model = get(:authentication_model)
10
- generate "devise #{auth_model}"
11
- end
12
-
13
- gsub_file "config/initializers/devise.rb", /(\# config.secret_key.+)/i do |_match|
14
- "config.secret_key = ENV['DEVISE_SECRET_KEY']"
15
- end
16
-
17
- gsub_file "config/initializers/devise.rb", /(config.mailer_sender.+)/i do |_match|
18
- "config.mailer_sender = ENV['DEFAULT_EMAIL_ADDRESS']"
19
- end
20
-
21
- append_to_file '.rbenv-vars.example', 'DEVISE_SECRET_KEY='
22
- end
23
- end
24
- }
25
-
26
- if get(:authentication)
27
- instance_exec(&(authentication_framework[get(:authentication)] || -> {}))
28
- end
@@ -1 +0,0 @@
1
- copy_file 'assets/.editorconfig', '.editorconfig'
@@ -1,9 +0,0 @@
1
- after(:database_creation) do
2
- append_to_file '.gitignore', ".rbenv-vars\n"
3
- append_to_file '.gitignore', ".powder\n"
4
- append_to_file '.gitignore', "vendor/assets/bower_components\n"
5
-
6
- git :init
7
- git add: "."
8
- git commit: %{ -m 'Initial commit' }
9
- end
@@ -1,9 +0,0 @@
1
- gather_gem('rails-i18n')
2
-
3
- if equals?(:lang, 'es')
4
- template 'assets/es.yml', 'config/locales/es.yml'
5
- end
6
-
7
- gsub_file 'config/application.rb', /# config\.i18n\.default_locale =[^\n]+\n/ do
8
- "config.i18n.default_locale = :#{get(:lang)}\n"
9
- end
@@ -1,20 +0,0 @@
1
- if selected?(:paperclip)
2
- gather_gem('paperclip', '~> 4.3')
3
-
4
- gsub_file "config/environments/production.rb", /^end$/o do |_match|
5
- %{
6
-
7
- # Paperclip support for S3
8
- config.paperclip_defaults = {
9
- :storage => :s3,
10
- :s3_credentials => {
11
- :bucket => ENV['AWS_BUCKET']
12
- }
13
- }
14
- end}
15
- end
16
-
17
- append_to_file '.rbenv-vars.example', 'AWS_BUCKET='
18
- append_to_file '.rbenv-vars', 'AWS_BUCKET='
19
-
20
- end
@@ -1,3 +0,0 @@
1
- gsub_file "config/environments/production.rb", /(\# config.action_mailer.+)/i do |match|
2
- "#{match}\n config.action_mailer.default_options = {from: ENV['DEFAULT_EMAIL_ADDRESS']}\n"
3
- end
@@ -1,6 +0,0 @@
1
- gather_gems(:development, :test) do
2
- gather_gem('pry-rails')
3
- gather_gem('pry-byebug')
4
- end
5
-
6
- template 'assets/.pryrc', '.pryrc'
@@ -1,33 +0,0 @@
1
- authorization_framework = {
2
- pundit: -> do
3
- gather_gem 'pundit'
4
-
5
- after(:gem_install) do
6
- application_controller = "app/controllers/application_controller.rb"
7
- gsub_file application_controller, "protect_from_forgery" do
8
- "include Pundit\n protect_from_forgery"
9
- end
10
- generate "pundit:install"
11
- end
12
-
13
- if get(:admin_mode)
14
- after(:admin_install) do
15
- initializer = "config/initializers/active_admin.rb"
16
- gsub_file initializer, /# config\.authorization_adapter =[^\n]+\n/ do
17
- "config.authorization_adapter = ActiveAdmin::PunditAdapter\n"
18
- end
19
-
20
- template "assets/active_admin/pundit_page_policy.rb",
21
- "app/policies/active_admin/page_policy.rb"
22
- template "assets/active_admin/comment_policy.rb",
23
- "app/policies/active_admin/comment_policy.rb"
24
- template "assets/active_admin/admin_user_policy.rb",
25
- "app/policies/admin_user_policy.rb"
26
- end
27
- end
28
- end
29
- }
30
-
31
- if get(:authorization)
32
- instance_exec(&(authorization_framework[get(:authorization)] || -> {}))
33
- end
@@ -1,15 +0,0 @@
1
- gather_gem('rack-cors', '~> 0.4.0')
2
- after(:gem_install) do
3
- application %{
4
- # Enables CORS for all requests
5
- config.middleware.insert_before 0, "Rack::Cors" do
6
- allow do
7
- origins '*'
8
- resource '*',
9
- :headers => :any,
10
- :expose => ['X-Page', 'X-PageTotal'],
11
- :methods => [:get, :post, :delete, :put, :options]
12
- end
13
- end
14
- }
15
- end
@@ -1,23 +0,0 @@
1
- require 'net/http'
2
- require 'semantic'
3
- require 'pry'
4
-
5
- def latest
6
- printf 'Getting platanus latest ruby version...'
7
- Net::HTTP.get(URI.parse('http://ruby.platan.us/latest'))
8
- rescue
9
- puts " not found, using #{RUBY_VERSION}"
10
- RUBY_VERSION
11
- end
12
-
13
- def version_alias
14
- version = latest
15
-
16
- puts "using #{version}"
17
- Semantic::Version.new(version).instance_eval { "#{major}.#{minor}" }
18
- end
19
-
20
- create_file '.rbenv-vars'
21
- template 'assets/.rbenv-vars.example', '.rbenv-vars.example'
22
- run "cp .rbenv-vars.example .rbenv-vars"
23
- create_file '.ruby-version', version_alias