Sha256: 4dc9ce9ad171f9c1fade9c43fbbeab0f57d1b01574cffaddae1d1ee707f1ecf6

Contents?: true

Size: 840 Bytes

Versions: 2

Compression:

Stored size: 840 Bytes

Contents

require 'set'
require 'mime/types'
require 'wand'

module Joint
  def self.configure(model)
    model.class_inheritable_accessor :attachment_names
    model.attachment_names = Set.new
    model.send(:include, model.attachment_accessor_module)
  end

  def self.name(file)
    if file.respond_to?(:original_filename)
      file.original_filename
    else
      File.basename(file.path)
    end
  end

  def self.size(file)
    if file.respond_to?(:size)
      file.size
    else
      File.size(file)
    end
  end

  def self.type(file)
    return file.type if file.is_a?(Joint::IO)
    Wand.wave(file.path, :original_filename => Joint.name(file))
  end

private
  def self.blank?(str)
    str.nil? || str !~ /\S/
  end
end

require 'joint/class_methods'
require 'joint/instance_methods'
require 'joint/attachment_proxy'
require 'joint/io'

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
jamieorc-joint-0.5.6 lib/joint.rb
joint-0.5.5 lib/joint.rb