Module: AttachmentSan

Defined in:
lib/attachment_san.rb,
lib/attachment_san/has.rb,
lib/attachment_san/variant.rb,
lib/attachment_san/core_ext.rb,
lib/attachment_san/test/helper.rb

Defined Under Namespace

Modules: Has, Initializer, ModuleExt, UploadHelpers Classes: Variant

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#uploaded_fileObject

Returns the value of attribute uploaded_file.



32
33
34
# File 'lib/attachment_san.rb', line 32

def uploaded_file
  @uploaded_file
end

Class Method Details

.included(model) ⇒ Object



23
24
25
26
27
28
29
30
# File 'lib/attachment_san.rb', line 23

def self.included(model)
  self.attachment_class = model
  model.extend Variant::ClassMethods
  
  model.class_inheritable_accessor :attachment_san_options
  model.define_callbacks :before_upload, :after_upload
  model.after_create :process_variants!
end

Instance Method Details

#extensionObject



44
45
46
# File 'lib/attachment_san.rb', line 44

def extension
  filename.split('.').last if filename.include?('.')
end

#filename_without_extensionObject



48
49
50
# File 'lib/attachment_san.rb', line 48

def filename_without_extension
  filename.include?('.') ? filename.split('.')[0..-2].join('.') : filename
end

#process_variants!Object



56
57
58
# File 'lib/attachment_san.rb', line 56

def process_variants!
  variants.each(&:process!)
end

#variantsObject



52
53
54
# File 'lib/attachment_san.rb', line 52

def variants
  self.class.variant_reflections.map { |reflection| send(reflection[:name]) }
end