Class: Redwood::Location

Inherits:
Object show all
Defined in:
lib/sup/message.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(source, info) ⇒ Location

Returns a new instance of Location.



770
771
772
773
# File 'lib/sup/message.rb', line 770

def initialize source, info
  @source = source
  @info = info
end

Instance Attribute Details

#infoObject (readonly)

Returns the value of attribute info.



768
769
770
# File 'lib/sup/message.rb', line 768

def info
  @info
end

#sourceObject (readonly)

Returns the value of attribute source.



767
768
769
# File 'lib/sup/message.rb', line 767

def source
  @source
end

Instance Method Details

#==(o) ⇒ Object



822
823
824
# File 'lib/sup/message.rb', line 822

def == o
  o.source.id == source.id and o.info == info
end

#each_raw_message_line(&b) ⇒ Object

much faster than raw_message



802
803
804
# File 'lib/sup/message.rb', line 802

def each_raw_message_line &b
  source.each_raw_message_line info, &b
end

#fallback_dateObject



810
811
812
# File 'lib/sup/message.rb', line 810

def fallback_date
  source.fallback_date_for_message info
end

#hashObject



826
827
828
# File 'lib/sup/message.rb', line 826

def hash
  [source.id, info].hash
end

#labels?Boolean

Returns:

  • (Boolean)


818
819
820
# File 'lib/sup/message.rb', line 818

def labels?
  source.labels? info
end

#parsed_messageObject



806
807
808
# File 'lib/sup/message.rb', line 806

def parsed_message
  source.load_message info
end

#raw_headerObject



775
776
777
# File 'lib/sup/message.rb', line 775

def raw_header
  source.raw_header info
end

#raw_messageObject



779
780
781
# File 'lib/sup/message.rb', line 779

def raw_message
  source.raw_message info
end

#sync_back(labels, message) ⇒ Object



783
784
785
786
787
788
789
790
791
792
793
794
795
# File 'lib/sup/message.rb', line 783

def sync_back labels, message
  synced = false
  return synced unless sync_back_enabled? and valid?
  source.synchronize do
    new_info = source.sync_back(@info, labels)
    if new_info
      @info = new_info
      Index.sync_message message, true
      synced = true
    end
  end
  synced
end

#sync_back_enabled?Boolean

Returns:

  • (Boolean)


797
798
799
# File 'lib/sup/message.rb', line 797

def sync_back_enabled?
  source.respond_to? :sync_back and $config[:sync_back_to_maildir] and source.sync_back_enabled?
end

#valid?Boolean

Returns:

  • (Boolean)


814
815
816
# File 'lib/sup/message.rb', line 814

def valid?
  source.valid? info
end