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 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