Sha256: c6e228f7c2f950c23765f84dbabb943b3feea4271fe3abbfea24bbc99794ee43

Contents?: true

Size: 1.49 KB

Versions: 4

Compression:

Stored size: 1.49 KB

Contents

require 'rbconfig'
require 'logger'
require 'dragonfly/version'
require 'dragonfly/core_ext/object'
require 'dragonfly/core_ext/array'
require 'dragonfly/core_ext/hash'
require 'dragonfly/app'
require 'dragonfly/image_magick/plugin'
require 'dragonfly/file_data_store'
require 'dragonfly/memory_data_store'
require 'dragonfly/model'
require 'dragonfly/middleware'

if defined?(::Rails)
  require 'dragonfly/railtie'
  require 'dragonfly/model/validations'
end

module Dragonfly
  class << self

    def app(name=nil)
      App.instance(name)
    end

    def [](name)
      App[name]
    end

    def running_on_windows?
      !!(RbConfig::CONFIG['host_os'] =~ %r!(msdos|mswin|djgpp|mingw)!)
    end

    # Logging
    def logger
      @logger = Logger.new('dragonfly.log') unless instance_variable_defined?(:@logger)
      @logger
    end
    attr_writer :logger

    [:debug, :warn, :info].each do |method|
      define_method method do |message|
        return unless logger
        logger.send(method, "DRAGONFLY: #{message}")
      end
    end

    # Register plugins so we can do e.g.
    # Dragonfly.app.configure do
    #   plugin :imagemagick
    # end
    App.register_plugin(:imagemagick){ ImageMagick::Plugin.new }
    App.register_plugin(:image_magick){ ImageMagick::Plugin.new }

    # Register saved datastores so we can do e.g.
    # Dragonfly.app.configure do
    #   datastore :file
    # end
    App.register_datastore(:file){ FileDataStore }
    App.register_datastore(:memory){ MemoryDataStore }

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dragonfly-1.4.1 lib/dragonfly.rb
dragonfly-1.4.0 lib/dragonfly.rb
dragonfly-1.3.0 lib/dragonfly.rb
dragonfly-1.2.1 lib/dragonfly.rb