class LivePaper::Trigger
Attributes
end_date[RW]
start_date[RW]
state[RW]
Public Class Methods
api_url()
click to toggle source
# File lib/live_paper/trigger.rb, line 8 def self.api_url "#{LP_API_HOST}/api/v2/projects/#{$project_id}/triggers" end
item_key()
click to toggle source
# File lib/live_paper/trigger.rb, line 12 def self.item_key :trigger end
list_key()
click to toggle source
# File lib/live_paper/trigger.rb, line 16 def self.list_key :triggers end
parse(data_in)
click to toggle source
# File lib/live_paper/trigger.rb, line 20 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
Public Instance Methods
default_end_date()
click to toggle source
# File lib/live_paper/trigger.rb, line 39 def default_end_date Time.now.advance(years: 1).to_s(:live_paper_date_format) end
default_start_date()
click to toggle source
# File lib/live_paper/trigger.rb, line 35 def default_start_date Time.now.to_s(:live_paper_date_format) end
Private Instance Methods
update_body()
click to toggle source
# File lib/live_paper/trigger.rb, line 48 def update_body { trigger: { name: @name } } end
validate_attributes!()
click to toggle source
# File lib/live_paper/trigger.rb, line 44 def validate_attributes! raise ArgumentError, 'Required Attributes needed: name' unless all_present? [@name] end