potassium 1.3.5 → 2.0.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 (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