class Simplprinter::Requester

Attributes

api_token[RW]
callback_url[RW]
jobs_arr[RW]
mandate_id[RW]
simplprinter_base_url[RW]

Public Class Methods

new(mandate_id, api_token, callback_url, simplprinter_base_url="http://app.simplprinter.ch") click to toggle source
# File lib/simplprinter/requester.rb, line 6
def initialize(mandate_id, api_token, callback_url, simplprinter_base_url="http://app.simplprinter.ch")
  self.mandate_id = mandate_id
  self.api_token = api_token
  self.callback_url = callback_url
  self.simplprinter_base_url = simplprinter_base_url
  self.jobs_arr = []
end

Public Instance Methods

add_job(content, opt={}) click to toggle source
# File lib/simplprinter/requester.rb, line 14
def add_job(content, opt={})
  require 'ostruct'
  
  j = OpenStruct.new
  j.action = opt.fetch(:action, 'print_pdf')
  j.template = opt.fetch(:template, 'a4_portrait_standard')
  j.isdraft = opt.fetch(:isdraft, 'true')
  j.uuid = opt.fetch(:uuid, '')
  j.callback_url = opt.fetch(:callback_url, self.callback_url)
  j.content = content
  
  default_keys = ["action", "template", "isdraft", "uuid", "callback_url"]
  
  opt.keys.each do |key|
    j["#{key}"] = opt["#{key}".to_sym()] if !default_keys.include?("#{key}")
  end
  
  job = j.marshal_dump
  
  jobs_arr << job
  job
end
send_it() click to toggle source
# File lib/simplprinter/requester.rb, line 37
def send_it
  require "uri"
  require "net/http"
  
  u = URI.parse("#{self.simplprinter_base_url}?access_token=#{self.api_token}&mandate_id=#{self.mandate_id}")
  
  payload = { 'jobs' => self.jobs_arr.to_json } 
  
  resp = Net::HTTP.post_form(u, payload)
  resp
end