wes-data-api 5.2.4 → 5.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b57047bb9f18ede3fba9daef60556b90e9ab0cc9
4
- data.tar.gz: 7869630435723dddc7d78fd297ea03c753d9894f
3
+ metadata.gz: 4c029570ee46427fa0a779ad9107aad8e3997566
4
+ data.tar.gz: 92b7199c27e4ac752786dfbd308f5498935d8046
5
5
  SHA512:
6
- metadata.gz: 0ef3c8359c7ddefbf1671a34aea7f70a99dde7d09dfa98f57ec19dd12ade63e7f0e225ea7f41b001303475f8259d1578b2f1b931965da3ab991c73f70415335c
7
- data.tar.gz: 4ebcd9d33859ec9e431bac4e5a9477de356898e6e8af117c1e127667bf9c35938d4b9b18c124b4d55e1dc0becb6370869c0bfe5374a31bd75a3f94ed972412bb
6
+ metadata.gz: a6118329e2826727cc5dc08c26df598b06bfe9332eccef4dea786a4b561a5376e483c0b01db14374688aab8ba82ee603d5567545073e818cf753a712788ade47
7
+ data.tar.gz: 189e797c8fdca1507d1f7bc51656fb096f57a3e64a32d00d6d3422b2bc6bf7e3a50773549e4dcac2a277ffe19d2846a8674d6aae5bb5bbb4cee771798ab62556
@@ -6,18 +6,23 @@ module Wes
6
6
  module API
7
7
  class Client
8
8
  def get(path)
9
- api_response = request.get path
10
- response api_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 api_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 api_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; end
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/challenge_reward"
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::ChallengeReward
14
+ client.get(route), Wes::Data::API::Model::Reward
15
15
  )
16
16
  end
17
17
 
@@ -0,0 +1,16 @@
1
+ require "wes/data/api/model/base"
2
+
3
+ module Wes
4
+ module Data
5
+ module API
6
+ module Model
7
+ class Reward < Base
8
+ def delete
9
+ route = [routes.reward, id].join("/")
10
+ client.delete(route)
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -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 complete_path(path)
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
- data = response.body["data"] || raise(response_error)
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 "details"
24
+ response.body.fetch("details")
24
25
  end
25
26
 
26
27
  def error_status
27
- response.body.fetch "status"
28
+ response.body.fetch("status")
28
29
  end
29
30
 
30
- def response_error
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
@@ -15,6 +15,7 @@ module Wes
15
15
  :creator_user => "creator-user",
16
16
  :creator_users => "creator-users",
17
17
  :rewards => "rewards",
18
+ :reward => "reward",
18
19
  :submission => "submission",
19
20
  :submissions => "submissions",
20
21
  :video => "video",
data/lib/wes/data/api.rb CHANGED
@@ -5,7 +5,7 @@ require "wes/data/api/configuration"
5
5
  module Wes
6
6
  module Data
7
7
  module API
8
- VERSION = "5.2.4".freeze
8
+ VERSION = "5.3.0".freeze
9
9
  end
10
10
  end
11
11
  end
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.2.4
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-10 00:00:00.000000000 Z
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
@@ -1,12 +0,0 @@
1
- require "wes/data/api/model/base"
2
-
3
- module Wes
4
- module Data
5
- module API
6
- module Model
7
- class ChallengeReward < Base
8
- end
9
- end
10
- end
11
- end
12
- end