class Reelagram::Mail::Processors::ShippingProcessor

Attributes

current_string[R]
data[R]
parser[R]
results[R]

Public Class Methods

new(data, parser) click to toggle source
# File lib/reelagram/mail/processors/shipping_processor.rb, line 9
def initialize(data, parser)
  @data    = [data].flatten
  @parser  = parser
end

Public Instance Methods

run() click to toggle source
# File lib/reelagram/mail/processors/shipping_processor.rb, line 14
def run
  data.map { |email| process_email(email[:body]) }
end

Private Instance Methods

build_email_hash(email) click to toggle source
# File lib/reelagram/mail/processors/shipping_processor.rb, line 26
def build_email_hash(email)
  {
    order_id:        email.order_number,
    carrier:         email.carrier,
    tracking_number: email.tracking_number,
    tracking_link:   email.tracking_link
  }
end
process_email(email) click to toggle source
# File lib/reelagram/mail/processors/shipping_processor.rb, line 20
def process_email(email)
  email_data = build_email_hash(parser.run(email))
  parser.reset!
  email_data
end