Module: Roachclip::InstanceMethods

Defined in:
lib/roachclip.rb

Instance Method Summary collapse

Instance Method Details

#destroy_nil_roachesObject



93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/roachclip.rb', line 93

def destroy_nil_roaches
  roaches.each do |img|
    name = img[:name]
    styles = img[:options][:styles]
    default_style = img[:options][:default_style]
    
    return unless @nil_attachments && @nil_attachments.include?(name)

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

#process_roachesObject



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/roachclip.rb', line 63

def process_roaches
  roaches.each do |img|
    name = img[:name]
    styles = img[:options][:styles]
    default_style = img[:options][:default_style]
    
    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}" }

      if style_key == default_style
        send "#{name}=", tmp_file_name
        send "#{name}_name=", stored_file_name
      else
        send "#{name}_#{style_key}=", tmp_file_name
        send "#{name}_#{style_key}_name=", stored_file_name
      end
    end
  end
end