ocean-rails 1.16.1 → 1.17.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.
- checksums.yaml +4 -4
- data/lib/ocean-rails.rb +7 -1
- data/lib/ocean/ocean_application_controller.rb +17 -0
- data/lib/ocean/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 657f5cff217cb3e6e5fc39cec900587db01631bb
|
|
4
|
+
data.tar.gz: 5189d82abe5317d0fbb120c7c70722b022c7ac91
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 805073b02c7253848eeb3bce175bcc396217fd497e96e9efa0b76ee0fa9a2ef0b47a4bddc959f1ef558fc9eae74e257d781c8a4cce067d99a08a54c5e92e4b5e
|
|
7
|
+
data.tar.gz: 18ea51cd7aeff51beb43f64a2f1e2906d6d3e093604f2afdab739427ff5b035f3a9d0550ab4cef4801af2d8dff70f57c69857dac009bb3d1a0e3cc0d657ec16f
|
data/lib/ocean-rails.rb
CHANGED
|
@@ -26,7 +26,9 @@ end
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
#
|
|
29
|
-
# For stubbing authorisation calls
|
|
29
|
+
# For stubbing successful authorisation calls. Makes <tt>Api.permitted?</tt> return
|
|
30
|
+
# the status, and a body containing a partial authentication containing the +user_id+
|
|
31
|
+
# and +creator_uri+ given by the parameters.
|
|
30
32
|
#
|
|
31
33
|
def permit_with(status, user_id: 123, creator_uri: "https://api.example.com/v1/api_users/#{user_id}")
|
|
32
34
|
Api.stub(:permitted?).
|
|
@@ -37,6 +39,10 @@ def permit_with(status, user_id: 123, creator_uri: "https://api.example.com/v1/a
|
|
|
37
39
|
'type' => 'application/json'}}}}))
|
|
38
40
|
end
|
|
39
41
|
|
|
42
|
+
#
|
|
43
|
+
# For stubbing failed authorisation calls. Makes <tt>Api.permitted?</tt> return the
|
|
44
|
+
# given status and a body containing a standard API error with the given error messages.
|
|
45
|
+
#
|
|
40
46
|
def deny_with(status, *error_messages)
|
|
41
47
|
Api.stub(:permitted?).
|
|
42
48
|
and_return(double(:status => status,
|
|
@@ -71,6 +71,23 @@ module OceanApplicationController
|
|
|
71
71
|
false
|
|
72
72
|
end
|
|
73
73
|
|
|
74
|
+
|
|
75
|
+
#
|
|
76
|
+
# Requires the request to be conditional: it must have an +If-None-Match+ and/or an
|
|
77
|
+
# +If-Modified-Since+ HTTP header. If the request isn't conditional, a 428 error is
|
|
78
|
+
# returned. The body will be a standard API error message, with two strings:
|
|
79
|
+
# <tt>"Precondition Required"</tt> and <tt>"If-None-Match and/or If-Modified-Since missing"</tt>.
|
|
80
|
+
#
|
|
81
|
+
def require_conditional
|
|
82
|
+
if request.headers['If-None-Match'].blank? && request.headers['If-Modified-Since'].blank?
|
|
83
|
+
render_api_error 428, "Precondition Required",
|
|
84
|
+
"If-None-Match and/or If-Modified-Since missing"
|
|
85
|
+
false
|
|
86
|
+
else
|
|
87
|
+
true
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
|
|
74
91
|
|
|
75
92
|
#
|
|
76
93
|
# Updates +created_by+ and +updated_by+ to the ApiUser for which the current request
|
data/lib/ocean/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ocean-rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.17.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter Bengtson
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2013-08-
|
|
11
|
+
date: 2013-08-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|