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"

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api) ⇒ LiveActivities

Returns a new instance of LiveActivities.



34
35
36
# File 'lib/activitysmith/live_activities.rb', line 34

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



98
99
100
101
102
# File 'lib/activitysmith/live_activities.rb', line 98

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



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

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

.alert_icon(symbol, color: nil) ⇒ Object



24
25
26
# File 'lib/activitysmith/live_activities.rb', line 24

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, **fields) ⇒ Object



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

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

Instance Method Details

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



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

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

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



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

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



89
90
91
92
93
94
95
96
# File 'lib/activitysmith/live_activities.rb', line 89

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



58
59
60
61
62
63
# File 'lib/activitysmith/live_activities.rb', line 58

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



81
82
83
84
85
86
87
# File 'lib/activitysmith/live_activities.rb', line 81

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)


104
105
106
# File 'lib/activitysmith/live_activities.rb', line 104

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

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



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

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.



66
67
68
69
70
71
# File 'lib/activitysmith/live_activities.rb', line 66

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



50
51
52
53
54
55
56
# File 'lib/activitysmith/live_activities.rb', line 50

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



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

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

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



73
74
75
# File 'lib/activitysmith/live_activities.rb', line 73

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