Class: MIME::Type::Columnar

Inherits:
MIME::Type show all
Defined in:
lib/mime/type/columnar.rb

Overview

A version of MIME::Type that works hand-in-hand with a MIME::Types::Columnar container to load data by columns.

When a field is has not yet been loaded, that data will be loaded for all types in the container before forwarding the message to MIME::Type.

More information can be found in MIME::Types::Columnar.

MIME::Type::Columnar is not intended to be created except by MIME::Types::Columnar containers.

Constant Summary

Constants inherited from MIME::Type

VERSION

Instance Attribute Summary collapse

Attributes inherited from MIME::Type

#content_type, #extensions, #i18n_key, #media_type, #raw_media_type, #raw_sub_type, #simplified, #sub_type

Instance Method Summary collapse

Methods inherited from MIME::Type

#<=>, #add_extensions, #ascii?, #complete?, #default_encoding, #eql?, from_array, from_hash, from_mime_type, i18n_key, #init_with, #like?, #obsolete=, #platform?, #preferred_extension, #priority_compare, #references=, #registered=, #signature=, simplified, #system=, #to_h, #to_json, #to_s, #to_str, #url, #url=, #urls, #xref_urls

Constructor Details

#initialize(container, content_type, extensions) ⇒ Columnar

:nodoc:



16
17
18
19
20
# File 'lib/mime/type/columnar.rb', line 16

def initialize(container, content_type, extensions) # :nodoc:
  @container = container
  self.content_type = content_type
  self.extensions = extensions
end

Instance Attribute Details

#friendlyObject

:nodoc:



22
23
24
25
# File 'lib/mime/type/columnar.rb', line 22

def friendly(*) # :nodoc:
  @container.send(:load_friendly) unless defined?(@friendly)
  super if @friendly
end

Instance Method Details

#binary?Boolean

:nodoc:

Returns:

  • (Boolean)


77
78
79
80
# File 'lib/mime/type/columnar.rb', line 77

def binary? # :nodoc:
  @container.send(:load_encoding) unless defined?(@encoding)
  super
end

#docsObject

:nodoc:



32
33
34
35
# File 'lib/mime/type/columnar.rb', line 32

def docs # :nodoc:
  @container.send(:load_docs) unless defined?(@docs)
  @docs
end

#encode_with(coder) ⇒ Object

:nodoc:



98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'lib/mime/type/columnar.rb', line 98

def encode_with(coder) # :nodoc:
  @container.send(:load_friendly) unless defined?(@friendly)
  @container.send(:load_encoding) unless defined?(@encoding)
  @container.send(:load_system) unless defined?(@system)
  @container.send(:load_docs) unless defined?(@docs)
  @container.send(:load_references) unless defined?(@references)
  @container.send(:load_obsolete) unless defined?(@obsolete)
  @container.send(:load_use_instead) unless defined?(@use_instead)
  @container.send(:load_xrefs) unless defined?(@xrefs)
  @container.send(:load_system) unless defined?(@system)
  @container.send(:load_registered) unless defined?(@registered)
  @container.send(:load_signature) unless defined?(@signature)
  super
end

#encodingObject

:nodoc:



27
28
29
30
# File 'lib/mime/type/columnar.rb', line 27

def encoding # :nodoc:
  @container.send(:load_encoding) unless defined?(@encoding)
  @encoding
end

#obsolete?Boolean

:nodoc:

Returns:

  • (Boolean)


37
38
39
40
# File 'lib/mime/type/columnar.rb', line 37

def obsolete? # :nodoc:
  @container.send(:load_obsolete) unless defined?(@obsolete)
  super
end

#referencesObject

:nodoc:



42
43
44
45
# File 'lib/mime/type/columnar.rb', line 42

def references(*) # :nodoc:
  @container.send(:load_references) unless defined?(@references)
  super if @references
end

#registered?Boolean

:nodoc:

Returns:

  • (Boolean)


47
48
49
50
# File 'lib/mime/type/columnar.rb', line 47

def registered? # :nodoc:
  @container.send(:load_registered) unless defined?(@registered)
  super
end

#signature?Boolean

:nodoc:

Returns:

  • (Boolean)


52
53
54
55
# File 'lib/mime/type/columnar.rb', line 52

def signature? # :nodoc:
  @container.send(:load_signature) unless defined?(@signature)
  super
end

#systemObject

:nodoc:



62
63
64
65
# File 'lib/mime/type/columnar.rb', line 62

def system # :nodoc:
  @container.send(:load_system) unless defined?(@system)
  @system
end

#system?Boolean

:nodoc:

Returns:

  • (Boolean)


57
58
59
60
# File 'lib/mime/type/columnar.rb', line 57

def system?(*) # :nodoc:
  @container.send(:load_system) unless defined?(@system)
  super
end

#to_aObject

:nodoc:



82
83
84
85
86
87
88
# File 'lib/mime/type/columnar.rb', line 82

def to_a # :nodoc:
  @container.send(:load_encoding) unless defined?(@encoding)
  @container.send(:load_system) unless defined?(@system)
  @container.send(:load_docs) unless defined?(@docs)
  @container.send(:load_references) unless defined?(@references)
  super
end

#to_hashObject

:nodoc:



90
91
92
93
94
95
96
# File 'lib/mime/type/columnar.rb', line 90

def to_hash # :nodoc:
  @container.send(:load_encoding) unless defined?(@encoding)
  @container.send(:load_system) unless defined?(@system)
  @container.send(:load_docs) unless defined?(@docs)
  @container.send(:load_references) unless defined?(@references)
  super
end

#use_insteadObject

:nodoc:



72
73
74
75
# File 'lib/mime/type/columnar.rb', line 72

def use_instead # :nodoc:
  @container.send(:load_use_instead) unless defined?(@use_instead)
  @use_instead
end

#xrefsObject

:nodoc:



67
68
69
70
# File 'lib/mime/type/columnar.rb', line 67

def xrefs # :nodoc:
  @container.send(:load_xrefs) unless defined?(@xrefs)
  @xrefs
end