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