wes-data-api 5.2.4 → 5.3.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/wes/data/api/client.rb +9 -4
- data/lib/wes/data/api/error/response.rb +5 -1
- data/lib/wes/data/api/model/challenge.rb +2 -2
- data/lib/wes/data/api/model/reward.rb +16 -0
- data/lib/wes/data/api/request.rb +8 -1
- data/lib/wes/data/api/response.rb +7 -8
- data/lib/wes/data/api/reward.rb +25 -0
- data/lib/wes/data/api/routes.rb +1 -0
- data/lib/wes/data/api.rb +1 -1
- metadata +4 -3
- data/lib/wes/data/api/model/challenge_reward.rb +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4c029570ee46427fa0a779ad9107aad8e3997566
|
4
|
+
data.tar.gz: 92b7199c27e4ac752786dfbd308f5498935d8046
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a6118329e2826727cc5dc08c26df598b06bfe9332eccef4dea786a4b561a5376e483c0b01db14374688aab8ba82ee603d5567545073e818cf753a712788ade47
|
7
|
+
data.tar.gz: 189e797c8fdca1507d1f7bc51656fb096f57a3e64a32d00d6d3422b2bc6bf7e3a50773549e4dcac2a277ffe19d2846a8674d6aae5bb5bbb4cee771798ab62556
|
data/lib/wes/data/api/client.rb
CHANGED
@@ -6,18 +6,23 @@ module Wes
|
|
6
6
|
module API
|
7
7
|
class Client
|
8
8
|
def get(path)
|
9
|
-
api_response = request.get
|
10
|
-
response
|
9
|
+
api_response = request.get(path)
|
10
|
+
response(api_response)
|
11
11
|
end
|
12
12
|
|
13
13
|
def post(path, options)
|
14
14
|
api_response = request.post(path, options)
|
15
|
-
response
|
15
|
+
response(api_response)
|
16
16
|
end
|
17
17
|
|
18
18
|
def put(path, options)
|
19
19
|
api_response = request.put(path, options)
|
20
|
-
response
|
20
|
+
response(api_response)
|
21
|
+
end
|
22
|
+
|
23
|
+
def delete(path)
|
24
|
+
api_response = request.delete(path)
|
25
|
+
response(api_response)
|
21
26
|
end
|
22
27
|
|
23
28
|
private
|
@@ -2,7 +2,11 @@ module Wes
|
|
2
2
|
module Data
|
3
3
|
module API
|
4
4
|
module Error
|
5
|
-
class Response < StandardError
|
5
|
+
class Response < StandardError
|
6
|
+
def initialize(status_code, message)
|
7
|
+
super("API returned a status code of '#{status_code}' and message '#{message}'")
|
8
|
+
end
|
9
|
+
end
|
6
10
|
end
|
7
11
|
end
|
8
12
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
require "wes/data/api/model/base"
|
2
|
-
require "wes/data/api/model/
|
2
|
+
require "wes/data/api/model/reward"
|
3
3
|
require "wes/data/api/model/creator_user"
|
4
4
|
require "wes/data/api/model/video"
|
5
5
|
|
@@ -11,7 +11,7 @@ module Wes
|
|
11
11
|
def rewards
|
12
12
|
route = [routes.challenge, id, routes.rewards].join("/")
|
13
13
|
map_objects(
|
14
|
-
client.get(route), Wes::Data::API::Model::
|
14
|
+
client.get(route), Wes::Data::API::Model::Reward
|
15
15
|
)
|
16
16
|
end
|
17
17
|
|
data/lib/wes/data/api/request.rb
CHANGED
@@ -28,7 +28,14 @@ module Wes
|
|
28
28
|
r.body = options.to_json
|
29
29
|
r.headers["Content-Type"] = "application/json"
|
30
30
|
r.options.timeout = TIMEOUT
|
31
|
-
r.url
|
31
|
+
r.url complete_path(path)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def delete(path)
|
36
|
+
connection.delete do |r|
|
37
|
+
r.options.timeout = TIMEOUT
|
38
|
+
r.url complete_path(path)
|
32
39
|
end
|
33
40
|
end
|
34
41
|
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require "wes/data/api/error/response"
|
2
1
|
require "wes/data/api/error/unexpected"
|
2
|
+
require "wes/data/api/error/response"
|
3
3
|
|
4
4
|
module Wes
|
5
5
|
module Data
|
@@ -11,7 +11,8 @@ module Wes
|
|
11
11
|
|
12
12
|
def build
|
13
13
|
raise unexpected_error unless response.body
|
14
|
-
|
14
|
+
raise api_error unless response.status == 200
|
15
|
+
data = response.body["data"] || {}
|
15
16
|
data.map { |e| OpenStruct.new e }
|
16
17
|
end
|
17
18
|
|
@@ -20,17 +21,15 @@ module Wes
|
|
20
21
|
attr_reader :response
|
21
22
|
|
22
23
|
def error_details
|
23
|
-
response.body.fetch
|
24
|
+
response.body.fetch("details")
|
24
25
|
end
|
25
26
|
|
26
27
|
def error_status
|
27
|
-
response.body.fetch
|
28
|
+
response.body.fetch("status")
|
28
29
|
end
|
29
30
|
|
30
|
-
def
|
31
|
-
Error::Response.new(
|
32
|
-
"#{error_status} - #{error_details}"
|
33
|
-
)
|
31
|
+
def api_error
|
32
|
+
Error::Response.new(error_status, error_details)
|
34
33
|
end
|
35
34
|
|
36
35
|
def unexpected_error
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require "wes/data/api/base"
|
2
|
+
require "wes/data/api/model/reward"
|
3
|
+
|
4
|
+
module Wes
|
5
|
+
module Data
|
6
|
+
module API
|
7
|
+
class Reward
|
8
|
+
class << self
|
9
|
+
include Base
|
10
|
+
|
11
|
+
def create(data)
|
12
|
+
attributes = client.post(routes.reward, data).first
|
13
|
+
attributes.nil? ? nil : model_klass.new(attributes)
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def model_klass
|
19
|
+
Wes::Data::API::Model::Reward
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/lib/wes/data/api/routes.rb
CHANGED
data/lib/wes/data/api.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wes-data-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ''
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-05-
|
11
|
+
date: 2016-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -133,13 +133,14 @@ files:
|
|
133
133
|
- lib/wes/data/api/model/brand.rb
|
134
134
|
- lib/wes/data/api/model/brand_user.rb
|
135
135
|
- lib/wes/data/api/model/challenge.rb
|
136
|
-
- lib/wes/data/api/model/challenge_reward.rb
|
137
136
|
- lib/wes/data/api/model/collective.rb
|
138
137
|
- lib/wes/data/api/model/creator_user.rb
|
138
|
+
- lib/wes/data/api/model/reward.rb
|
139
139
|
- lib/wes/data/api/model/submission.rb
|
140
140
|
- lib/wes/data/api/model/video.rb
|
141
141
|
- lib/wes/data/api/request.rb
|
142
142
|
- lib/wes/data/api/response.rb
|
143
|
+
- lib/wes/data/api/reward.rb
|
143
144
|
- lib/wes/data/api/routes.rb
|
144
145
|
- lib/wes/data/api/submission.rb
|
145
146
|
- lib/wes/data/api/video.rb
|