Module: CarrierWave::Base64ImageContent

Extended by:
ActiveSupport::Concern
Defined in:
lib/carrierwave/base64_image_content.rb,
lib/carrierwave/base64_image_content/version.rb,
lib/carrierwave/base64_image_content/base64_file.rb,
lib/carrierwave/base64_image_content/base64_string_io.rb

Defined Under Namespace

Modules: ClassMethods Classes: Base64File, Base64StringIO

Constant Summary collapse

VERSION =
'1.0.0'

Instance Method Summary collapse

Instance Method Details

#contentObject



39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/carrierwave/base64_image_content.rb', line 39

def content
  return unless read_content_attribute

  content = read_content_attribute.dup

  read_images_attribute.map do |image|
    base64_file = Base64File.new(image.file)
    content = replace_placeholder_by_data(content, base64_file)
  end

  content
end

#content=(content) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/carrierwave/base64_image_content.rb', line 26

def content=(content)
  content, new_image_files = extract_image_files_from_content(content)

  remove_obsolete_files!(new_image_files)
  add_new_files!(new_image_files)

  # FIXME: https://github.com/carrierwaveuploader/carrierwave/issues/1990
  self[self.class.base64_image_content_images_attribute] =
    read_images_attribute.map(&:file).map(&:original_filename)

  write_content_attribute(content)
end