Class | TMail::Address |
In: |
lib/tmail/address.rb
lib/tmail/obsolete.rb |
Parent: | Object |
address.rb
name | -> | phrase |
routes | -> | route |
name | [R] | |
routes | [R] |
# File lib/tmail/address.rb, line 28 def initialize(local, domain) if domain domain.each do |s| raise SyntaxError, 'empty word in domain' if s.empty? end end @local = local @domain = domain @name = nil @routes = [] end
# File lib/tmail/address.rb, line 80 def ==(other) other.respond_to? :spec and self.spec == other.spec end
# File lib/tmail/address.rb, line 99 def accept(strategy, dummy1 = nil, dummy2 = nil) unless @local strategy.meta '<>' # empty return-path return end spec_p = (not @name and @routes.empty?) if @name strategy.phrase @name strategy.space end tmp = spec_p ? '' : '<' unless @routes.empty? tmp << @routes.map {|i| '@' + i }.join(',') << ':' end tmp << self.spec tmp << '>' unless spec_p strategy.meta tmp strategy.lwsp '' end
# File lib/tmail/address.rb, line 90 def dup obj = self.class.new(@local.dup, @domain.dup) obj.name = @name.dup if @name obj.routes.replace @routes obj end
# File lib/tmail/address.rb, line 56 def local return nil unless @local return '""' if @local.size == 1 and @local[0].empty? @local.map {|i| quote_atom(i) }.join('.') end
# File lib/tmail/address.rb, line 42 def name=(str) @name = str @name = nil if str and str.empty? end
# File lib/tmail/address.rb, line 67 def spec s = self.local d = self.domain if s and d s + '@' + d else s end end