class ForestLiana::Base64StringIO

Attributes

file_format[RW]

Public Class Methods

new(encoded_file) click to toggle source
Calls superclass method
# File lib/forest_liana/base64_string_io.rb, line 7
def initialize(encoded_file)
  description, encoded_bytes = encoded_file.split(",")

  raise ArgumentError unless encoded_bytes
  raise ArgumentError if encoded_bytes.eql?("(null)")

  @file_format = get_file_format description
  bytes = ::Base64.decode64 encoded_bytes

  super bytes
end

Public Instance Methods

original_filename() click to toggle source
# File lib/forest_liana/base64_string_io.rb, line 19
def original_filename
  File.basename("file.#{@file_format}")
end

Private Instance Methods

get_file_format(description) click to toggle source
# File lib/forest_liana/base64_string_io.rb, line 25
def get_file_format(description)
  regex = /([a-z0-9]+);base64\z/
  regex.match(description).try(:[], 1)
end