tarpon 0.5.0 → 0.6.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: 8d6acb3ebc1ea690eba860bd056c0de1e1bd225d82d27996c281415e82e8deca
4
- data.tar.gz: e350303887989f6dd361e6d8a4517dc421be6ca29589120f677980b4ba046b20
3
+ metadata.gz: 5811d0e34134da8a10d63ac233fad01bb2d8dcb21a43535589728bd3e7d6c134
4
+ data.tar.gz: bc9fe30ae1d75d5e80906b87298826f71763ff83a4dc0c82aec1a433f4d8dbe9
5
5
  SHA512:
6
- metadata.gz: 542d5d0781ff979ce7c51c5df96e54afe89830aa8f1570dc76b6326c7cd07519764d4d95b197cc66a6c9de1504093dcfe6819a89c3c97a3c011f3341da42d6e1
7
- data.tar.gz: 79d50fa993c8d48c648bc81a7d9ef793278459445095b6703019d97dc8269d956afd073e15e7b8553303fe297672ec8b0e4cd3053fd5ec1993fce29e6bc3c754
6
+ metadata.gz: 4173aea0ec3711c60a7cbbffa8e44139810e08e1c1dea3d2eef97def87d6e96fc9523cedc8207d90a7144da74c743a28105cc1045e008996b316950501dac80d
7
+ data.tar.gz: e6968ad4d62f6b08a9ae711b21b6e06dc615eaff1172345a97adf4b4e69cc52b7197b8e2dab3d27bcf674ffe3901d0845de1e75baad45f088abb9c5b71ac2e24
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Tarpon
4
+ module Request
5
+ class Subscriber
6
+ class Attribute < Base
7
+ def initialize(subscriber_path:, **opts)
8
+ super(**opts)
9
+ @subscriber_path = subscriber_path
10
+ end
11
+
12
+ def update(**data)
13
+ body = {
14
+ attributes: data
15
+ }
16
+ perform(method: :post, path: path, key: :public, body: body)
17
+ end
18
+
19
+ private
20
+
21
+ def path
22
+ "#{@subscriber_path}/attributes"
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -10,11 +10,12 @@ module Tarpon
10
10
  @entitlement_identifier = entitlement_identifier
11
11
  end
12
12
 
13
- def grant_promotional(duration:, start_time_ms: nil)
13
+ def grant_promotional(duration: nil, start_time_ms: nil, end_time_ms: nil)
14
14
  body = {
15
15
  duration: duration,
16
- start_time_ms: start_time_ms
17
- }
16
+ start_time_ms: start_time_ms,
17
+ end_time_ms: end_time_ms
18
+ }.compact
18
19
 
19
20
  perform(method: :post, path: "#{path}/promotional", key: :secret, body: body)
20
21
  end
@@ -24,6 +24,10 @@ module Tarpon
24
24
  )
25
25
  end
26
26
 
27
+ def attributes
28
+ self.class::Attribute.new(subscriber_path: path, client: @client)
29
+ end
30
+
27
31
  def offerings
28
32
  self.class::Offering.new(subscriber_path: path, client: @client)
29
33
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Tarpon
4
- VERSION = '0.5.0'
4
+ VERSION = '0.6.0'
5
5
  end
data/lib/tarpon.rb CHANGED
@@ -7,6 +7,7 @@ require 'tarpon/entity/subscriber'
7
7
  require 'tarpon/errors'
8
8
  require 'tarpon/request/base'
9
9
  require 'tarpon/request/subscriber'
10
+ require 'tarpon/request/subscriber/attribute'
10
11
  require 'tarpon/request/subscriber/entitlement'
11
12
  require 'tarpon/request/subscriber/subscription'
12
13
  require 'tarpon/request/subscriber/offering'
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tarpon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Belo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-01 00:00:00.000000000 Z
11
+ date: 2025-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '4.4'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '6.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '4.4'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '6.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: factory_bot
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -113,6 +119,7 @@ files:
113
119
  - lib/tarpon/request/base.rb
114
120
  - lib/tarpon/request/receipt.rb
115
121
  - lib/tarpon/request/subscriber.rb
122
+ - lib/tarpon/request/subscriber/attribute.rb
116
123
  - lib/tarpon/request/subscriber/entitlement.rb
117
124
  - lib/tarpon/request/subscriber/offering.rb
118
125
  - lib/tarpon/request/subscriber/subscription.rb