class Attachy::File

Public Class Methods

config() click to toggle source
# File lib/attachy/models/attachy/file.rb, line 39
def self.config
  ::Rails.application&.config_for :attachy
end
default() click to toggle source
# File lib/attachy/models/attachy/file.rb, line 43
def self.default
  return if config.nil?

  image = config.dig('default', 'image')

  return if image.nil?

  new image
end

Public Instance Methods

transform(options = {}) click to toggle source
# File lib/attachy/models/attachy/file.rb, line 15
def transform(options = {})
  options = options.reverse_merge(
    format:    format,
    public_id: public_id,
    secure:    true,
    sign_url:  true,
    version:   version
  )

  if options[:crop] == :none
    options.delete :crop
    options.delete :height
    options.delete :width
  elsif options[:crop].blank?
    options[:crop] = :fill
  end

  options
end
url(options = {}) click to toggle source
# File lib/attachy/models/attachy/file.rb, line 35
def url(options = {})
  Cloudinary::Utils.cloudinary_url public_id, transform(options)
end

Private Instance Methods

destroy_file() click to toggle source
# File lib/attachy/models/attachy/file.rb, line 55
def destroy_file
  Cloudinary::Uploader.destroy public_id
end
h() click to toggle source
# File lib/attachy/models/attachy/file.rb, line 63
def h
  ActionController::Base.helpers
end
remove_tmp_tag() click to toggle source
# File lib/attachy/models/attachy/file.rb, line 59
def remove_tmp_tag
  Cloudinary::Uploader.remove_tag TMP_TAG, [public_id]
end