versioncake 2.5.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +6 -14
- data/.rspec +2 -0
- data/.travis.yml +4 -0
- data/Appraisals +12 -0
- data/CHANGELOG.md +18 -1
- data/CONTRIBUTING.md +2 -2
- data/Gemfile.lock +96 -44
- data/README.md +79 -29
- data/RELEASE.md +1 -1
- data/Rakefile +3 -7
- data/gemfiles/rails3.2.gemfile +2 -1
- data/gemfiles/rails3.2.gemfile.lock +34 -10
- data/gemfiles/rails4.0.gemfile +2 -1
- data/gemfiles/rails4.0.gemfile.lock +31 -7
- data/gemfiles/rails4.1.gemfile +1 -1
- data/gemfiles/rails4.1.gemfile.lock +28 -8
- data/gemfiles/rails4.2.gemfile +9 -0
- data/gemfiles/rails4.2.gemfile.lock +133 -0
- data/lib/generators/templates/versioncake.rb +40 -0
- data/lib/generators/versioncake/install_generator.rb +12 -0
- data/lib/versioncake.rb +24 -3
- data/lib/versioncake/configuration.rb +19 -2
- data/lib/versioncake/controller_additions.rb +35 -23
- data/lib/versioncake/engine.rb +7 -0
- data/lib/versioncake/exceptions.rb +4 -0
- data/lib/versioncake/rack/middleware.rb +20 -0
- data/lib/versioncake/strategies/extraction_strategy.rb +8 -3
- data/lib/versioncake/strategies/http_accept_parameter_strategy.rb +2 -2
- data/lib/versioncake/strategies/http_header_strategy.rb +2 -2
- data/lib/versioncake/strategies/path_parameter_strategy.rb +6 -2
- data/lib/versioncake/strategies/query_parameter_strategy.rb +2 -2
- data/lib/versioncake/strategies/request_parameter_strategy.rb +2 -2
- data/lib/versioncake/test_helpers.rb +14 -0
- data/lib/versioncake/version.rb +1 -1
- data/lib/versioncake/version_checker.rb +28 -0
- data/lib/versioncake/version_context.rb +20 -0
- data/lib/versioncake/version_context_service.rb +47 -0
- data/lib/versioncake/versioned_request.rb +22 -33
- data/lib/versioncake/versioned_resource.rb +14 -0
- data/lib/versioncake/view_additions.rb +7 -7
- data/{test → spec}/fixtures/partials/_versioned.erb +0 -0
- data/{test → spec}/fixtures/partials/_versioned.v1.erb +0 -0
- data/{test → spec}/fixtures/partials/_versioned.v2.erb +0 -0
- data/{test → spec}/fixtures/partials/_versioned.v3.erb +0 -0
- data/{test → spec}/fixtures/partials/another_versioned_partial.erb +0 -0
- data/{test → spec}/fixtures/partials/another_versioned_partial.v1.erb +0 -0
- data/{test → spec}/fixtures/templates/unversioned.html.erb +0 -0
- data/{test → spec}/fixtures/templates/v1_extension_scheme.v3.html.erb +0 -0
- data/{test → spec}/fixtures/templates/v1_extension_scheme.v6.json +0 -0
- data/{test → spec}/fixtures/templates/versioned.html.erb +0 -0
- data/{test → spec}/fixtures/templates/versioned.html.v1.erb +0 -0
- data/{test → spec}/fixtures/templates/versioned.html.v2.erb +0 -0
- data/{test → spec}/fixtures/templates/versioned.html.v3.erb +0 -0
- data/spec/fixtures/test_cases.yml +45 -0
- data/spec/integration/controller/renders_controller_spec.rb +73 -0
- data/spec/integration/controller/unversioned_controller_spec.rb +12 -0
- data/spec/integration/rack/middleware_regression_spec.rb +41 -0
- data/spec/integration/view/render_spec.rb +33 -0
- data/spec/integration/view/view_additions_spec.rb +51 -0
- data/spec/rails_helper.rb +41 -0
- data/spec/spec_helper.rb +25 -0
- data/spec/test_app/Rakefile +7 -0
- data/{test → spec/test_app}/app/controllers/renders_controller.rb +0 -0
- data/spec/test_app/app/controllers/unversioned_controller.rb +6 -0
- data/spec/test_app/app/views/renders/index.html.erb +1 -0
- data/{test → spec/test_app}/app/views/renders/index.html.v1.erb +0 -0
- data/{test → spec/test_app}/app/views/renders/index.html.v2.erb +0 -0
- data/spec/test_app/app/views/unversioned/index.html.erb +1 -0
- data/spec/test_app/config.ru +4 -0
- data/{test → spec/test_app}/config/application.rb +4 -6
- data/spec/test_app/config/boot.rb +5 -0
- data/spec/test_app/config/environment.rb +5 -0
- data/spec/test_app/config/initializers/versioncake.rb +45 -0
- data/spec/test_app/config/routes.rb +4 -0
- data/spec/test_app/script/rails +4 -0
- data/spec/unit/cli_spec.rb +36 -0
- data/spec/unit/configuration_spec.rb +61 -0
- data/spec/unit/strategies/extraction_strategy_spec.rb +71 -0
- data/spec/unit/strategies/http_accept_parameter_strategy_spec.rb +20 -0
- data/spec/unit/strategies/http_header_strategy_spec.rb +19 -0
- data/spec/unit/strategies/path_parameter_strategy_spec.rb +18 -0
- data/spec/unit/strategies/query_parameter_strategy_spec.rb +24 -0
- data/spec/unit/strategies/request_parameter_strategy_spec.rb +19 -0
- data/spec/unit/version_checker_spec.rb +60 -0
- data/spec/unit/version_context_service_spec.rb +84 -0
- data/spec/unit/version_context_spec.rb +46 -0
- data/spec/unit/versioned_request_spec.rb +35 -0
- data/spec/unit/versioned_resource_spec.rb +12 -0
- data/versioncake.gemspec +5 -2
- metadata +91 -70
- data/lib/versioncake/railtie.rb +0 -7
- data/test/app/views/renders/index.html.erb +0 -1
- data/test/config.ru +0 -0
- data/test/config/routes.rb +0 -3
- data/test/fixtures/test_cases.yml +0 -70
- data/test/functional/custom_strategy_controller_test.rb +0 -16
- data/test/functional/multiple_strategy_controller_test.rb +0 -24
- data/test/functional/renders_controller_test.rb +0 -71
- data/test/functional/strategy_controller_test.rb +0 -38
- data/test/script/rails +0 -0
- data/test/template/render_test.rb +0 -34
- data/test/test_helper.rb +0 -21
- data/test/unit/cli_test.rb +0 -48
- data/test/unit/configuration_test.rb +0 -45
- data/test/unit/strategies/extraction_strategy_test.rb +0 -70
- data/test/unit/strategies/http_accept_parameter_strategy_test.rb +0 -17
- data/test/unit/strategies/http_header_strategy_test.rb +0 -17
- data/test/unit/strategies/path_parameter_strategy_test.rb +0 -17
- data/test/unit/strategies/query_parameter_strategy_test.rb +0 -22
- data/test/unit/strategies/request_parameter_strategy_test.rb +0 -17
- data/test/unit/versioned_request_test.rb +0 -44
- data/test/unit/view_additions_test.rb +0 -35
@@ -0,0 +1,14 @@
|
|
1
|
+
module VersionCake
|
2
|
+
class VersionedResource
|
3
|
+
attr_reader :uri, :supported_versions, :deprecated_versions, :obsolete_versions
|
4
|
+
|
5
|
+
def initialize(uri, obsolete_versions, deprecated_versions, supported_versions)
|
6
|
+
@uri, @supported_versions, @deprecated_versions, @obsolete_versions =
|
7
|
+
uri, supported_versions, deprecated_versions, obsolete_versions
|
8
|
+
end
|
9
|
+
|
10
|
+
def latest_version
|
11
|
+
@supported_versions.last
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -3,17 +3,17 @@ require 'action_view'
|
|
3
3
|
# register an addition detail for the lookup context to understand,
|
4
4
|
# this will allow us to have the versions available upon lookup in
|
5
5
|
# the resolver.
|
6
|
-
ActionView::LookupContext.register_detail(:versions){
|
6
|
+
ActionView::LookupContext.register_detail(:versions){ [] }
|
7
7
|
|
8
8
|
ActionView::PathResolver.class_eval do
|
9
9
|
# not sure why we are doing this yet, but looks like a good idea
|
10
|
-
if ActionPack::VERSION::MAJOR >= 4 && ActionPack::VERSION::MINOR >= 1
|
10
|
+
if ActionPack::VERSION::MAJOR >= 4 && ActionPack::VERSION::MINOR >= 1 || ActionPack::VERSION::MAJOR >= 5
|
11
11
|
ActionView::PathResolver::EXTENSIONS.replace({
|
12
|
-
:
|
13
|
-
:
|
14
|
-
:
|
15
|
-
:
|
16
|
-
:
|
12
|
+
locale: ".",
|
13
|
+
formats: ".",
|
14
|
+
versions: ".",
|
15
|
+
variants: "+",
|
16
|
+
handlers: "."
|
17
17
|
})
|
18
18
|
|
19
19
|
ActionView::PathResolver::DEFAULT_PATTERN.replace ":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:versions,}{.:handlers,}"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# http_header_strategy
|
2
|
+
- request:
|
3
|
+
headers:
|
4
|
+
HTTP_ACCEPT: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8;api_version=1"
|
5
|
+
response: "1"
|
6
|
+
|
7
|
+
- request:
|
8
|
+
headers:
|
9
|
+
HTTP_ACCEPT: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8;api_version=2"
|
10
|
+
response: "2"
|
11
|
+
|
12
|
+
# request_parameter_strategy
|
13
|
+
- request:
|
14
|
+
method: post
|
15
|
+
params:
|
16
|
+
api_version: "1"
|
17
|
+
response: "1"
|
18
|
+
|
19
|
+
- request:
|
20
|
+
method: post
|
21
|
+
params:
|
22
|
+
api_version: "2"
|
23
|
+
response: "2"
|
24
|
+
|
25
|
+
# query_parameter_strategy
|
26
|
+
- request:
|
27
|
+
params:
|
28
|
+
api_version: "1"
|
29
|
+
response: "1"
|
30
|
+
|
31
|
+
- request:
|
32
|
+
params:
|
33
|
+
api_version: "2"
|
34
|
+
response: "2"
|
35
|
+
|
36
|
+
# http_header_strategy
|
37
|
+
- request:
|
38
|
+
headers:
|
39
|
+
HTTP_API_VERSION: "1"
|
40
|
+
response: "1"
|
41
|
+
|
42
|
+
- request:
|
43
|
+
headers:
|
44
|
+
HTTP_API_VERSION: "2"
|
45
|
+
response: "2"
|
@@ -0,0 +1,73 @@
|
|
1
|
+
require './spec/rails_helper'
|
2
|
+
|
3
|
+
describe RendersController, type: :controller do
|
4
|
+
let(:request_options) { {} }
|
5
|
+
subject(:response_body) { get :index, request_options; response.body }
|
6
|
+
|
7
|
+
context '#index' do
|
8
|
+
render_views
|
9
|
+
before { set_request_version 'renders', request_version }
|
10
|
+
before { response_body }
|
11
|
+
|
12
|
+
context 'when requesting the non latest version' do
|
13
|
+
let(:request_version) { 1 }
|
14
|
+
|
15
|
+
it { expect(controller.request_version).to eq 1 }
|
16
|
+
it { expect(controller.is_latest_version?).to be_falsey }
|
17
|
+
it { expect(controller.is_deprecated_version?).to be_falsey }
|
18
|
+
it { expect(response_body).to eq 'template v1' }
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'with explicity requesting the latest version' do
|
22
|
+
let(:request_version) { 5 }
|
23
|
+
|
24
|
+
it { expect(controller.request_version).to eq 5 }
|
25
|
+
it { expect(controller.is_latest_version?).to be_truthy }
|
26
|
+
it { expect(controller.is_deprecated_version?).to be_falsey }
|
27
|
+
it { expect(response_body).to eq 'template v2' }
|
28
|
+
end
|
29
|
+
|
30
|
+
context 'when requesting a deprecated version' do
|
31
|
+
let(:request_version) { 4 }
|
32
|
+
|
33
|
+
it { expect(controller.request_version).to eq 4 }
|
34
|
+
it { expect(controller.is_latest_version?).to be_falsey }
|
35
|
+
it { expect(controller.is_deprecated_version?).to be_truthy }
|
36
|
+
it { expect(response_body).to eq 'template v2' }
|
37
|
+
end
|
38
|
+
|
39
|
+
context '#set_version' do
|
40
|
+
let(:request_options) { { 'override_version' => 2 } }
|
41
|
+
let(:request_version) { 3 }
|
42
|
+
|
43
|
+
it { expect(controller.request_version).to eq 2 }
|
44
|
+
it { expect(response_body).to eq 'template v2' }
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
context 'errors' do
|
49
|
+
context 'with a version larger than the supported versions' do
|
50
|
+
before { set_version_context :version_too_high }
|
51
|
+
|
52
|
+
it { expect { response_body }.to raise_error VersionCake::UnsupportedVersionError }
|
53
|
+
end
|
54
|
+
|
55
|
+
context 'with a version lower than the supported versions' do
|
56
|
+
before { set_version_context :version_too_low }
|
57
|
+
|
58
|
+
it { expect { response_body }.to raise_error VersionCake::UnsupportedVersionError }
|
59
|
+
end
|
60
|
+
|
61
|
+
context 'with an invalid version' do
|
62
|
+
before { set_version_context :version_invalid }
|
63
|
+
|
64
|
+
it { expect { response_body }.to raise_error VersionCake::UnsupportedVersionError }
|
65
|
+
end
|
66
|
+
|
67
|
+
context 'with an obsolete version' do
|
68
|
+
before { set_version_context :obsolete }
|
69
|
+
|
70
|
+
it { expect { response_body }.to raise_error VersionCake::ObsoleteVersionError }
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require './spec/rails_helper'
|
2
|
+
|
3
|
+
describe UnversionedController, type: :controller do
|
4
|
+
subject(:response) { get :index }
|
5
|
+
|
6
|
+
context '#index' do
|
7
|
+
render_views
|
8
|
+
|
9
|
+
it { expect(response).to be_success }
|
10
|
+
it { expect(response.body).to eq 'unversioned index' }
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require './spec/rails_helper'
|
2
|
+
require 'yaml'
|
3
|
+
|
4
|
+
describe VersionCake::Rack::Middleware do
|
5
|
+
let(:app) do
|
6
|
+
rack = Rack::Builder.new do
|
7
|
+
use VersionCake::Rack::Middleware
|
8
|
+
run lambda { |env| [ 200, {}, [ env['versioncake.context'].version ] ] }
|
9
|
+
end
|
10
|
+
Rack::MockRequest.new(rack)
|
11
|
+
end
|
12
|
+
|
13
|
+
test_cases = YAML.load(File.open('./spec/fixtures/test_cases.yml'))
|
14
|
+
test_cases.each do |test_case|
|
15
|
+
context 'for a test case' do
|
16
|
+
|
17
|
+
|
18
|
+
let(:data) { test_case['request'] || {} }
|
19
|
+
let(:method) { (data['method'] || 'get').to_sym }
|
20
|
+
let(:headers) { data['headers'] || {} }
|
21
|
+
let(:params) { data['params'] || {} }
|
22
|
+
let(:test_response) { test_case['response'] }
|
23
|
+
|
24
|
+
it "test yml test cases" do
|
25
|
+
begin
|
26
|
+
response = app.request(method, '/renders', headers.merge(params: params))
|
27
|
+
expect(response.body).to(eq(test_response), custom_message(headers, params, method, response.body, test_response))
|
28
|
+
rescue => e
|
29
|
+
raise custom_message(headers, params, method, response.body, test_response) + ", but it failed with an exception '#{e.message}'"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def custom_message(headers, params, method, actual_response, expected_response)
|
36
|
+
data = []
|
37
|
+
data << "headers:#{headers}" if headers
|
38
|
+
data << "params:#{params}" if params
|
39
|
+
"Expected #{data.join(',')} with method #{method} to yield '#{expected_response}', but got '#{actual_response}'"
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require './spec/rails_helper'
|
2
|
+
|
3
|
+
describe ActionView::Base do
|
4
|
+
let(:path) { ActionView::FileSystemResolver.new('./spec/fixtures') }
|
5
|
+
let(:view_paths) { ActionView::PathSet.new([path]) }
|
6
|
+
let(:view) { ActionView::Base.new(view_paths) }
|
7
|
+
let(:version_override) { nil }
|
8
|
+
subject { view.render(template: 'templates/versioned', versions: version_override) }
|
9
|
+
|
10
|
+
context 'with a 0 version' do
|
11
|
+
before { view.lookup_context.versions = [:v0] }
|
12
|
+
|
13
|
+
it { is_expected.to eq 'template' }
|
14
|
+
end
|
15
|
+
|
16
|
+
context 'with the version override set' do
|
17
|
+
let(:version_override) { :v1 }
|
18
|
+
|
19
|
+
it { is_expected.to eq 'template v1' }
|
20
|
+
end
|
21
|
+
|
22
|
+
context 'with an older version in the lookup context' do
|
23
|
+
before { view.lookup_context.versions = [:v2] }
|
24
|
+
|
25
|
+
it { is_expected.to eq 'template v2' }
|
26
|
+
end
|
27
|
+
|
28
|
+
context 'with a v4 requested, but only highest templates is v3' do
|
29
|
+
before { view.lookup_context.versions = [:v4,:v3,:v2,:v1] }
|
30
|
+
|
31
|
+
it { is_expected.to eq 'template v3' }
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require './spec/rails_helper'
|
2
|
+
|
3
|
+
describe ActionView::PathResolver do
|
4
|
+
let(:resolver) { ActionView::PathResolver.new }
|
5
|
+
|
6
|
+
context '#extract_handler_and_format' do
|
7
|
+
subject(:template_format) do
|
8
|
+
_, format = resolver.extract_handler_and_format("application.#{template_extension}", nil)
|
9
|
+
format.to_s
|
10
|
+
end
|
11
|
+
|
12
|
+
context 'when only handler and format are present' do
|
13
|
+
let(:template_extension) { 'html.erb' }
|
14
|
+
|
15
|
+
it { expect(template_format).to eq 'text/html' }
|
16
|
+
end
|
17
|
+
|
18
|
+
context 'when handler, format and version are present' do
|
19
|
+
let(:template_extension) { 'json.v1.jbuilder' }
|
20
|
+
|
21
|
+
it { expect(template_format).to eq 'application/json' }
|
22
|
+
end
|
23
|
+
|
24
|
+
context 'when handler, format and locale are present' do
|
25
|
+
let(:template_extension) { 'en.json.jbuilder' }
|
26
|
+
|
27
|
+
it { expect(template_format).to eq 'application/json' }
|
28
|
+
end
|
29
|
+
|
30
|
+
context 'when handler, format, locale and version are present' do
|
31
|
+
let(:template_extension) { 'en.json.v1.jbuilder' }
|
32
|
+
|
33
|
+
it { expect(template_format).to eq 'application/json' }
|
34
|
+
end
|
35
|
+
|
36
|
+
context 'when in Rails >=4.1' do
|
37
|
+
before do
|
38
|
+
unless (ActionPack::VERSION::MAJOR == 4 && ActionPack::VERSION::MINOR >= 1) ||
|
39
|
+
ActionPack::VERSION::MAJOR > 5
|
40
|
+
skip('Template variants are only available in Rails >=4.1')
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
context 'when handler, format, variant and version are present' do
|
45
|
+
let(:template_extension) { 'application.json+tablet.v1.jbuilder' }
|
46
|
+
|
47
|
+
it { expect(template_format).to eq 'application/json' }
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
2
|
+
ENV['RAILS_ENV'] ||= 'test'
|
3
|
+
require File.expand_path('../test_app/config/environment.rb', __FILE__)
|
4
|
+
require 'rails/all'
|
5
|
+
|
6
|
+
require 'rspec/rails'
|
7
|
+
|
8
|
+
# Requires supporting ruby files with custom matchers and macros, etc,
|
9
|
+
# in spec/support/ and its subdirectories.
|
10
|
+
# Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
|
11
|
+
|
12
|
+
RSpec.configure do |config|
|
13
|
+
# ## Mock Framework
|
14
|
+
#
|
15
|
+
# If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
|
16
|
+
#
|
17
|
+
# config.mock_with :mocha
|
18
|
+
# config.mock_with :flexmock
|
19
|
+
# config.mock_with :rr
|
20
|
+
|
21
|
+
# Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
|
22
|
+
# config.fixture_path = "#{::Rails.root}/spec/fixtures"
|
23
|
+
|
24
|
+
# If you're not using ActiveRecord, or you'd prefer not to run each of your
|
25
|
+
# examples within a transaction, remove the following line or assign false
|
26
|
+
# instead of true.
|
27
|
+
config.use_transactional_fixtures = false # false - no active record
|
28
|
+
|
29
|
+
# If true, the base class of anonymous controllers will be inferred
|
30
|
+
# automatically. This will be the default behavior in future versions of
|
31
|
+
# rspec-rails.
|
32
|
+
config.infer_base_class_for_anonymous_controllers = false
|
33
|
+
|
34
|
+
# Run specs in random order to surface order dependencies. If you find an
|
35
|
+
# order dependency and want to debug it, you can fix the order by providing
|
36
|
+
# the seed, which is printed after each run.
|
37
|
+
# --seed 1234
|
38
|
+
config.order = "random"
|
39
|
+
|
40
|
+
config.include VersionCake::TestHelpers, type: :controller
|
41
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'coveralls'
|
2
|
+
Coveralls.wear!
|
3
|
+
require 'versioncake'
|
4
|
+
|
5
|
+
# We have to occasionally require test-unit because it was removed as a core
|
6
|
+
# dependency, so have to explicitly disable it from running automatically
|
7
|
+
Test::Unit::AutoRunner.need_auto_run = false if defined?(Test::Unit::AutoRunner)
|
8
|
+
|
9
|
+
def capture_stdout(flag=true)
|
10
|
+
if flag
|
11
|
+
out = StringIO.new
|
12
|
+
$stdout = out
|
13
|
+
else
|
14
|
+
$stdout = STDOUT
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
# Turn off stdout for all specs
|
19
|
+
def quiet_stdout
|
20
|
+
around(:example) do |example|
|
21
|
+
capture_stdout true
|
22
|
+
example.run
|
23
|
+
capture_stdout false
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
# Add your own tasks in files placed in lib/tasks ending in .rake,
|
3
|
+
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
4
|
+
|
5
|
+
require File.expand_path('../config/application', __FILE__)
|
6
|
+
|
7
|
+
RendersTest::Application.load_tasks
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
base template
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
unversioned index
|
@@ -1,6 +1,4 @@
|
|
1
|
-
require
|
2
|
-
require "active_support/railtie"
|
3
|
-
|
1
|
+
require 'rails/all'
|
4
2
|
# Auto-require default libraries and those for the current Rails environment.
|
5
3
|
Bundler.require :default, Rails.env
|
6
4
|
|
@@ -11,8 +9,8 @@ module RendersTest
|
|
11
9
|
config.eager_load = false
|
12
10
|
|
13
11
|
config.active_support.deprecation = :stderr
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
config.generators do |g|
|
13
|
+
g.test_framework :rspec
|
14
|
+
end
|
17
15
|
end
|
18
16
|
end
|