class ANLExpress::TrackingStatus

Attributes

carrier[RW]
status[R]
tracking_number[RW]
update[RW]

Public Class Methods

create_statues(delegate, *track_numbers, &block) click to toggle source
# File lib/anlexpress/tracking_status.rb, line 51
def self.create_statues delegate, *track_numbers, &block
  tracking_status = delegate.create_statues(track_numbers)
  update_status!(*tracking_status, &block)
  tracking_status
end
new(ta) click to toggle source
# File lib/anlexpress/tracking_status.rb, line 10
def initialize(ta)
  @tracking_number = ta
  @status=[]
end

Private Class Methods

update_status!(*tracking_status,&block) click to toggle source
# File lib/anlexpress/tracking_status.rb, line 58
def self.update_status! *tracking_status,&block
  tracking_status.each{|x|
    x.update_status! &block
  }
end

Public Instance Methods

==(other) click to toggle source
# File lib/anlexpress/tracking_status.rb, line 30
def == (other)
  other.class == self.class && @tracking_number == other.tracking_number && @status == other.status
end
add_status(date, note) click to toggle source
# File lib/anlexpress/tracking_status.rb, line 15
def add_status(date, note)
  @status.push([date, note])
end
to_s() click to toggle source
# File lib/anlexpress/tracking_status.rb, line 23
def to_s
  s = ""
  s <<  @tracking_number.to_s << ":\n"
  @status.each{|v| 
    s << v[0].to_s << ":" << v[1] << "\n"
  }
end
to_yaml_properties() click to toggle source
# File lib/anlexpress/tracking_status.rb, line 19
def to_yaml_properties
  ["@tracking_number", "@status", "@carrier"]
end
update?() click to toggle source
# File lib/anlexpress/tracking_status.rb, line 34
def update?
  @update
end
update_status!() { |self,self != old_tracking| ... } click to toggle source
# File lib/anlexpress/tracking_status.rb, line 38
def update_status!
  file = "#{TRACKING_FOLDER}/#{@tracking_number}.#{@carrier.code}.yaml"
  begin
      old_tracking =  YAML.load(File.open(file, "rb").read)
  rescue
  end
  if self != old_tracking
    File.open(file, 'w') { |file| file.write(self.to_yaml)}
  end
  yield(self,self != old_tracking)  if block_given?
  @update = self != old_tracking
end