Class: ChupaText::Data

Inherits:
Object
  • Object
show all
Defined in:
lib/chupa-text/data.rb

Direct Known Subclasses

InputData, TextData, VirtualFileData

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeData



54
55
56
57
58
59
60
61
62
# File 'lib/chupa-text/data.rb', line 54

def initialize
  @uri = nil
  @body = nil
  @size = nil
  @path = nil
  @mime_type = nil
  @attributes = Attributes.new
  @source = nil
end

Instance Attribute Details

#attributesAttributes (readonly)



47
48
49
# File 'lib/chupa-text/data.rb', line 47

def attributes
  @attributes
end

#bodyString?



29
30
31
# File 'lib/chupa-text/data.rb', line 29

def body
  @body
end

#pathString?



44
45
46
# File 'lib/chupa-text/data.rb', line 44

def path
  @path
end

#sizeInteger?



33
34
35
# File 'lib/chupa-text/data.rb', line 33

def size
  @size
end

#sourceData?



52
53
54
# File 'lib/chupa-text/data.rb', line 52

def source
  @source
end

#uriURI?



25
26
27
# File 'lib/chupa-text/data.rb', line 25

def uri
  @uri
end

Instance Method Details

#[](name) ⇒ Object



84
85
86
# File 'lib/chupa-text/data.rb', line 84

def [](name)
  @attributes[name]
end

#[]=(name, value) ⇒ Object



88
89
90
# File 'lib/chupa-text/data.rb', line 88

def []=(name, value)
  @attributes[name] = value
end

#extensionString?



110
111
112
113
# File 'lib/chupa-text/data.rb', line 110

def extension
  return nil if @uri.nil?
  File.extname(@uri.path).downcase.gsub(/\A\./, "")
end

#initialize_copy(object) ⇒ Object



64
65
66
67
68
# File 'lib/chupa-text/data.rb', line 64

def initialize_copy(object)
  super
  @attributes = @attributes.dup
  self
end

#mime_typeString?



96
97
98
# File 'lib/chupa-text/data.rb', line 96

def mime_type
  @mime_type || guess_mime_type
end

#mime_type=(type) ⇒ Object



103
104
105
# File 'lib/chupa-text/data.rb', line 103

def mime_type=(type)
  @mime_type = type
end

#open {|StringIO.new(body)| ... } ⇒ Object

Yields:

  • (StringIO.new(body))


80
81
82
# File 'lib/chupa-text/data.rb', line 80

def open
  yield(StringIO.new(body))
end

#text?Bool



117
118
119
# File 'lib/chupa-text/data.rb', line 117

def text?
  (mime_type || "").start_with?("text/")
end

#text_plain?Bool



123
124
125
# File 'lib/chupa-text/data.rb', line 123

def text_plain?
  mime_type == "text/plain"
end