class Pdf4me::WrapperAction
Attributes
client[R]
Public Class Methods
new(attrs = {})
click to toggle source
# File lib/pdf4me/actions/wrapper_action.rb, line 20 def initialize(attrs = {}) attributes = defaults.merge(attrs) assign_attributes(attributes) end
Public Instance Methods
assign_attributes(attributes = {})
click to toggle source
# File lib/pdf4me/actions/wrapper_action.rb, line 13 def assign_attributes(attributes = {}) attributes.to_h.each do |key, value| writer_method = "#{key}=" send(writer_method, value) if respond_to?(writer_method) end end
defaults()
click to toggle source
# File lib/pdf4me/actions/wrapper_action.rb, line 25 def defaults {} end
run()
click to toggle source
# File lib/pdf4me/actions/wrapper_action.rb, line 29 def run return false if invalid? call_api.success? end
run!()
click to toggle source
# File lib/pdf4me/actions/wrapper_action.rb, line 34 def run! validate! call_api.success? end
Protected Instance Methods
download(request, path)
click to toggle source
# File lib/pdf4me/actions/wrapper_action.rb, line 41 def download(request, path) downloaded_file = File.open(path, 'wb') encoding = nil request.on_headers do |response| if response.code != 200 fail InvalidStatusCode.new(code: response.code, error: response.body) end encoding = response.body.encoding end request.on_body do |chunk| chunk.force_encoding(encoding) downloaded_file.write(chunk) end request.on_complete do |response| downloaded_file.close end end
parsed_json_response(response)
click to toggle source
# File lib/pdf4me/actions/wrapper_action.rb, line 61 def parsed_json_response(response) JSON.parse(response, symbolize_names: true) end