Module: Paperclip
- Extended by:
- Helpers, Logger, ProcessorHelpers
- Defined in:
- lib/paperclip.rb,
lib/paperclip/glue.rb,
lib/paperclip/style.rb,
lib/paperclip/errors.rb,
lib/paperclip/logger.rb,
lib/paperclip/schema.rb,
lib/paperclip/helpers.rb,
lib/paperclip/railtie.rb,
lib/paperclip/version.rb,
lib/paperclip/geometry.rb,
lib/paperclip/matchers.rb,
lib/paperclip/tempfile.rb,
lib/paperclip/callbacks.rb,
lib/paperclip/processor.rb,
lib/paperclip/thumbnail.rb,
lib/paperclip/attachment.rb,
lib/paperclip/storage/s3.rb,
lib/paperclip/validators.rb,
lib/paperclip/storage/fog.rb,
lib/paperclip/url_generator.rb,
lib/paperclip/interpolations.rb,
lib/paperclip/filename_cleaner.rb,
lib/paperclip/tempfile_factory.rb,
lib/paperclip/has_attached_file.rb,
lib/paperclip/processor_helpers.rb,
lib/paperclip/rails_environment.rb,
lib/paperclip/storage/filesystem.rb,
lib/paperclip/attachment_registry.rb,
lib/paperclip/io_adapters/registry.rb,
lib/paperclip/content_type_detector.rb,
lib/paperclip/geometry_parser_factory.rb,
lib/paperclip/io_adapters/nil_adapter.rb,
lib/paperclip/io_adapters/uri_adapter.rb,
lib/paperclip/io_adapters/file_adapter.rb,
lib/paperclip/geometry_detector_factory.rb,
lib/paperclip/media_type_spoof_detector.rb,
lib/paperclip/missing_attachment_styles.rb,
lib/paperclip/interpolations/plural_cache.rb,
lib/paperclip/io_adapters/abstract_adapter.rb,
lib/paperclip/io_adapters/data_uri_adapter.rb,
lib/paperclip/io_adapters/identity_adapter.rb,
lib/paperclip/io_adapters/stringio_adapter.rb,
lib/paperclip/io_adapters/attachment_adapter.rb,
lib/paperclip/io_adapters/empty_string_adapter.rb,
lib/paperclip/io_adapters/uploaded_file_adapter.rb,
lib/paperclip/file_command_content_type_detector.rb,
lib/paperclip/io_adapters/http_url_proxy_adapter.rb,
lib/paperclip/matchers/have_attached_file_matcher.rb,
lib/paperclip/validators/attachment_size_validator.rb,
lib/paperclip/validators/attachment_presence_validator.rb,
lib/paperclip/matchers/validate_attachment_size_matcher.rb,
lib/paperclip/validators/attachment_file_name_validator.rb,
lib/paperclip/validators/attachment_content_type_validator.rb,
lib/paperclip/matchers/validate_attachment_presence_matcher.rb,
lib/paperclip/validators/media_type_spoof_detection_validator.rb,
lib/paperclip/matchers/validate_attachment_content_type_matcher.rb,
lib/paperclip/validators/attachment_file_type_ignorance_validator.rb
Overview
The base module that gets included in ActiveRecord::Base. See the documentation for Paperclip::ClassMethods for more useful information.
Defined Under Namespace
Modules: Callbacks, ClassMethods, Errors, Glue, Helpers, Interpolations, Logger, ProcessorHelpers, Schema, Shoulda, Storage, TempfileEncoding, Validators Classes: AbstractAdapter, AdapterRegistry, Attachment, AttachmentAdapter, AttachmentRegistry, ContentTypeDetector, DataUriAdapter, EmptyStringAdapter, Error, FileAdapter, FileCommandContentTypeDetector, FilenameCleaner, Geometry, GeometryDetector, GeometryParser, HasAttachedFile, HttpUrlProxyAdapter, IdentityAdapter, MediaTypeSpoofDetector, NilAdapter, Processor, RailsEnvironment, Railtie, StringioAdapter, Style, Tempfile, TempfileFactory, Thumbnail, UploadedFileAdapter, UriAdapter, UrlGenerator
Constant Summary collapse
- AVAILABLE_BACKENDS =
[:image_magick, :vips].freeze
- VERSION =
"8.0.4".freeze
- REQUIRED_VALIDATORS =
[AttachmentFileNameValidator, AttachmentContentTypeValidator, AttachmentFileTypeIgnoranceValidator].freeze
Class Attribute Summary collapse
Class Method Summary collapse
- .io_adapters ⇒ Object
- .io_adapters=(new_registry) ⇒ Object
-
.missing_attachments_styles ⇒ Object
Returns hash with styles missing from recent run of rake paperclip:refresh:missing_styles { :User => => [:big], :Book => { :cover => [:croppable]}, } }.
-
.options ⇒ Object
Provides configurability to Paperclip.
- .resolve_backend(backend) ⇒ Object
- .save_current_attachments_styles! ⇒ Object
Methods included from Helpers
class_for, configure, each_instance_with_attachment, imagemagick7?, interpolates, reset_duplicate_clash_check!, run, which
Methods included from Logger
log, logger, logger=, logging?
Methods included from ProcessorHelpers
clear_processors!, load_processor, processor, register_processor
Class Attribute Details
.registered_attachments_styles_path ⇒ Object
9 10 11 |
# File 'lib/paperclip/missing_attachment_styles.rb', line 9 def @registered_attachments_styles_path ||= Rails.root.join("public/system/paperclip_attachments.yml").to_s end |
Class Method Details
.io_adapters ⇒ Object
123 124 125 |
# File 'lib/paperclip.rb', line 123 def self.io_adapters @io_adapters ||= Paperclip::AdapterRegistry.new end |
.io_adapters=(new_registry) ⇒ Object
119 120 121 |
# File 'lib/paperclip.rb', line 119 def self.io_adapters=(new_registry) @io_adapters = new_registry end |
.missing_attachments_styles ⇒ Object
Returns hash with styles missing from recent run of rake paperclip:refresh:missing_styles
{
:User => {:avatar => [:big]},
:Book => {
:cover => [:croppable]},
}
}
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/paperclip/missing_attachment_styles.rb', line 62 def self. current_styles = registered_styles = Hash.new.tap do |missing_styles| current_styles.each do |klass, | .each do |, styles| registered = begin registered_styles[klass][] || [] rescue StandardError [] end missed = styles - registered if missed.present? klass_sym = klass.to_s.to_sym missing_styles[klass_sym] ||= Hash.new missing_styles[klass_sym][.to_sym] ||= Array.new missing_styles[klass_sym][.to_sym].concat(missed.to_a) missing_styles[klass_sym][.to_sym].map!(&:to_s).sort!.map!(&:to_sym).uniq! end end end end end |
.options ⇒ Object
Provides configurability to Paperclip. The options available are:
-
whiny: Will raise an error if Paperclip cannot process thumbnails of an uploaded image. Defaults to true.
-
log: Logs progress to the Rails log. Uses ActiveRecord’s logger, so honors log levels, etc. Defaults to true.
-
command_path: Defines the path at which to find the command line programs if they are not visible to Rails the system’s search path. Defaults to nil, which uses the first executable found in the user’s search path.
-
use_exif_orientation: Whether to inspect EXIF data to determine an image’s orientation. Defaults to true.
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 |
# File 'lib/paperclip.rb', line 103 def self. @options ||= { command_path: nil, content_type_mappings: {}, log: true, log_command: true, read_timeout: nil, swallow_stderr: true, use_exif_orientation: true, whiny: true, is_windows: Gem.win_platform?, add_validation_errors_to: :both, backend: :image_magick } end |
.resolve_backend(backend) ⇒ Object
84 85 86 87 88 89 90 91 |
# File 'lib/paperclip.rb', line 84 def self.resolve_backend(backend) backend ||= :image_magick unless AVAILABLE_BACKENDS.include?(backend) log("Warning: Invalid backend: #{backend}. Falling back to :image_magick. Allowed backends: #{AVAILABLE_BACKENDS.join(', ')}") backend = :image_magick end backend end |
.save_current_attachments_styles! ⇒ Object
22 23 24 25 26 |
# File 'lib/paperclip/missing_attachment_styles.rb', line 22 def self. File.open(Paperclip., "w") do |f| YAML.dump(, f) end end |