Class: ActivitySmith::LiveActivities

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

Constant Summary collapse

TYPE_SEGMENTED_PROGRESS =
"segmented_progress"
TYPE_PROGRESS =
"progress"
TYPE_METRICS =
"metrics"
TYPE_STATS =
"stats"
TYPE_ALERT =
"alert"
TYPE_TIMER =
"timer"

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api) ⇒ LiveActivities

Returns a new instance of LiveActivities.



37
38
39
# File 'lib/activitysmith/live_activities.rb', line 37

def initialize(api)
  @api = api
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args, &block) ⇒ Object



101
102
103
104
105
# File 'lib/activitysmith/live_activities.rb', line 101

def method_missing(name, *args, &block)
  return @api.public_send(name, *args, &block) if @api.respond_to?(name)

  super
end

Class Method Details

.alert_badge(title, color: nil) ⇒ Object



31
32
33
# File 'lib/activitysmith/live_activities.rb', line 31

def alert_badge(title, color: nil)
  { title: title, color: color }.compact
end

.alert_icon(symbol, color: nil) ⇒ Object



27
28
29
# File 'lib/activitysmith/live_activities.rb', line 27

def alert_icon(symbol, color: nil)
  { symbol: symbol, color: color }.compact
end

.content_state(title:, type: nil, subtitle: nil, message: nil, icon: nil, badge: nil, color: nil, duration_seconds: nil, counts_down: nil, **fields) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/activitysmith/live_activities.rb', line 13

def content_state(title:, type: nil, subtitle: nil, message: nil, icon: nil, badge: nil, color: nil, duration_seconds: nil, counts_down: nil, **fields)
  {
    title: title,
    type: type,
    subtitle: subtitle,
    message: message,
    icon: icon,
    badge: badge,
    color: color,
    duration_seconds: duration_seconds,
    counts_down: counts_down
  }.merge(fields).compact
end

Instance Method Details

#end(request, opts = {}) ⇒ Object



49
50
51
# File 'lib/activitysmith/live_activities.rb', line 49

def end(request, opts = {})
  @api.end_live_activity(normalize_live_activity_request(request), opts)
end

#end_live_activity(live_activity_end_request, opts = {}) ⇒ Object



80
81
82
# File 'lib/activitysmith/live_activities.rb', line 80

def end_live_activity(live_activity_end_request, opts = {})
  @api.end_live_activity(normalize_live_activity_request(live_activity_end_request), opts)
end

#end_live_activity_stream(stream_key, live_activity_stream_delete_request = nil, opts = {}) ⇒ Object



92
93
94
95
96
97
98
99
# File 'lib/activitysmith/live_activities.rb', line 92

def end_live_activity_stream(stream_key, live_activity_stream_delete_request = nil, opts = {})
  @api.end_live_activity_stream(
    stream_key,
    {
      live_activity_stream_delete_request: normalize_live_activity_request(live_activity_stream_delete_request)
    }.merge(opts)
  )
end

#end_stream(stream_key, request = nil, opts = {}) ⇒ Object



61
62
63
64
65
66
# File 'lib/activitysmith/live_activities.rb', line 61

def end_stream(stream_key, request = nil, opts = {})
  @api.end_live_activity_stream(
    stream_key,
    { live_activity_stream_delete_request: normalize_live_activity_request(request) }.merge(opts)
  )
end

#reconcile_live_activity_stream(stream_key, live_activity_stream_request, opts = {}) ⇒ Object



84
85
86
87
88
89
90
# File 'lib/activitysmith/live_activities.rb', line 84

def reconcile_live_activity_stream(stream_key, live_activity_stream_request, opts = {})
  @api.reconcile_live_activity_stream(
    stream_key,
    normalize_live_activity_request(normalize_channels_target(live_activity_stream_request)),
    opts
  )
end

#respond_to_missing?(name, include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


107
108
109
# File 'lib/activitysmith/live_activities.rb', line 107

def respond_to_missing?(name, include_private = false)
  @api.respond_to?(name, include_private) || super
end

#start(request, opts = {}) ⇒ Object



41
42
43
# File 'lib/activitysmith/live_activities.rb', line 41

def start(request, opts = {})
  @api.start_live_activity(normalize_live_activity_request(normalize_channels_target(request)), opts)
end

#start_live_activity(live_activity_start_request, opts = {}) ⇒ Object

Backward-compatible aliases.



69
70
71
72
73
74
# File 'lib/activitysmith/live_activities.rb', line 69

def start_live_activity(live_activity_start_request, opts = {})
  @api.start_live_activity(
    normalize_live_activity_request(normalize_channels_target(live_activity_start_request)),
    opts
  )
end

#stream(stream_key, request, opts = {}) ⇒ Object



53
54
55
56
57
58
59
# File 'lib/activitysmith/live_activities.rb', line 53

def stream(stream_key, request, opts = {})
  @api.reconcile_live_activity_stream(
    stream_key,
    normalize_live_activity_request(normalize_channels_target(request)),
    opts
  )
end

#update(request, opts = {}) ⇒ Object



45
46
47
# File 'lib/activitysmith/live_activities.rb', line 45

def update(request, opts = {})
  @api.update_live_activity(normalize_live_activity_request(request), opts)
end

#update_live_activity(live_activity_update_request, opts = {}) ⇒ Object



76
77
78
# File 'lib/activitysmith/live_activities.rb', line 76

def update_live_activity(live_activity_update_request, opts = {})
  @api.update_live_activity(normalize_live_activity_request(live_activity_update_request), opts)
end