class Pdfmonkey::Document
Constants
- ATTRIBUTES
- COLLECTION
- COMPLETE_STATUSES
- MEMBER
Attributes
adapter[R]
attributes[R]
Public Class Methods
delete(document_id)
click to toggle source
# File lib/pdfmonkey/document.rb, line 34 def self.delete(document_id) new(id: document_id).delete! end
fetch(document_id)
click to toggle source
# File lib/pdfmonkey/document.rb, line 38 def self.fetch(document_id) new(id: document_id).reload! end
generate(template_id, payload, meta = {})
click to toggle source
# File lib/pdfmonkey/document.rb, line 48 def self.generate(template_id, payload, meta = {}) document = new( document_template_id: template_id, meta: meta.to_json, payload: payload.to_json, status: 'pending') document.send(:save) end
generate!(document_template_id, payload, meta = {})
click to toggle source
# File lib/pdfmonkey/document.rb, line 42 def self.generate!(document_template_id, payload, meta = {}) document = generate(document_template_id, payload, meta) document.reload! until document.done? document end
new(adapter: Pdfmonkey::Adapter.new, **attributes)
click to toggle source
# File lib/pdfmonkey/document.rb, line 58 def initialize(adapter: Pdfmonkey::Adapter.new, **attributes) @adapter = adapter @attributes = OpenStruct.new(ATTRIBUTES.zip([]).to_h) update(attributes) end
Public Instance Methods
delete!()
click to toggle source
# File lib/pdfmonkey/document.rb, line 64 def delete! adapter.call(:delete, self) end
done?()
click to toggle source
# File lib/pdfmonkey/document.rb, line 68 def done? COMPLETE_STATUSES.include?(status) end
reload!()
click to toggle source
# File lib/pdfmonkey/document.rb, line 72 def reload! attributes = adapter.call(:get, self) update(attributes) self end
to_json()
click to toggle source
# File lib/pdfmonkey/document.rb, line 78 def to_json attrs = attributes.to_h attrs.delete(:errors) { document: attrs }.to_json end
Private Instance Methods
save()
click to toggle source
# File lib/pdfmonkey/document.rb, line 85 def save attributes = adapter.call(:post, self) update(attributes) self end
update(new_attributes)
click to toggle source
# File lib/pdfmonkey/document.rb, line 91 def update(new_attributes) new_attributes.each do |key, value| sym_key = key.to_sym attributes[sym_key] = value if ATTRIBUTES.include?(sym_key) end end