versioncake 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +14 -6
- data/Appraisals +3 -3
- data/CHANGELOG.md +15 -1
- data/Gemfile.lock +1 -1
- data/README.md +47 -8
- data/gemfiles/rails3.2.gemfile.lock +1 -1
- data/gemfiles/rails4.0.gemfile.lock +1 -1
- data/gemfiles/rails4.1.gemfile +3 -3
- data/gemfiles/rails4.1.gemfile.lock +20 -20
- data/lib/versioncake.rb +1 -0
- data/lib/versioncake/controller_additions.rb +4 -1
- data/lib/versioncake/exceptions.rb +6 -0
- data/lib/versioncake/version.rb +1 -1
- data/lib/versioncake/versioned_request.rb +15 -12
- data/test/functional/renders_controller_test.rb +2 -2
- data/test/unit/versioned_request_test.rb +3 -7
- data/versioncake.gemspec +1 -1
- metadata +25 -24
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
YjUzNjczOGFiZjY3NDliNmRmYzJhZTI5NDIzNDhhYWM4YTgxMGE2YQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
YzM4MzAwZjk2MDNlYThjZjRkMWE5NTk1MTM3Mzg3NzlmYmY2NzdlYg==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
MWU4NTRjNzNkMzA4MmRkZTcxYWI2M2MxMmY2NmQwZDM4NTMyYzM0MTEyZDE1
|
10
|
+
N2I2NTY3MzQyMzUxYjgyNjUwYTE1ZGI3NGVlZjU0YjI1MDQ2MzAwMDhmNmQx
|
11
|
+
NGQ5NmU3YjI3MWU5ZWNiMWI4MGVkMzUxNjE1MmU0MzU3OGIzNzU=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
MDJkNTJlM2QxMmE0ZmU2Y2JiNmMyZDk3Y2Q1ZWE5NjU3ZjI4YmU3NzBkZDZj
|
14
|
+
MmJiMDAxMTAyMzYxMTZlMmNiNjVlNjNjMWI5MWM2M2VmM2IzZjkwYzViYmVh
|
15
|
+
MDNiMzY1NjJiN2RjM2I1ODk2Y2IxNzFiZmMyNzM4ODkxOTM4Njg=
|
data/Appraisals
CHANGED
@@ -11,7 +11,7 @@ appraise "rails4.0" do
|
|
11
11
|
end
|
12
12
|
|
13
13
|
appraise "rails4.1" do
|
14
|
-
gem('actionpack', '~> 4.1.0.
|
15
|
-
gem('activesupport', '~> 4.1.0.
|
16
|
-
gem('railties', '~> 4.1.0.
|
14
|
+
gem('actionpack', '~> 4.1.0.rc1')
|
15
|
+
gem('activesupport', '~> 4.1.0.rc1')
|
16
|
+
gem('railties', '~> 4.1.0.rc1')
|
17
17
|
end
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,20 @@
|
|
1
1
|
## Unreleased Changes
|
2
2
|
|
3
|
-
[Full Changelog](https://github.com/bwillis/versioncake/compare/
|
3
|
+
[Full Changelog](https://github.com/bwillis/versioncake/compare/v2.1...master)
|
4
|
+
|
5
|
+
Bug Fixes:
|
6
|
+
|
7
|
+
Enhancements:
|
8
|
+
|
9
|
+
## 2.1.0 (Mar 3, 2014)
|
10
|
+
|
11
|
+
Enhancements:
|
12
|
+
|
13
|
+
* Allow simpler handling of an unsupported versioned request by raising a custom error (issues #24 and #25) thanks [Richard Nuno](https://github.com/richardnuno) and [Andres Camacho](https://github.com/andresfcamacho)
|
14
|
+
|
15
|
+
## 2.0.0 (Feb 6, 2014)
|
16
|
+
|
17
|
+
[Full Changelog](https://github.com/bwillis/versioncake/compare/v1.3...v2.0)
|
4
18
|
|
5
19
|
Bug Fixes:
|
6
20
|
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
[![Dependency Status](https://gemnasium.com/bwillis/versioncake.png)](https://gemnasium.com/bwillis/versioncake)
|
7
7
|
[![Gem Version](https://badge.fury.io/rb/versioncake.png)](http://badge.fury.io/rb/versioncake)
|
8
8
|
|
9
|
-
Co-authored by Ben Willis ([
|
9
|
+
Co-authored by Ben Willis ([bwillis](https://github.com/bwillis/)) and Jim Jones ([aantix](https://github.com/aantix)).
|
10
10
|
|
11
11
|
Version Cake is an unobtrusive way to version APIs in your Rails app.
|
12
12
|
|
@@ -35,13 +35,13 @@ gem install versioncake
|
|
35
35
|
|
36
36
|
| Version | Rails 3.2 Support? | Rails 4 Support? | Rails 4.1 Support? |
|
37
37
|
| ------- |:---------:| -------:| -------:|
|
38
|
-
| 1.0
|
39
|
-
| 1.1
|
40
|
-
| 1.2
|
41
|
-
| 1.3
|
42
|
-
| 2.0
|
38
|
+
| [1.0](CHANGELOG.md#100-march-14-2013) | Yes | No | No |
|
39
|
+
| [1.1](CHANGELOG.md#110-may-18-2013) | Yes | No | No |
|
40
|
+
| [1.2](CHANGELOG.md#120-may-26-2013) | Yes | Yes | No |
|
41
|
+
| [1.3](CHANGELOG.md#130-sept-26-2013) | Yes | Yes | No |
|
42
|
+
| [2.0](CHANGELOG.md#200-feb-6-2014) | Yes | Yes | Yes |
|
43
43
|
|
44
|
-
## Upgrade v1
|
44
|
+
## Upgrade v1.* -> v2.0
|
45
45
|
|
46
46
|
### Filename changes
|
47
47
|
The major breaking change to require a bump to v2.0 was the order of the extensions. To avoid priority issues with the format (#14), the version number and the format have been swapped.
|
@@ -220,6 +220,16 @@ request_parameter | version that is sent in the body of the request | Good for t
|
|
220
220
|
:http_accept_parameter | HTTP Accept header | `Accept: application/xml; version=1` [why do this?](http://blog.steveklabnik.com/posts/2011-07-03-nobody-understands-rest-or-http#i_want_my_api_to_be_versioned)
|
221
221
|
custom | takes the request object and must return an integer | lambda {|request| request.headers["HTTP_X_MY_VERSION"].to_i }
|
222
222
|
|
223
|
+
If you use the path_parameter strategy with resources routes, you will want to setup your routes.rb config file to capture the api version. You can do that in a few ways. If you have just a few api routes you might specify the path directly like this:
|
224
|
+
```
|
225
|
+
resources :cakes, path: '/api/v:api_version/cakes'
|
226
|
+
```
|
227
|
+
If you are using a lot of routes it might be better to keep them all inside a scope like this:
|
228
|
+
```
|
229
|
+
scope '/api/v:api_version' do
|
230
|
+
resources :cakes
|
231
|
+
end
|
232
|
+
```
|
223
233
|
|
224
234
|
#### Default Version
|
225
235
|
|
@@ -271,6 +281,32 @@ end
|
|
271
281
|
|
272
282
|
When a client makes a request it will automatically receive the latest supported version of the view. The client can also request for a specific version by one of the strategies configured by ``view_version_extraction_strategy``.
|
273
283
|
|
284
|
+
### Unsupported Version Requests
|
285
|
+
|
286
|
+
If a client requests a version that is no longer supported (is not included in the `config.versioncake.supported_version_numbers`), a `VersionCake::UnsupportedVersionError` will be raised. This can be handled using Rails `rescue_from` to return app specific messages to the client.
|
287
|
+
|
288
|
+
```ruby
|
289
|
+
class ApplicationController < ActionController::Base
|
290
|
+
|
291
|
+
...
|
292
|
+
|
293
|
+
rescue_from VersionCake::UnsupportedVersionError, :with => :render_unsupported_version
|
294
|
+
|
295
|
+
private
|
296
|
+
|
297
|
+
def render_unsupported_version
|
298
|
+
headers['X-API-Version-Supported'] = 'false'
|
299
|
+
respond_to do |format|
|
300
|
+
format.json { render json: {message: "You requested an unsupported version (#{requested_version})"}, status: :unprocessable_entity }
|
301
|
+
end
|
302
|
+
end
|
303
|
+
|
304
|
+
...
|
305
|
+
|
306
|
+
end
|
307
|
+
|
308
|
+
```
|
309
|
+
|
274
310
|
## How to test
|
275
311
|
|
276
312
|
Testing can be painful but here are some easy ways to test different versions of your api using version cake.
|
@@ -325,12 +361,15 @@ Thanks to all those who have helped make Version Cake really sweet:
|
|
325
361
|
* [Manilla](https://github.com/manilla)
|
326
362
|
* [Alicia](https://github.com/alicial)
|
327
363
|
* [Rohit](https://github.com/rg)
|
328
|
-
* Sevag
|
364
|
+
* [Sevag](https://github.com/sevagf)
|
329
365
|
* [Billy](https://github.com/bcatherall)
|
330
366
|
* [Jérémie Meyer de Ville](https://github.com/jeremiemv)
|
331
367
|
* [Michael Elfassy](https://github.com/elfassy)
|
332
368
|
* [Kelley Reynolds](https://github.com/kreynolds)
|
333
369
|
* [Washington L Braga Jr](https://github.com/huoxito)
|
370
|
+
* [mbradshawabs](https://github.com/mbradshawabs)
|
371
|
+
* [Richard Nuno](https://github.com/richardnuno)
|
372
|
+
* [Andres Camacho](https://github.com/andresfcamacho)
|
334
373
|
|
335
374
|
# Related Material
|
336
375
|
|
data/gemfiles/rails4.1.gemfile
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
source "https://rubygems.org"
|
4
4
|
|
5
|
-
gem "actionpack", "~> 4.1.0.
|
6
|
-
gem "activesupport", "~> 4.1.0.
|
7
|
-
gem "railties", "~> 4.1.0.
|
5
|
+
gem "actionpack", "~> 4.1.0.rc1"
|
6
|
+
gem "activesupport", "~> 4.1.0.rc1"
|
7
|
+
gem "railties", "~> 4.1.0.rc1"
|
8
8
|
|
9
9
|
gemspec :path=>"../"
|
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: ../
|
3
3
|
specs:
|
4
|
-
versioncake (2.
|
4
|
+
versioncake (2.1.0)
|
5
5
|
actionpack (>= 3.2)
|
6
6
|
activesupport (>= 3.2)
|
7
7
|
railties (>= 3.2)
|
@@ -10,16 +10,16 @@ PATH
|
|
10
10
|
GEM
|
11
11
|
remote: https://rubygems.org/
|
12
12
|
specs:
|
13
|
-
actionpack (4.1.0.
|
14
|
-
actionview (= 4.1.0.
|
15
|
-
activesupport (= 4.1.0.
|
13
|
+
actionpack (4.1.0.rc1)
|
14
|
+
actionview (= 4.1.0.rc1)
|
15
|
+
activesupport (= 4.1.0.rc1)
|
16
16
|
rack (~> 1.5.2)
|
17
17
|
rack-test (~> 0.6.2)
|
18
|
-
actionview (4.1.0.
|
19
|
-
activesupport (= 4.1.0.
|
18
|
+
actionview (4.1.0.rc1)
|
19
|
+
activesupport (= 4.1.0.rc1)
|
20
20
|
builder (~> 3.1)
|
21
21
|
erubis (~> 2.7.0)
|
22
|
-
activesupport (4.1.0.
|
22
|
+
activesupport (4.1.0.rc1)
|
23
23
|
i18n (~> 0.6, >= 0.6.9)
|
24
24
|
json (~> 1.7, >= 1.7.7)
|
25
25
|
minitest (~> 5.1)
|
@@ -36,22 +36,22 @@ GEM
|
|
36
36
|
simplecov (>= 0.7)
|
37
37
|
term-ansicolor
|
38
38
|
thor
|
39
|
-
docile (1.1.
|
39
|
+
docile (1.1.3)
|
40
40
|
erubis (2.7.0)
|
41
41
|
i18n (0.6.9)
|
42
42
|
json (1.8.1)
|
43
|
-
metaclass (0.0.
|
44
|
-
mime-types (2.
|
45
|
-
minitest (5.2.
|
43
|
+
metaclass (0.0.4)
|
44
|
+
mime-types (2.1)
|
45
|
+
minitest (5.2.3)
|
46
46
|
mocha (1.0.0)
|
47
47
|
metaclass (~> 0.0.1)
|
48
48
|
multi_json (1.8.4)
|
49
49
|
rack (1.5.2)
|
50
50
|
rack-test (0.6.2)
|
51
51
|
rack (>= 1.0)
|
52
|
-
railties (4.1.0.
|
53
|
-
actionpack (= 4.1.0.
|
54
|
-
activesupport (= 4.1.0.
|
52
|
+
railties (4.1.0.rc1)
|
53
|
+
actionpack (= 4.1.0.rc1)
|
54
|
+
activesupport (= 4.1.0.rc1)
|
55
55
|
rake (>= 0.8.7)
|
56
56
|
thor (>= 0.18.1, < 2.0)
|
57
57
|
rake (10.1.1)
|
@@ -62,13 +62,13 @@ GEM
|
|
62
62
|
multi_json
|
63
63
|
simplecov-html (~> 0.8.0)
|
64
64
|
simplecov-html (0.8.0)
|
65
|
-
term-ansicolor (1.
|
66
|
-
tins (~> 0
|
65
|
+
term-ansicolor (1.3.0)
|
66
|
+
tins (~> 1.0)
|
67
67
|
test-unit (2.5.5)
|
68
68
|
thor (0.18.1)
|
69
69
|
thread_safe (0.1.3)
|
70
70
|
atomic
|
71
|
-
tins (0.
|
71
|
+
tins (1.0.0)
|
72
72
|
tzinfo (1.1.0)
|
73
73
|
thread_safe (~> 0.1)
|
74
74
|
|
@@ -76,12 +76,12 @@ PLATFORMS
|
|
76
76
|
ruby
|
77
77
|
|
78
78
|
DEPENDENCIES
|
79
|
-
actionpack (~> 4.1.0.
|
80
|
-
activesupport (~> 4.1.0.
|
79
|
+
actionpack (~> 4.1.0.rc1)
|
80
|
+
activesupport (~> 4.1.0.rc1)
|
81
81
|
appraisal
|
82
82
|
coveralls
|
83
83
|
mocha
|
84
|
-
railties (~> 4.1.0.
|
84
|
+
railties (~> 4.1.0.rc1)
|
85
85
|
rake
|
86
86
|
test-unit
|
87
87
|
versioncake!
|
data/lib/versioncake.rb
CHANGED
@@ -6,6 +6,7 @@ require 'versioncake/strategies/path_parameter_strategy'
|
|
6
6
|
require 'versioncake/strategies/request_parameter_strategy'
|
7
7
|
require 'versioncake/strategies/custom_strategy'
|
8
8
|
|
9
|
+
require 'versioncake/exceptions'
|
9
10
|
require 'versioncake/configuration'
|
10
11
|
require 'versioncake/controller_additions'
|
11
12
|
require 'versioncake/view_additions'
|
@@ -33,8 +33,11 @@ module VersionCake
|
|
33
33
|
versioned_request = VersionCake::VersionedRequest.new(request, override_version)
|
34
34
|
@requested_version = versioned_request.extracted_version
|
35
35
|
@derived_version = versioned_request.version
|
36
|
+
@is_latest_version = versioned_request.is_latest_version?
|
37
|
+
if !versioned_request.is_version_supported?
|
38
|
+
raise UnsupportedVersionError.new('Unsupported version error')
|
39
|
+
end
|
36
40
|
@_lookup_context.versions = versioned_request.supported_versions
|
37
|
-
@is_latest_version = versioned_request.is_latest_version
|
38
41
|
end
|
39
42
|
end
|
40
43
|
end
|
data/lib/versioncake/version.rb
CHANGED
@@ -1,16 +1,23 @@
|
|
1
1
|
module VersionCake
|
2
2
|
class VersionedRequest
|
3
|
-
attr_reader :version, :extracted_version
|
3
|
+
attr_reader :version, :extracted_version
|
4
4
|
|
5
5
|
def initialize(request, version_override=nil)
|
6
|
-
|
7
|
-
@is_latest_version = @version == config.latest_version
|
6
|
+
derive_version(request, version_override)
|
8
7
|
end
|
9
8
|
|
10
9
|
def supported_versions
|
11
10
|
config.supported_versions(@version)
|
12
11
|
end
|
13
12
|
|
13
|
+
def is_latest_version?
|
14
|
+
@version == config.latest_version
|
15
|
+
end
|
16
|
+
|
17
|
+
def is_version_supported?
|
18
|
+
config.supports_version? @version
|
19
|
+
end
|
20
|
+
|
14
21
|
private
|
15
22
|
|
16
23
|
def config
|
@@ -26,16 +33,12 @@ module VersionCake
|
|
26
33
|
version
|
27
34
|
end
|
28
35
|
|
29
|
-
def
|
30
|
-
|
31
|
-
|
32
|
-
@version = config.default_version || config.latest_version
|
33
|
-
elsif config.supports_version? @extracted_version
|
34
|
-
@version = @extracted_version
|
35
|
-
elsif @extracted_version > config.latest_version
|
36
|
-
raise ActionController::RoutingError.new("No route match for version")
|
36
|
+
def derive_version(request, version_override)
|
37
|
+
if version_override
|
38
|
+
@version = version_override
|
37
39
|
else
|
38
|
-
|
40
|
+
@extracted_version = apply_strategies(request)
|
41
|
+
@version = @extracted_version || config.default_version || config.latest_version
|
39
42
|
end
|
40
43
|
end
|
41
44
|
end
|
@@ -46,13 +46,13 @@ class RendersControllerTest < ActionController::TestCase
|
|
46
46
|
end
|
47
47
|
|
48
48
|
test "responds with 404 when the version is larger than the supported version" do
|
49
|
-
assert_raise
|
49
|
+
assert_raise VersionCake::UnsupportedVersionError do
|
50
50
|
get :index, "api_version" => "4"
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
54
|
test "responds with 404 when the version is lower than the latest version, but not an available version" do
|
55
|
-
assert_raise
|
55
|
+
assert_raise VersionCake::UnsupportedVersionError do
|
56
56
|
get :index, "api_version" => "0"
|
57
57
|
end
|
58
58
|
end
|
@@ -15,23 +15,19 @@ class VersionedRequestTest < ActiveSupport::TestCase
|
|
15
15
|
|
16
16
|
test "a request for a version that is higher than the latest version raises an error" do
|
17
17
|
VersionCake::VersionedRequest.any_instance.stubs(:apply_strategies => 99)
|
18
|
-
|
19
|
-
VersionCake::VersionedRequest.new(stub())
|
20
|
-
end
|
18
|
+
assert !VersionCake::VersionedRequest.new(stub()).is_version_supported?
|
21
19
|
end
|
22
20
|
|
23
21
|
test "a request for a deprecated version raises an exception" do
|
24
22
|
VersionCake::VersionedRequest.any_instance.stubs(:apply_strategies => 2)
|
25
23
|
VersionCake::Configuration.any_instance.stubs(:supports_version? => false)
|
26
|
-
|
27
|
-
VersionCake::VersionedRequest.new(stub())
|
28
|
-
end
|
24
|
+
assert !VersionCake::VersionedRequest.new(stub()).is_version_supported?
|
29
25
|
end
|
30
26
|
|
31
27
|
test "has a method to determine if requesting the latest version" do
|
32
28
|
VersionCake::VersionedRequest.any_instance.stubs(:apply_strategies => nil)
|
33
29
|
versioned_request = VersionCake::VersionedRequest.new(stub())
|
34
|
-
assert versioned_request.is_latest_version
|
30
|
+
assert versioned_request.is_latest_version?
|
35
31
|
end
|
36
32
|
|
37
33
|
test "has a method to retrieve the extracted version" do
|
data/versioncake.gemspec
CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.license = 'MIT'
|
9
9
|
s.authors = ["Jim Jones", "Ben Willis"]
|
10
10
|
s.email = ["jim.jones1@gmail.com", "benjamin.willis@gmail.com"]
|
11
|
-
s.homepage = "
|
11
|
+
s.homepage = "http://bwillis.github.io/versioncake"
|
12
12
|
s.summary = %q{Easily render versions of your rails views.}
|
13
13
|
s.description = %q{Render versioned views automagically based on the clients requested version.}
|
14
14
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: versioncake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Jones
|
@@ -9,132 +9,132 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-03-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - '>='
|
18
|
+
- - ! '>='
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '3.2'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- - '>='
|
25
|
+
- - ! '>='
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '3.2'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: activesupport
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- - '>='
|
32
|
+
- - ! '>='
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '3.2'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- - '>='
|
39
|
+
- - ! '>='
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '3.2'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: railties
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- - '>='
|
46
|
+
- - ! '>='
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: '3.2'
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- - '>='
|
53
|
+
- - ! '>='
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '3.2'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: tzinfo
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- - '>='
|
60
|
+
- - ! '>='
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: '0'
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- - '>='
|
67
|
+
- - ! '>='
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '0'
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: test-unit
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
|
-
- - '>='
|
74
|
+
- - ! '>='
|
75
75
|
- !ruby/object:Gem::Version
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
|
-
- - '>='
|
81
|
+
- - ! '>='
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: '0'
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
85
|
name: mocha
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
|
-
- - '>='
|
88
|
+
- - ! '>='
|
89
89
|
- !ruby/object:Gem::Version
|
90
90
|
version: '0'
|
91
91
|
type: :development
|
92
92
|
prerelease: false
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
|
-
- - '>='
|
95
|
+
- - ! '>='
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '0'
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
99
|
name: appraisal
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
|
-
- - '>='
|
102
|
+
- - ! '>='
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: '0'
|
105
105
|
type: :development
|
106
106
|
prerelease: false
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
|
-
- - '>='
|
109
|
+
- - ! '>='
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: '0'
|
112
112
|
- !ruby/object:Gem::Dependency
|
113
113
|
name: coveralls
|
114
114
|
requirement: !ruby/object:Gem::Requirement
|
115
115
|
requirements:
|
116
|
-
- - '>='
|
116
|
+
- - ! '>='
|
117
117
|
- !ruby/object:Gem::Version
|
118
118
|
version: '0'
|
119
119
|
type: :development
|
120
120
|
prerelease: false
|
121
121
|
version_requirements: !ruby/object:Gem::Requirement
|
122
122
|
requirements:
|
123
|
-
- - '>='
|
123
|
+
- - ! '>='
|
124
124
|
- !ruby/object:Gem::Version
|
125
125
|
version: '0'
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
127
|
name: rake
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|
129
129
|
requirements:
|
130
|
-
- - '>='
|
130
|
+
- - ! '>='
|
131
131
|
- !ruby/object:Gem::Version
|
132
132
|
version: '0'
|
133
133
|
type: :development
|
134
134
|
prerelease: false
|
135
135
|
version_requirements: !ruby/object:Gem::Requirement
|
136
136
|
requirements:
|
137
|
-
- - '>='
|
137
|
+
- - ! '>='
|
138
138
|
- !ruby/object:Gem::Version
|
139
139
|
version: '0'
|
140
140
|
description: Render versioned views automagically based on the clients requested version.
|
@@ -168,6 +168,7 @@ files:
|
|
168
168
|
- lib/versioncake/cli.rb
|
169
169
|
- lib/versioncake/configuration.rb
|
170
170
|
- lib/versioncake/controller_additions.rb
|
171
|
+
- lib/versioncake/exceptions.rb
|
171
172
|
- lib/versioncake/railtie.rb
|
172
173
|
- lib/versioncake/strategies/custom_strategy.rb
|
173
174
|
- lib/versioncake/strategies/extraction_strategy.rb
|
@@ -218,7 +219,7 @@ files:
|
|
218
219
|
- test/unit/versioned_request_test.rb
|
219
220
|
- test/unit/view_additions_test.rb
|
220
221
|
- versioncake.gemspec
|
221
|
-
homepage:
|
222
|
+
homepage: http://bwillis.github.io/versioncake
|
222
223
|
licenses:
|
223
224
|
- MIT
|
224
225
|
metadata: {}
|
@@ -228,17 +229,17 @@ require_paths:
|
|
228
229
|
- lib
|
229
230
|
required_ruby_version: !ruby/object:Gem::Requirement
|
230
231
|
requirements:
|
231
|
-
- - '>='
|
232
|
+
- - ! '>='
|
232
233
|
- !ruby/object:Gem::Version
|
233
234
|
version: '0'
|
234
235
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
235
236
|
requirements:
|
236
|
-
- - '>='
|
237
|
+
- - ! '>='
|
237
238
|
- !ruby/object:Gem::Version
|
238
239
|
version: '0'
|
239
240
|
requirements: []
|
240
241
|
rubyforge_project:
|
241
|
-
rubygems_version: 2.0.
|
242
|
+
rubygems_version: 2.0.6
|
242
243
|
signing_key:
|
243
244
|
specification_version: 4
|
244
245
|
summary: Easily render versions of your rails views.
|