straptible 0.2.3 → 0.2.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1f9ab7450c4107ebd3e2b151c92c60208f1c53b6
4
- data.tar.gz: 4c2ecd6ea53f6c56297d45ac7300c8a992a993bc
3
+ metadata.gz: b861fd978d3dc4e05365ffe32e0faeb58acf8fd8
4
+ data.tar.gz: 8093b574eb4ef4786559e6f28283aad47d222d89
5
5
  SHA512:
6
- metadata.gz: f8142481f824f89e822c4d60c06ea3973b6ed6ee03b1bfe52c3c32a9e4f70de2798bb9bbcf7d271a1916fe70951c10ca72d885156039da3ea9d8d1c51ed6661d
7
- data.tar.gz: 4c401483a8809b29140567ba2aeddbb551672fdb89f7d91f82904f19217876a6632d5ac0a146f490832c63aede1352cbceea76f20c48776ee0cd4ed1a9793921
6
+ metadata.gz: 15450e6888839b435de96bc8523778081cf390addc8541e2634333bcfe5b0b8d9e82505e31e4f9f0d3f168caa1b7736c877e522f47b4dd6431059c7913ea7cc8
7
+ data.tar.gz: 7ab40ddcc1039583c49384373202619c1e465f9406109cd6f75e348f722a415d037b869eadf54993f8ddcb3cc4d8ac598871a49cf60b4e1e6f4c7bb655649752
@@ -2,5 +2,4 @@ before_install:
2
2
  - git config --global user.email "travis@aptible.com"
3
3
  - git config --global user.name "Travis"
4
4
  rvm:
5
- 2.0.0
6
- jruby
5
+ - "2.1"
@@ -10,17 +10,17 @@ Gem::Specification.new do |spec|
10
10
  spec.version = <%= config[:constant_name] %>::VERSION
11
11
  spec.authors = ['<%= config[:author] %>']
12
12
  spec.email = ['<%= config[:email] %>']
13
- spec.description = %q{TODO: Write a gem description}
14
- spec.summary = %q{TODO: Write a gem summary}
13
+ spec.description = 'TODO: Write a gem description'
14
+ spec.summary = 'TODO: Write a gem summary'
15
15
  spec.homepage = 'https://github.com/aptible/<%= config[:name] %>'
16
16
  spec.license = 'MIT'
17
17
 
18
18
  spec.files = `git ls-files`.split($RS)
19
- spec.test_files = spec.files.grep(/^spec\//)
19
+ spec.test_files = spec.files.grep(%r{^spec/})
20
20
  spec.require_paths = ['lib']
21
21
 
22
- spec.add_development_dependency 'bundler', '~> <%= Bundler::VERSION.split('.')[0..1].join('.') %>'
22
+ spec.add_development_dependency 'bundler'
23
23
  spec.add_development_dependency 'aptible-tasks'
24
24
  spec.add_development_dependency 'rake'
25
- spec.add_development_dependency 'rspec', '~> 2.0'
25
+ spec.add_development_dependency 'rspec'
26
26
  end
@@ -16,6 +16,10 @@ module Straptible
16
16
  directory 'config.api', 'config'
17
17
  end
18
18
 
19
+ def lib
20
+ directory 'lib.api', 'lib'
21
+ end
22
+
19
23
  def public_directory
20
24
  directory 'public.api', 'public'
21
25
  end
@@ -43,6 +47,8 @@ module Straptible
43
47
  remove_dir 'app/models/concerns'
44
48
  remove_dir 'app/views/layouts'
45
49
 
50
+ remove_file 'bin/setup'
51
+
46
52
  empty_directory 'app/decorators'
47
53
  end
48
54
  end
@@ -5,6 +5,7 @@ gem 'pg'
5
5
  gem 'draper'
6
6
  gem 'rabl'
7
7
  gem 'oj'
8
+ gem 'rack-cors'
8
9
 
9
10
  group :development, :test do
10
11
  gem 'annotate'
@@ -12,5 +13,6 @@ group :development, :test do
12
13
  gem 'rabl-generators'
13
14
  gem 'rspec'
14
15
  gem 'rspec-rails'
16
+ gem 'fabrication'
15
17
  gem 'pry'
16
18
  end
@@ -1,9 +1,12 @@
1
1
  require File.expand_path('../config/application', __FILE__)
2
2
 
3
+ <%= app_const %>.load_tasks
4
+
5
+ Annotate.load_tasks if defined?(Annotate)
6
+
3
7
  # Load shared Aptible Rake tasks
4
8
  require 'aptible/tasks'
5
9
  Aptible::Tasks.load_tasks
6
10
 
7
- <%= app_const %>.load_tasks
8
-
9
- task default: :ci
11
+ Aptible::Tasks.clear_task :default
12
+ task default: ['db:create', :ci]
@@ -15,7 +15,8 @@ module <%= app_const_base %>
15
15
  g.javascripts = false
16
16
  g.helper = false
17
17
  g.view_specs = false
18
-
18
+ g.test_framework :rspec, fixture: true
19
+ g.fixture_replacement :fabrication
19
20
  g.hide_namespace :test_unit
20
21
  g.hide_namespace :js
21
22
  g.hide_namespace :erb
@@ -23,5 +24,19 @@ module <%= app_const_base %>
23
24
  end
24
25
 
25
26
  config.filter_parameters += [:password]
27
+
28
+ config.middleware.insert 0, Rack::Cors do
29
+ allow do
30
+ if ENV['CORS_DOMAIN'].present?
31
+ origins(*(ENV['CORS_DOMAIN'].split(',')))
32
+ else
33
+ origins 'dashboard.aptible.com'
34
+ end
35
+ resource '/*',
36
+ headers: %w(Accept Authorization Origin Content-Type),
37
+ methods: [:options, :patch, :post, :get, :put, :delete],
38
+ credentials: true
39
+ end
40
+ end
26
41
  end
27
42
  end
@@ -1,11 +1,13 @@
1
1
  development:
2
2
  adapter: postgresql
3
3
  encoding: unicode
4
+ template: template0
4
5
  database: <%= app_name.gsub('-', '_') %>_development
5
6
  pool: 5
6
7
 
7
8
  test:
8
9
  adapter: postgresql
9
10
  encoding: unicode
11
+ template: template0
10
12
  database: <%= app_name.gsub('-', '_') %>_test
11
13
  pool: 5
@@ -1,13 +1,13 @@
1
1
  <%= app_const %>.configure do
2
2
  config.secret_key_base =
3
- '<%= SecureRandom.hex(32) %>' +
3
+ '<%= SecureRandom.hex(32) %>' \
4
4
  '<%= SecureRandom.hex(32) %>'
5
5
 
6
6
  config.cache_classes = false
7
7
 
8
8
  config.eager_load = false
9
9
 
10
- config.consider_all_requests_local = false
10
+ config.consider_all_requests_local = false
11
11
  config.action_controller.perform_caching = false
12
12
 
13
13
  config.active_support.deprecation = :log
@@ -1,13 +1,13 @@
1
1
  <%= app_const %>.configure do
2
2
  config.secret_key_base =
3
- '<%= SecureRandom.hex(32) %>' +
3
+ '<%= SecureRandom.hex(32) %>' \
4
4
  '<%= SecureRandom.hex(32) %>'
5
5
 
6
6
  config.cache_classes = true
7
7
 
8
8
  config.eager_load = false
9
9
 
10
- config.consider_all_requests_local = false
10
+ config.consider_all_requests_local = false
11
11
  config.action_controller.perform_caching = false
12
12
 
13
13
  config.action_dispatch.show_exceptions = true
@@ -0,0 +1,22 @@
1
+ if Rails.env.development?
2
+ task :set_annotation_options do
3
+ ENV['position_in_class'] = 'before'
4
+ ENV['position_in_test'] = 'before'
5
+ ENV['position_in_factory'] = 'before'
6
+ ENV['show_indexes'] = 'false'
7
+ ENV['include_version'] = 'false'
8
+ ENV['exclude_tests'] = 'true'
9
+ ENV['exclude_factories'] = 'false'
10
+ ENV['ignore_model_sub_dir'] = 'false'
11
+ ENV['skip_on_db_migrate'] = 'false'
12
+ ENV['model_dir'] = 'app/models'
13
+ end
14
+
15
+ Rake::Task['db:migrate'].enhance do
16
+ Rake::Task[:annotate_models].invoke
17
+ end
18
+
19
+ Rake::Task['db:rollback'].enhance do
20
+ Rake::Task[:annotate_models].invoke
21
+ end
22
+ end
@@ -3,16 +3,16 @@ require File.expand_path('../../config/environment', __FILE__)
3
3
  require 'rspec/rails'
4
4
  require 'rspec/autorun'
5
5
 
6
+ require 'rspec/its'
7
+
6
8
  Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
9
+ Dir[Rails.root.join('spec/shared/**/*.rb')].each { |f| require f }
7
10
 
8
- ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration)
11
+ ActiveRecord::Migration.maintain_test_schema!
9
12
 
10
13
  RSpec.configure do |config|
11
- config.fixture_path = "#{::Rails.root}/spec/fixtures"
12
-
13
14
  config.use_transactional_fixtures = true
14
-
15
15
  config.infer_base_class_for_anonymous_controllers = false
16
-
16
+ config.infer_spec_type_from_file_location!
17
17
  config.order = 'random'
18
18
  end
@@ -1,3 +1,3 @@
1
1
  module Straptible
2
- VERSION = '0.2.3'
2
+ VERSION = '0.2.4'
3
3
  end
@@ -96,6 +96,17 @@ describe 'straptible api' do
96
96
  expect(File.exist?(application)).to eq true
97
97
  expect(File.read(application)).to match(/filter_parameters/)
98
98
  end
99
+
100
+ it 'includes auto_annotate_models.rake' do
101
+ tasks = File.join(@tmpdir, 'foobar', 'lib', 'tasks')
102
+ auto_annotate = File.join(tasks, 'auto_annotate_models.rake')
103
+ expect(File.exist?(auto_annotate)).to eq true
104
+ end
105
+
106
+ it 'loads Annotate tasks' do
107
+ rakefile = File.join(@tmpdir, 'foobar', 'Rakefile')
108
+ expect(File.read(rakefile)).to match(/Annotate.load_tasks/)
109
+ end
99
110
  end
100
111
 
101
112
  context 'executing bundle install' do
@@ -109,7 +120,9 @@ describe 'straptible api' do
109
120
  end
110
121
 
111
122
  it 'passes Rubocop muster' do
112
- `cd #{File.join(@tmpdir, 'foobar')} && bundle exec rake rubocop`
123
+ Bundler.with_clean_env do
124
+ `cd #{File.join(@tmpdir, 'foobar')} && bundle exec rake rubocop`
125
+ end
113
126
  expect($CHILD_STATUS.exitstatus).to eq 0
114
127
  end
115
128
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: straptible
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Frank Macreery
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-13 00:00:00.000000000 Z
11
+ date: 2015-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -141,6 +141,7 @@ files:
141
141
  - lib/straptible/rails/templates/config.api/initializers/wrap_parameters.rb
142
142
  - lib/straptible/rails/templates/config.api/routes.rb.tt
143
143
  - lib/straptible/rails/templates/gitignore
144
+ - lib/straptible/rails/templates/lib.api/tasks/auto_annotate_models.rake
144
145
  - lib/straptible/rails/templates/package.json
145
146
  - lib/straptible/rails/templates/public.api/favicon.ico
146
147
  - lib/straptible/rails/templates/public.api/icon-60px.png
@@ -172,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
172
173
  version: '0'
173
174
  requirements: []
174
175
  rubyforge_project:
175
- rubygems_version: 2.2.2
176
+ rubygems_version: 2.4.5
176
177
  signing_key:
177
178
  specification_version: 4
178
179
  summary: A tool for bootstrapping new Aptible projects