Module: ActiveScaffold::Bridges::Paperclip::PaperclipBridgeHelpers

Defined in:
lib/active_scaffold/bridges/paperclip/paperclip_bridge_helpers.rb

Class Method Summary collapse

Class Method Details

.generate_delete_helper(klass, field) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/active_scaffold/bridges/paperclip/paperclip_bridge_helpers.rb', line 8

def self.generate_delete_helper(klass, field)
  klass.class_eval <<-CODE, __FILE__, __LINE__ + 1 unless klass.method_defined?(:"delete_#{field}=")
    attr_reader :delete_#{field}

    def delete_#{field}=(value)
      value = (value == "true") if String === value
      return unless value

      # passing nil to the file column causes the file to be deleted. Don't delete if we just uploaded a file!
      self.#{field} = nil unless self.#{field}.dirty?
    end
  CODE
end