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