Module: Roachclip::InstanceMethods

Defined in:
lib/roachclip.rb

Instance Method Summary collapse

Instance Method Details

#destroy_nil_roachesObject



84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/roachclip.rb', line 84

def destroy_nil_roaches
  roaches.each do |img|
    name = img[:name]
    styles = img[:options][:styles]

    return unless @nil_attachments && @nil_attachments.include?(name)

    styles.keys.each do |style_key|
      send "#{name}_#{style_key}=", nil
    end
  end
end

#process_roachesObject



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/roachclip.rb', line 61

def process_roaches
  roaches.each do |img|
    name = img[:name]
    styles = img[:options][:styles]

    return unless assigned_attachments[name]

    src = Tempfile.new ["roachclip", name.to_s].join('-')
    src.write assigned_attachments[name].read
    src.close
    
    assigned_attachments[name].rewind

    styles.keys.each do |style_key|
      thumbnail = Paperclip::Thumbnail.new src, styles[style_key]
      tmp_file_name = thumbnail.make
      stored_file_name = send("#{name}_name").gsub(/\.(\w*)\Z/) { "_#{style_key}.#{$1}" }
      send "#{name}_#{style_key}=", tmp_file_name
      send "#{name}_#{style_key}_name=", stored_file_name
    end
  end
end