activitysmith 1.0.0 → 1.2.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 +4 -4
- data/README.md +271 -24
- data/generated/activitysmith_openapi/api/live_activities_api.rb +168 -6
- data/generated/activitysmith_openapi/api/metrics_api.rb +109 -0
- data/generated/activitysmith_openapi/models/activity_metric.rb +293 -0
- data/generated/activitysmith_openapi/models/content_state_end.rb +47 -4
- data/generated/activitysmith_openapi/models/content_state_start.rb +50 -7
- data/generated/activitysmith_openapi/models/content_state_update.rb +50 -7
- data/generated/activitysmith_openapi/models/live_activity_stream_delete_request.rb +233 -0
- data/generated/activitysmith_openapi/models/live_activity_stream_delete_response.rb +332 -0
- data/generated/activitysmith_openapi/models/live_activity_stream_put_response.rb +361 -0
- data/generated/activitysmith_openapi/models/live_activity_stream_request.rb +280 -0
- data/generated/activitysmith_openapi/models/metric_error.rb +230 -0
- data/generated/activitysmith_openapi/models/metric_format.rb +43 -0
- data/generated/activitysmith_openapi/models/metric_unit_spacing.rb +40 -0
- data/generated/activitysmith_openapi/models/metric_value_update_request.rb +232 -0
- data/generated/activitysmith_openapi/models/metric_value_update_request_value.rb +105 -0
- data/generated/activitysmith_openapi/models/metric_value_update_response.rb +221 -0
- data/generated/activitysmith_openapi/models/not_found_error.rb +237 -0
- data/generated/activitysmith_openapi/models/stream_content_state.rb +538 -0
- data/generated/activitysmith_openapi/models/widget_metric.rb +507 -0
- data/generated/activitysmith_openapi/models/widget_metric_latest_value.rb +105 -0
- data/generated/activitysmith_openapi/version.rb +1 -1
- data/generated/activitysmith_openapi.rb +16 -0
- data/lib/activitysmith/client.rb +22 -10
- data/lib/activitysmith/live_activities.rb +19 -0
- data/lib/activitysmith/metrics.rb +42 -0
- data/lib/activitysmith/version.rb +1 -1
- data/lib/activitysmith.rb +1 -0
- metadata +19 -2
data/lib/activitysmith/client.rb
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module ActivitySmith
|
|
4
4
|
class Client
|
|
5
|
-
attr_reader :notifications, :live_activities
|
|
5
|
+
attr_reader :notifications, :live_activities, :metrics
|
|
6
6
|
|
|
7
7
|
def initialize(api_key:)
|
|
8
8
|
raise ArgumentError, "ActivitySmith: api_key is required" if api_key.to_s.strip.empty?
|
|
@@ -14,28 +14,40 @@ module ActivitySmith
|
|
|
14
14
|
config.user_agent = VersionedUserAgent.value if config.respond_to?(:user_agent=)
|
|
15
15
|
|
|
16
16
|
api_client = OpenapiClient::ApiClient.new(config)
|
|
17
|
+
api_client.user_agent = VersionedUserAgent.value
|
|
18
|
+
api_client.default_headers["X-ActivitySmith-SDK"] = "ruby-v#{ActivitySmith::VERSION}"
|
|
17
19
|
@notifications = Notifications.new(OpenapiClient::PushNotificationsApi.new(api_client))
|
|
18
20
|
@live_activities = LiveActivities.new(OpenapiClient::LiveActivitiesApi.new(api_client))
|
|
21
|
+
@metrics = Metrics.new(OpenapiClient::MetricsApi.new(api_client))
|
|
19
22
|
end
|
|
20
23
|
|
|
21
24
|
private
|
|
22
25
|
|
|
23
26
|
def load_generated_client!
|
|
24
|
-
|
|
27
|
+
return if generated_client_present?
|
|
28
|
+
|
|
29
|
+
generated_root = File.expand_path("../../generated", __dir__)
|
|
30
|
+
$LOAD_PATH.unshift(generated_root) unless $LOAD_PATH.include?(generated_root)
|
|
31
|
+
|
|
32
|
+
generated_entrypoint = File.join(generated_root, "activitysmith_openapi")
|
|
25
33
|
require generated_entrypoint if File.exist?("#{generated_entrypoint}.rb")
|
|
26
34
|
|
|
27
|
-
|
|
35
|
+
return if generated_client_present?
|
|
36
|
+
|
|
37
|
+
raise RuntimeError,
|
|
38
|
+
"Generated Ruby client not found. Run SDK regeneration so /generated contains OpenAPI output."
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def generated_client_present?
|
|
42
|
+
missing = [
|
|
28
43
|
"OpenapiClient::Configuration",
|
|
29
44
|
"OpenapiClient::ApiClient",
|
|
30
45
|
"OpenapiClient::PushNotificationsApi",
|
|
31
|
-
"OpenapiClient::LiveActivitiesApi"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
missing = required_constants.reject { |name| constant_defined?(name) }
|
|
35
|
-
return if missing.empty?
|
|
46
|
+
"OpenapiClient::LiveActivitiesApi",
|
|
47
|
+
"OpenapiClient::MetricsApi"
|
|
48
|
+
].reject { |name| constant_defined?(name) }
|
|
36
49
|
|
|
37
|
-
|
|
38
|
-
"Generated Ruby client not found. Run SDK regeneration so /generated contains OpenAPI output."
|
|
50
|
+
missing.empty?
|
|
39
51
|
end
|
|
40
52
|
|
|
41
53
|
def constant_defined?(name)
|
|
@@ -18,6 +18,14 @@ module ActivitySmith
|
|
|
18
18
|
@api.end_live_activity(request, opts)
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
+
def stream(stream_key, request, opts = {})
|
|
22
|
+
@api.reconcile_live_activity_stream(stream_key, normalize_channels_target(request), opts)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def end_stream(stream_key, request = nil, opts = {})
|
|
26
|
+
@api.end_live_activity_stream(stream_key, { live_activity_stream_delete_request: request }.merge(opts))
|
|
27
|
+
end
|
|
28
|
+
|
|
21
29
|
# Backward-compatible aliases.
|
|
22
30
|
def start_live_activity(live_activity_start_request, opts = {})
|
|
23
31
|
@api.start_live_activity(normalize_channels_target(live_activity_start_request), opts)
|
|
@@ -31,6 +39,17 @@ module ActivitySmith
|
|
|
31
39
|
@api.end_live_activity(live_activity_end_request, opts)
|
|
32
40
|
end
|
|
33
41
|
|
|
42
|
+
def reconcile_live_activity_stream(stream_key, live_activity_stream_request, opts = {})
|
|
43
|
+
@api.reconcile_live_activity_stream(stream_key, normalize_channels_target(live_activity_stream_request), opts)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def end_live_activity_stream(stream_key, live_activity_stream_delete_request = nil, opts = {})
|
|
47
|
+
@api.end_live_activity_stream(
|
|
48
|
+
stream_key,
|
|
49
|
+
{ live_activity_stream_delete_request: live_activity_stream_delete_request }.merge(opts)
|
|
50
|
+
)
|
|
51
|
+
end
|
|
52
|
+
|
|
34
53
|
def method_missing(name, *args, &block)
|
|
35
54
|
return @api.public_send(name, *args, &block) if @api.respond_to?(name)
|
|
36
55
|
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ActivitySmith
|
|
4
|
+
class Metrics
|
|
5
|
+
def initialize(api)
|
|
6
|
+
@api = api
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def update(key, value_or_request, timestamp: nil, **opts)
|
|
10
|
+
@api.update_metric_value(key, metric_value_request(value_or_request, timestamp), opts)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# Backward-compatible generated-style alias.
|
|
14
|
+
def update_metric_value(key, metric_value_update_request, opts = {})
|
|
15
|
+
@api.update_metric_value(key, metric_value_update_request, opts)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def method_missing(name, *args, &block)
|
|
19
|
+
return @api.public_send(name, *args, &block) if @api.respond_to?(name)
|
|
20
|
+
|
|
21
|
+
super
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def respond_to_missing?(name, include_private = false)
|
|
25
|
+
@api.respond_to?(name, include_private) || super
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
private
|
|
29
|
+
|
|
30
|
+
def metric_value_request(value_or_request, timestamp)
|
|
31
|
+
if value_or_request.is_a?(Hash) && (value_or_request.key?(:value) || value_or_request.key?("value"))
|
|
32
|
+
hash = value_or_request.dup
|
|
33
|
+
hash[:timestamp] = timestamp unless timestamp.nil?
|
|
34
|
+
return hash
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
hash = { value: value_or_request }
|
|
38
|
+
hash[:timestamp] = timestamp unless timestamp.nil?
|
|
39
|
+
hash
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
data/lib/activitysmith.rb
CHANGED
|
@@ -4,4 +4,5 @@ require_relative "activitysmith/version"
|
|
|
4
4
|
require_relative "activitysmith/versioned_user_agent"
|
|
5
5
|
require_relative "activitysmith/notifications"
|
|
6
6
|
require_relative "activitysmith/live_activities"
|
|
7
|
+
require_relative "activitysmith/metrics"
|
|
7
8
|
require_relative "activitysmith/client"
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: activitysmith
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- ActivitySmith
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-03
|
|
11
|
+
date: 2026-05-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: json
|
|
@@ -77,10 +77,12 @@ files:
|
|
|
77
77
|
- README.md
|
|
78
78
|
- generated/activitysmith_openapi.rb
|
|
79
79
|
- generated/activitysmith_openapi/api/live_activities_api.rb
|
|
80
|
+
- generated/activitysmith_openapi/api/metrics_api.rb
|
|
80
81
|
- generated/activitysmith_openapi/api/push_notifications_api.rb
|
|
81
82
|
- generated/activitysmith_openapi/api_client.rb
|
|
82
83
|
- generated/activitysmith_openapi/api_error.rb
|
|
83
84
|
- generated/activitysmith_openapi/configuration.rb
|
|
85
|
+
- generated/activitysmith_openapi/models/activity_metric.rb
|
|
84
86
|
- generated/activitysmith_openapi/models/alert_payload.rb
|
|
85
87
|
- generated/activitysmith_openapi/models/bad_request_error.rb
|
|
86
88
|
- generated/activitysmith_openapi/models/channel_target.rb
|
|
@@ -95,10 +97,21 @@ files:
|
|
|
95
97
|
- generated/activitysmith_openapi/models/live_activity_limit_error.rb
|
|
96
98
|
- generated/activitysmith_openapi/models/live_activity_start_request.rb
|
|
97
99
|
- generated/activitysmith_openapi/models/live_activity_start_response.rb
|
|
100
|
+
- generated/activitysmith_openapi/models/live_activity_stream_delete_request.rb
|
|
101
|
+
- generated/activitysmith_openapi/models/live_activity_stream_delete_response.rb
|
|
102
|
+
- generated/activitysmith_openapi/models/live_activity_stream_put_response.rb
|
|
103
|
+
- generated/activitysmith_openapi/models/live_activity_stream_request.rb
|
|
98
104
|
- generated/activitysmith_openapi/models/live_activity_update_request.rb
|
|
99
105
|
- generated/activitysmith_openapi/models/live_activity_update_response.rb
|
|
100
106
|
- generated/activitysmith_openapi/models/live_activity_webhook_method.rb
|
|
107
|
+
- generated/activitysmith_openapi/models/metric_error.rb
|
|
108
|
+
- generated/activitysmith_openapi/models/metric_format.rb
|
|
109
|
+
- generated/activitysmith_openapi/models/metric_unit_spacing.rb
|
|
110
|
+
- generated/activitysmith_openapi/models/metric_value_update_request.rb
|
|
111
|
+
- generated/activitysmith_openapi/models/metric_value_update_request_value.rb
|
|
112
|
+
- generated/activitysmith_openapi/models/metric_value_update_response.rb
|
|
101
113
|
- generated/activitysmith_openapi/models/no_recipients_error.rb
|
|
114
|
+
- generated/activitysmith_openapi/models/not_found_error.rb
|
|
102
115
|
- generated/activitysmith_openapi/models/push_notification_action.rb
|
|
103
116
|
- generated/activitysmith_openapi/models/push_notification_action_type.rb
|
|
104
117
|
- generated/activitysmith_openapi/models/push_notification_request.rb
|
|
@@ -106,10 +119,14 @@ files:
|
|
|
106
119
|
- generated/activitysmith_openapi/models/push_notification_webhook_method.rb
|
|
107
120
|
- generated/activitysmith_openapi/models/rate_limit_error.rb
|
|
108
121
|
- generated/activitysmith_openapi/models/send_push_notification429_response.rb
|
|
122
|
+
- generated/activitysmith_openapi/models/stream_content_state.rb
|
|
123
|
+
- generated/activitysmith_openapi/models/widget_metric.rb
|
|
124
|
+
- generated/activitysmith_openapi/models/widget_metric_latest_value.rb
|
|
109
125
|
- generated/activitysmith_openapi/version.rb
|
|
110
126
|
- lib/activitysmith.rb
|
|
111
127
|
- lib/activitysmith/client.rb
|
|
112
128
|
- lib/activitysmith/live_activities.rb
|
|
129
|
+
- lib/activitysmith/metrics.rb
|
|
113
130
|
- lib/activitysmith/notifications.rb
|
|
114
131
|
- lib/activitysmith/version.rb
|
|
115
132
|
- lib/activitysmith/versioned_user_agent.rb
|