Module: Base64Image::ClassMethods
- Defined in:
- lib/base64_image.rb
Instance Method Summary collapse
Instance Method Details
#base64_to_binary(string_image_data) ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/base64_image.rb', line 20 def base64_to_binary(string_image_data) if String(string_image_data).match(%r{^data:(.*?);(.*?),(.*)$}) # $1 - MIME, e.g. "image/png" # $2 - encoder, e.g. "base64" # $3 - encoded binary data binary_data = Base64.decode64($3) extension = $1.split('/')[1] Base64Image::StringIO.new(binary_data) end end |
#base64image_to(attr_name) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/base64_image.rb', line 11 def base64image_to(attr_name) dest_attr = String(attr_name) << '=' source_attr = 'base64_' << dest_attr define_method source_attr do |data| send dest_attr, self.class.base64_to_binary(data) end self end |