Module: DirModel::Export::Files::ClassMethods
- Defined in:
- lib/dir_model/export/files.rb
Instance Method Summary collapse
-
#define_extension_method(file_name) ⇒ Object
Safe to override.
-
#define_file_method(file_name) ⇒ Object
Safe to override.
-
#define_skip_method(file_name) ⇒ Object
Safe to override.
Instance Method Details
#define_extension_method(file_name) ⇒ Object
Safe to override
Define default extension method for defined file
54 55 56 57 58 59 |
# File 'lib/dir_model/export/files.rb', line 54 def define_extension_method(file_name) define_method("#{file_name}_extension") do return unless self.public_send(file_name).respond_to?(:extension) self.public_send(file_name).extension # Carrierwave Uploader end end |
#define_file_method(file_name) ⇒ Object
Safe to override
Define default file method for defined file
40 41 42 43 44 45 46 47 48 |
# File 'lib/dir_model/export/files.rb', line 40 def define_file_method(file_name) define_method(file_name) do file = file_or_uploader = source_model.public_send(file_name) if file_or_uploader.respond_to?(:file) # Carrierwave Uploader file = file_or_uploader.file end file end end |
#define_skip_method(file_name) ⇒ Object
Safe to override
Define default skip method for a file
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/dir_model/export/files.rb', line 18 def define_skip_method(file_name) define_method(:skip?) do _file = self.public_send(file_name) return true if _file.nil? if _file.respond_to?(:exists?) # Carrierwave with remote file return true unless _file.exists? else if _file.respond_to?(:path) # Locale file return true unless File.exists?(_file.path) end end return true unless _file.respond_to?(:read) false end end |