module PdfEditor::Service
Constants
- InterfaceNotImplementedError
- MustPassBlockToAsTempfile
Public Class Methods
included(klass)
click to toggle source
# File lib/pdf_editor/mixins/service.rb, line 9 def self.included(klass) klass.extend ClassMethods end
new(args={})
click to toggle source
# File lib/pdf_editor/mixins/service.rb, line 13 def initialize(args={}) @args = args post_init end
Public Instance Methods
call()
click to toggle source
# File lib/pdf_editor/mixins/service.rb, line 22 def call raise InterfaceNotImplementedError, 'Service Interface requires call to be defined' end
post_init()
click to toggle source
overwrite to use the args hash
# File lib/pdf_editor/mixins/service.rb, line 19 def post_init end
Private Instance Methods
args()
click to toggle source
# File lib/pdf_editor/mixins/service.rb, line 26 def args @args end
create_tempfile() { |path| ... }
click to toggle source
# File lib/pdf_editor/mixins/service.rb, line 30 def create_tempfile tempfile = ::Tempfile.open(['', '.pdf']) begin file_contents = yield tempfile.path tempfile.write(file_contents) ensure tempfile.close end tempfile end
read_from_io() { || ... }
click to toggle source
# File lib/pdf_editor/mixins/service.rb, line 41 def read_from_io io = yield io.rewind return io.read end