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