Class: Fiona7::Builder::IndirectBlobBuilder
- Inherits:
-
Object
- Object
- Fiona7::Builder::IndirectBlobBuilder
- Defined in:
- lib/fiona7/builder/indirect_blob_builder.rb
Direct Known Subclasses
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(parent_path, filename, file = nil) ⇒ IndirectBlobBuilder
constructor
A new instance of IndirectBlobBuilder.
Constructor Details
#initialize(parent_path, filename, file = nil) ⇒ IndirectBlobBuilder
Returns a new instance of IndirectBlobBuilder.
6 7 8 9 10 |
# File 'lib/fiona7/builder/indirect_blob_builder.rb', line 6 def initialize(parent_path, filename, file=nil) @parent_path = parent_path @filename = filename @file = file end |
Instance Method Details
#call ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/fiona7/builder/indirect_blob_builder.rb', line 12 def call parent = ContainerChainBuilder.new(@parent_path).call ext = ::File.extname(@filename).to_s[1..-1].to_s.downcase name = ::File.basename(@filename, '.' + ext) obj_class = if ['jpg', 'jpeg', 'gif', 'png', 'tif', 'tiff'].include?(ext) 'X_Image' else 'X_Generic' end if @file upload = WriteObj.upload(@file, ext, {name: name, parent: parent, obj_class: obj_class}).tap(&:release!) else upload = WriteObj.create({name: name, parent: parent, obj_class: obj_class}).tap(&:release!) end end |