class HylaFAX::SendFax
Constants
- DEFAULT_CHOPTHRESHOLD
- DEFAULT_PAGECHOP
- DEFAULT_PAGELENGTH
- DEFAULT_PAGEWIDTH
- DEFAULT_TMP_DIR
- DOCUMENT_PREFIX
Attributes
dialstring[R]
document[R]
job_id[R]
pagelength[R]
pagewidth[R]
tmp_dir[R]
Public Class Methods
new(opts = {})
click to toggle source
Calls superclass method
HylaFAX::Command::new
# File lib/hylafax/send_fax.rb, line 13 def initialize(opts = {}) super @tmp_dir = opts.fetch(:tmp_dir) { DEFAULT_TMP_DIR } @dialstring = opts.fetch(:dialstring) @document = opts.fetch(:document) @pagewidth = opts.fetch(:pagewidth) { DEFAULT_PAGEWIDTH } @pagelength = opts.fetch(:pagelength) { DEFAULT_PAGELENGTH } @job_id = nil end
Public Instance Methods
run()
click to toggle source
# File lib/hylafax/send_fax.rb, line 23 def run connect login upload_document create_new_job set_lasttime set_dialstring set_pagewidth set_pagelength set_pagechop set_chopthreshold set_document submit_job job_id end
Private Instance Methods
create_new_job()
click to toggle source
# File lib/hylafax/send_fax.rb, line 58 def create_new_job /jobid:\s+(\d+)\s+/ =~ ftp.sendcmd('JNEW') @job_id = $1.to_i if $1 end
document_filename()
click to toggle source
# File lib/hylafax/send_fax.rb, line 49 def document_filename @document_filename ||= DOCUMENT_PREFIX + Digest::MD5.file(document).hexdigest end
document_uploaded?()
click to toggle source
# File lib/hylafax/send_fax.rb, line 54 def document_uploaded? ftp.list(tmp_dir).map { |l| l.split.last }.include?(document_filename) end
remote_document()
click to toggle source
# File lib/hylafax/send_fax.rb, line 45 def remote_document File.join(tmp_dir, document_filename) end
set_chopthreshold()
click to toggle source
# File lib/hylafax/send_fax.rb, line 83 def set_chopthreshold ftp.sendcmd(%Q{JPARM CHOPTHRESHOLD #{DEFAULT_CHOPTHRESHOLD}}) end
set_dialstring()
click to toggle source
# File lib/hylafax/send_fax.rb, line 67 def set_dialstring ftp.sendcmd("JPARM DIALSTRING \"#{dialstring}\"") end
set_document()
click to toggle source
# File lib/hylafax/send_fax.rb, line 87 def set_document ftp.sendcmd("JPARM DOCUMENT \"#{remote_document}\"") end
set_lasttime()
click to toggle source
# File lib/hylafax/send_fax.rb, line 63 def set_lasttime ftp.sendcmd('JPARM LASTTIME 000259') end
set_pagechop()
click to toggle source
# File lib/hylafax/send_fax.rb, line 79 def set_pagechop ftp.sendcmd(%Q{JPARM PAGECHOP "#{DEFAULT_PAGECHOP}"}) end
set_pagelength()
click to toggle source
# File lib/hylafax/send_fax.rb, line 75 def set_pagelength ftp.sendcmd(%Q{JPARM PAGELENGTH #{pagelength}}) end
set_pagewidth()
click to toggle source
# File lib/hylafax/send_fax.rb, line 71 def set_pagewidth ftp.sendcmd(%Q{JPARM PAGEWIDTH #{pagewidth}}) end
submit_job()
click to toggle source
# File lib/hylafax/send_fax.rb, line 91 def submit_job ftp.sendcmd('JSUBM') end
upload_document()
click to toggle source
# File lib/hylafax/send_fax.rb, line 41 def upload_document ftp.put(document, remote_document) unless document_uploaded? end