Class: Discorb::File
- Inherits:
-
Object
- Object
- Discorb::File
- Defined in:
- lib/discorb/file.rb
Overview
Represents a file to send as an attachment.
Instance Attribute Summary collapse
-
#content_type -> String
The content type of the file.
-
#filename -> String
The filename of the file.
-
#io -> #read
The IO of the file.
Class Method Summary collapse
-
.from_string(string, filename: nil, content_type: nil) -> File
Creates a new file from a string.
Instance Method Summary collapse
-
#initialize(io, filename = nil, content_type: nil) -> File
constructor
Creates a new file from IO.
Constructor Details
#initialize(io, filename = nil, content_type: nil) -> File
Creates a new file from IO.
71 72 73 74 75 76 |
# File 'lib/discorb/file.rb', line 71 def initialize(io, filename = nil, content_type: nil) @io = io @filename = filename || (io.respond_to?(:path) ? io.path : io.object_id) @content_type = content_type || MIME::Types.type_for(@filename.to_s)[0].to_s @content_type = "application/octet-stream" if @content_type == "" end |
Instance Attribute Details
#content_type -> String
Returns The content type of the file. If not set, it is guessed from the filename.
61 62 63 |
# File 'lib/discorb/file.rb', line 61 def content_type @content_type end |
#filename -> String
Returns The filename of the file. If not set, path or object_id of the IO is used.
59 60 61 |
# File 'lib/discorb/file.rb', line 59 def filename @filename end |
#io -> #read
Returns The IO of the file.
57 58 59 |
# File 'lib/discorb/file.rb', line 57 def io @io end |
Class Method Details
.from_string(string, filename: nil, content_type: nil) -> File
Creates a new file from a string.
87 88 89 90 91 |
# File 'lib/discorb/file.rb', line 87 def self.from_string(string, filename: nil, content_type: nil) io = StringIO.new(string) filename ||= string.object_id.to_s + ".txt" new(io, filename, content_type: content_type) end |