trailer_vote-api 2.0.0 → 2.1.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
  SHA256:
3
- metadata.gz: 06d20422107619b639e2496f530126166ef1e9daae44096aa148a72379f3e8d2
4
- data.tar.gz: bcbad3ffee3536d60c71146e46aba8247f9e7baab39940bb21769cb811fd052b
3
+ metadata.gz: b9ceec23ca6fee63d3e70a64844dcc68123a4ae9fd9cba82cb445be4fe9ead42
4
+ data.tar.gz: e86c319adbdd7893f6e96d98e95e771c1074acaa2c6a691fbf92423fdbc6760b
5
5
  SHA512:
6
- metadata.gz: b65c2090dcdfcc45d39e973fa0f35876eaae37da8e19e16f1d4b7444d1d0ce0e0f2f63d1ef7f54a4533d8fde30d47262d2bc6b46017bb7fdc993ed0bb7ed979f
7
- data.tar.gz: b2f73287ed57afc6a30d2b125372019bab32ccdeca7c4c364b8654cadc250adb266604c2dd380f3761a1081581187e451370de29ba71f4566611ccd3546a1625
6
+ metadata.gz: 6034499012794304f01f4ad6865a820e44aa251471d29ec2cc3bb6d7548eb7274ab6502f0ddf4598c4f870086f7e6d43074b8796d039737dc8564faa198b4a3b
7
+ data.tar.gz: 04435e14b64fc7a1b11d2060896ef0ec25d792beead68f01230a3bf3a442cc2d82fd7bba728ecdc0c53c7ae0bc38160fa81050f8fb9748f1cef58050bc87833f
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- trailer_vote-api (2.0.0)
4
+ trailer_vote-api (2.1.0)
5
5
  http (>= 3.3.0, <= 4.1.1)
6
6
  oj (>= 3.6, < 4.x)
7
7
  trailer_vote-media_types (~> 2.0)
@@ -13,7 +13,7 @@ GEM
13
13
  public_suffix (>= 2.0.2, < 5.0)
14
14
  ansi (1.5.0)
15
15
  awesome_print (1.8.0)
16
- builder (3.2.3)
16
+ builder (3.2.4)
17
17
  crack (0.4.3)
18
18
  safe_yaml (~> 1.0.0)
19
19
  docile (1.3.2)
@@ -27,11 +27,10 @@ GEM
27
27
  http_parser.rb (~> 0.6.0)
28
28
  http-cookie (1.0.3)
29
29
  domain_name (~> 0.5)
30
- http-form_data (2.1.1)
30
+ http-form_data (2.2.0)
31
31
  http_parser.rb (0.6.0)
32
- json (2.2.0)
33
32
  media_types (0.6.2)
34
- minitest (5.13.0)
33
+ minitest (5.14.0)
35
34
  minitest-ci (3.4.0)
36
35
  minitest (>= 5.0.6)
37
36
  minitest-reporters (1.4.2)
@@ -39,22 +38,21 @@ GEM
39
38
  builder
40
39
  minitest (>= 5.0)
41
40
  ruby-progressbar
42
- oj (3.10.0)
43
- public_suffix (4.0.1)
41
+ oj (3.10.2)
42
+ public_suffix (4.0.3)
44
43
  rake (13.0.1)
45
44
  ruby-progressbar (1.10.1)
46
45
  safe_yaml (1.0.5)
47
- simplecov (0.17.1)
46
+ simplecov (0.18.0)
48
47
  docile (~> 1.1)
49
- json (>= 1.8, < 3)
50
- simplecov-html (~> 0.10.0)
51
- simplecov-html (0.10.2)
52
- trailer_vote-media_types (2.0.0)
48
+ simplecov-html (~> 0.11.0)
49
+ simplecov-html (0.11.0)
50
+ trailer_vote-media_types (2.3.0)
53
51
  media_types (>= 0.6.0, < 1)
54
52
  unf (0.1.4)
55
53
  unf_ext
56
54
  unf_ext (0.0.7.6)
57
- webmock (3.7.6)
55
+ webmock (3.8.0)
58
56
  addressable (>= 2.3.6)
59
57
  crack (>= 0.3.2)
60
58
  hashdiff (>= 0.4.0, < 2.0.0)
@@ -22,3 +22,5 @@ require 'trailer_vote/api/product/place/link'
22
22
  require 'trailer_vote/api/product/video'
23
23
  require 'trailer_vote/api/product/video/create'
24
24
  require 'trailer_vote/api/product/video/find'
25
+ require 'trailer_vote/api/push_recipe_ios'
26
+ require 'trailer_vote/api/push_recipe_android'
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'trailer_vote/media_types'
4
+
5
+ module TrailerVote
6
+ module Api
7
+ class PushRecipeAndroid
8
+ include Composable::Get
9
+
10
+ attr_accessor :client
11
+
12
+ SUCCESS = MediaTypes::PushRecipeAndroid.to_constructable.version(1)
13
+ FAILURE = MediaTypes::Errors.to_constructable.version(1)
14
+ ACCEPT = [SUCCESS.to_s, FAILURE.to_s(0.1)].join(', ').freeze
15
+
16
+ def initialize(configuration: nil, result: nil)
17
+ self.configuration = configuration
18
+ self.result = result
19
+ end
20
+
21
+ def call(url: nil)
22
+ return self if ok? || !url
23
+
24
+ local_client = client
25
+ unless client
26
+ uri = URI(url)
27
+ local_client = TrailerVote::Api.default_unauthenticated_client
28
+ local_client = local_client.basic_auth(user: uri.user, pass: uri.password)
29
+ end
30
+
31
+ guard_network_errors do
32
+ branch(local_client.headers(Headers::ACCEPT => ACCEPT).get(url))
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+
39
+ TrailerVote::MediaTypes::PushRecipeAndroid.register
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'trailer_vote/media_types'
4
+
5
+ module TrailerVote
6
+ module Api
7
+ class PushRecipeIos
8
+ include Composable::Get
9
+
10
+ attr_accessor :client
11
+
12
+ SUCCESS = MediaTypes::PushRecipeIos.to_constructable.version(1)
13
+ FAILURE = MediaTypes::Errors.to_constructable.version(1)
14
+ ACCEPT = [SUCCESS.to_s, FAILURE.to_s(0.1)].join(', ').freeze
15
+
16
+ def initialize(configuration: nil, result: nil)
17
+ self.configuration = configuration
18
+ self.result = result
19
+ end
20
+
21
+ def call(url: nil)
22
+ return self if ok? || !url
23
+
24
+ local_client = client
25
+ unless client
26
+ uri = URI(url)
27
+ local_client = TrailerVote::Api.default_unauthenticated_client
28
+ local_client = local_client.basic_auth(user: uri.user, pass: uri.password)
29
+ end
30
+
31
+ guard_network_errors do
32
+ branch(local_client.headers(Headers::ACCEPT => ACCEPT).get(url))
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+
39
+ TrailerVote::MediaTypes::PushRecipeIos.register
@@ -2,6 +2,6 @@
2
2
 
3
3
  module TrailerVote
4
4
  module Api
5
- VERSION = '2.0.0'
5
+ VERSION = '2.1.0'
6
6
  end
7
7
  end
@@ -23,14 +23,17 @@ module TrailerVote
23
23
  TypeRegistry[media_type.to_s].encode(data)
24
24
  end
25
25
 
26
- def default_client(username, password)
27
- # .basic_authentication
28
- HTTP_KLAZZ.basic_auth(user: username, pass: password).headers(
26
+ def default_unauthenticated_client
27
+ HTTP_KLAZZ.headers(
29
28
  Headers::ACCEPT_ENCODING => 'gzip, deflate; q=0.5, identity; q=0.1',
30
29
  Headers::USER_AGENT => format('TrailerVote/httpx.rb (client %<version>s)', version: VERSION)
31
30
  )
32
31
  end
33
32
 
33
+ def default_client(username, password)
34
+ default_unauthenticated_client.basic_auth(user: username, pass: password)
35
+ end
36
+
34
37
  module Headers
35
38
  ACCEPT = 'Accept'
36
39
  ACCEPT_ENCODING = 'Accept-Encoding'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trailer_vote-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derk-Jan Karrenbeld
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-09 00:00:00.000000000 Z
11
+ date: 2020-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http
@@ -223,6 +223,8 @@ files:
223
223
  - lib/trailer_vote/api/product/video/create.rb
224
224
  - lib/trailer_vote/api/product/video/find.rb
225
225
  - lib/trailer_vote/api/product/video/urls.rb
226
+ - lib/trailer_vote/api/push_recipe_android.rb
227
+ - lib/trailer_vote/api/push_recipe_ios.rb
226
228
  - lib/trailer_vote/api/type_registry.rb
227
229
  - lib/trailer_vote/api/version.rb
228
230
  - trailer_vote-api.gemspec