Class: ActivitySmith::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/activitysmith/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_key:) ⇒ Client

Returns a new instance of Client.

Raises:

  • (ArgumentError)


7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/activitysmith/client.rb', line 7

def initialize(api_key:)
  raise ArgumentError, "ActivitySmith: api_key is required" if api_key.to_s.strip.empty?

  load_generated_client!

  config = OpenapiClient::Configuration.new
  config.access_token = api_key
  config.user_agent = VersionedUserAgent.value if config.respond_to?(:user_agent=)

  api_client = OpenapiClient::ApiClient.new(config)
  api_client.user_agent = VersionedUserAgent.value
  api_client.default_headers["X-ActivitySmith-SDK"] = "ruby-v#{ActivitySmith::VERSION}"
  @notifications = Notifications.new(OpenapiClient::PushNotificationsApi.new(api_client))
  @live_activities = LiveActivities.new(OpenapiClient::LiveActivitiesApi.new(api_client))
  @metrics = Metrics.new(OpenapiClient::MetricsApi.new(api_client))
  @app_icon_badges = OpenapiClient::AppIconBadgesApi.new(api_client)
end

Instance Attribute Details

#live_activitiesObject (readonly)

Returns the value of attribute live_activities.



5
6
7
# File 'lib/activitysmith/client.rb', line 5

def live_activities
  @live_activities
end

#metricsObject (readonly)

Returns the value of attribute metrics.



5
6
7
# File 'lib/activitysmith/client.rb', line 5

def metrics
  @metrics
end

#notificationsObject (readonly)

Returns the value of attribute notifications.



5
6
7
# File 'lib/activitysmith/client.rb', line 5

def notifications
  @notifications
end

Instance Method Details

#badge_count(value, channels: nil) ⇒ Object



25
26
27
28
29
30
# File 'lib/activitysmith/client.rb', line 25

def badge_count(value, channels: nil)
  request = { badge: value }
  normalized_channels = normalize_channels(channels)
  request[:target] = { channels: normalized_channels } unless normalized_channels.empty?
  @app_icon_badges.update_app_icon_badge_count(request)
end