Class: LivePaper::Trigger

Inherits:
BaseObject show all
Defined in:
lib/live_paper/trigger.rb

Direct Known Subclasses

QrTrigger, ShortTrigger, WmTrigger

Constant Summary

Constants inherited from BaseObject

BaseObject::AUTH_URL, BaseObject::LP_API_HOST

Instance Attribute Summary collapse

Attributes inherited from BaseObject

#date_created, #date_modified, #id, #link, #name

Class Method Summary collapse

Methods inherited from BaseObject

#assign_attributes, create, #delete, #errors, get, #initialize, list, #parse, #rel, request_access_token, rest_request, #save, #update

Constructor Details

This class inherits a constructor from LivePaper::BaseObject

Instance Attribute Details

#stateObject

Returns the value of attribute state.



5
6
7
# File 'lib/live_paper/trigger.rb', line 5

def state
  @state
end

#subscriptionObject

Returns the value of attribute subscription.



5
6
7
# File 'lib/live_paper/trigger.rb', line 5

def subscription
  @subscription
end

Class Method Details

.api_urlObject



7
8
9
# File 'lib/live_paper/trigger.rb', line 7

def self.api_url
  "#{LP_API_HOST}/api/v1/triggers"
end

.item_keyObject



11
12
13
# File 'lib/live_paper/trigger.rb', line 11

def self.item_key
  :trigger
end

.list_keyObject



15
16
17
# File 'lib/live_paper/trigger.rb', line 15

def self.list_key
  :triggers
end

.parse(data_in) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/live_paper/trigger.rb', line 19

def self.parse(data_in)
  data = JSON.parse(data_in, symbolize_names: true)[item_key]
  trigger_class = case data[:type]
    when "shorturl"
      ShortTrigger
    when "qrcode"
      QrTrigger
    when "watermark"
      WmTrigger
    else
      raise "UnsupportedTriggerType"
  end
  trigger_class.new.parse(data_in)
end