Module: TMail::StrategyInterface

Included in:
Address, AddressGroup, HeaderField, Mail
Defined in:
lib/tmail/encode.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.create_dest(obj) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/tmail/encode.rb', line 41

def create_dest( obj )
  case obj
  when nil
    StringOutput.new
  when String
    StringOutput.new(obj)
  when IO, StringOutput
    obj
  else
    raise TypeError, 'cannot handle this type of object for dest'
  end
end

Instance Method Details

#accept_strategy(klass, eol, charset, dest = nil) ⇒ Object



67
68
69
70
71
# File 'lib/tmail/encode.rb', line 67

def accept_strategy( klass, eol, charset, dest = nil )
  dest ||= ''
  accept klass.new( create_dest(dest), charset, eol )
  dest
end

#decoded(eol = "\n", charset = 'e', dest = nil) ⇒ Object Also known as: to_s



59
60
61
62
63
# File 'lib/tmail/encode.rb', line 59

def decoded( eol = "\n", charset = 'e', dest = nil )
  # Turn the E-Mail into a string and return it with all
  # encoded characters decoded.  alias for to_s
  accept_strategy Decoder, eol, charset, dest
end

#encoded(eol = "\r\n", charset = 'j', dest = nil) ⇒ Object



55
56
57
# File 'lib/tmail/encode.rb', line 55

def encoded( eol = "\r\n", charset = 'j', dest = nil )
  accept_strategy Encoder, eol, charset, dest
end