telesink 1.0.3 → 1.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: f66e7344117eb37bf0242fe0718194a819597bfa0b25f5f4efcfdd27456b3f7d
4
- data.tar.gz: 32915e630e40ac40b66d18faf6b0d76ab7a622c59a877b72d286dfdf362d1173
3
+ metadata.gz: 37c631d9215d2254268da1c93897be7abc486dbbc0fdad96e0b8ec3c77654e93
4
+ data.tar.gz: 8593950cf5dab5bf717554850770cb8440a980227fb5280c31bbe3be822368ec
5
5
  SHA512:
6
- metadata.gz: 8fb2b645356a2ec95be478aa973ca65a747f5c895260cbe777a394dbc97767ed794672662c6b3098d7da0482b7a3101f37d74e793473d6c46e225dea30d309c2
7
- data.tar.gz: 005b5e508c05ddec43431c4c25afe71633ceeb109c30acb7c7fefbd9fb9862c866442c555de35f22200b48bc82cdef5ac0c427c78e15c6429cc57ad36836b23b
6
+ metadata.gz: 3c7eeaa7ec11a3a66c0a709ba9f43c58d1d2187471356c863ce83a3a8704f2c369e878b5aa46b3a04ffd8e5150646b77d2ed4f0015cfe3a31658902ebb0ad1c0
7
+ data.tar.gz: 8ab94fd8156a62d75fd7b7ceb7f138fc69173654cf29de33dd88ed25ab3fad0a3863d94ed190538b32104d4268965df8d64eb406c3fdd2c5fea9906697013b8c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Teleisnk Changelog
2
2
 
3
+ ## master
4
+
5
+ ## 1.1.0 - 2026-04-19
6
+
7
+ - Merged `TELESINK_BASE_URL` and `TELESINK_TOKEN` into `TELESINK_ENDPOINT`.
8
+ Technically, this is a breaking change, but since the backend isn't live yet,
9
+ nobody cares.
10
+
3
11
  ## 1.0.3 - 2026-04-18
4
12
 
5
13
  - Changed `TELESINK_BASE_URL` to point at `app.telesink.com`.
@@ -1,3 +1,3 @@
1
1
  module Telesink
2
- VERSION = "1.0.3"
2
+ VERSION = "1.1.0"
3
3
  end
data/lib/telesink.rb CHANGED
@@ -10,11 +10,10 @@ require_relative "telesink/version"
10
10
 
11
11
  module Telesink
12
12
  class Config
13
- attr_accessor :token, :base_url, :enabled, :logger
13
+ attr_accessor :endpoint, :enabled, :logger
14
14
 
15
15
  def initialize
16
- @base_url = ENV.fetch("TELESINK_BASE_URL", "https://app.telesink.com")
17
- @token = ENV["TELESINK_TOKEN"]
16
+ @endpoint = ENV["TELESINK_ENDPOINT"]
18
17
  @enabled = true
19
18
  @logger = ::Logger.new(STDERR)
20
19
  end
@@ -40,9 +39,10 @@ module Telesink
40
39
  idempotency_key: nil
41
40
  )
42
41
  return false unless config.enabled
43
- return false if config.token.to_s.strip.empty?
42
+ return false if config.endpoint.to_s.empty?
44
43
 
45
44
  occurred_at = (occurred_at || Time.now).utc.iso8601
45
+ idempotency_key = (idempotency_key.to_s.empty? ? SecureRandom.uuid : idempotency_key)
46
46
 
47
47
  payload = {
48
48
  event: event,
@@ -50,9 +50,9 @@ module Telesink
50
50
  emoji: emoji,
51
51
  properties: properties,
52
52
  occurred_at: occurred_at,
53
- idempotency_key: (idempotency_key.to_s.empty? ? SecureRandom.uuid : idempotency_key),
53
+ idempotency_key: idempotency_key,
54
54
  sdk: {
55
- name: "telesink.ruby",
55
+ name: "telesink.ruby",
56
56
  version: VERSION
57
57
  }
58
58
  }.compact
@@ -79,8 +79,7 @@ module Telesink
79
79
  end
80
80
 
81
81
  def send_event(payload, idempotency_key)
82
- uri = URI("#{config.base_url}/api/v1/sinks/#{config.token}/events")
83
-
82
+ uri = URI(config.endpoint)
84
83
  http = Net::HTTP.new(uri.host, uri.port)
85
84
  http.use_ssl = true
86
85
  http.open_timeout = 3
@@ -93,13 +92,11 @@ module Telesink
93
92
  request["Idempotency-Key"] = idempotency_key
94
93
 
95
94
  request.body = payload.to_json
96
-
97
95
  response = http.request(request)
98
96
 
99
97
  unless response.is_a?(Net::HTTPSuccess)
100
98
  config.logger.warn("[Telesink] API returned #{response.code} for event '#{payload[:event]}'")
101
99
  end
102
-
103
100
  response
104
101
  end
105
102
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: telesink
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyrylo Silin