Class: Dommy::File

Inherits:
Blob
  • Object
show all
Defined in:
lib/dommy/blob.rb

Overview

‘File` — Blob with a filename and an optional last-modified timestamp. Returned from `<input type=“file”>` / drag-and-drop, and accepted by FormData.

Spec: w3c.github.io/FileAPI/#file-section

Instance Attribute Summary collapse

Attributes inherited from Blob

#size, #type

Instance Method Summary collapse

Methods inherited from Blob

#__bytes__, #__js_call__, #array_buffer, #slice, #text

Constructor Details

#initialize(parts, name, options = {}) ⇒ File

Returns a new instance of File.



109
110
111
112
113
114
# File 'lib/dommy/blob.rb', line 109

def initialize(parts, name, options = {})
  super(parts, options)
  @name = name.to_s
  raw_lm = options["lastModified"] || options[:lastModified]
  @last_modified = (raw_lm || (Time.now.to_f * 1000)).to_i
end

Instance Attribute Details

#last_modifiedObject (readonly)

Returns the value of attribute last_modified.



107
108
109
# File 'lib/dommy/blob.rb', line 107

def last_modified
  @last_modified
end

#nameObject (readonly)

Returns the value of attribute name.



107
108
109
# File 'lib/dommy/blob.rb', line 107

def name
  @name
end

Instance Method Details

#__js_get__(key) ⇒ Object



116
117
118
119
120
121
122
123
124
125
# File 'lib/dommy/blob.rb', line 116

def __js_get__(key)
  case key
  when "name"
    @name
  when "lastModified"
    @last_modified
  else
    super
  end
end