Sha256: d98d5c58cb77c685435e24bdca2391fb3a263ac8b8477a7de7537443f0f831ff

Contents?: true

Size: 1.11 KB

Versions: 1

Compression:

Stored size: 1.11 KB

Contents

require "rails/engine"
require "rails_imager/engine"
require "string-cases"
require "datet"
require "knjrbfw"

module RailsImager
  def self.const_missing(name)
    if name.to_s.end_with?("Controller")
      path = "#{File.dirname(__FILE__)}/../app/controllers/rails_imager/#{::StringCases.camel_to_snake(name)}.rb"
    elsif name.to_s.end_with?("Helper")
      path = "#{File.dirname(__FILE__)}/../app/helpers/rails_imager/#{::StringCases.camel_to_snake(name)}.rb"
    else
      path = "#{File.dirname(__FILE__)}/rails_imager/#{::StringCases.camel_to_snake(name)}.rb"
    end

    if File.exists?(path)
      require path
      return const_get(name) if const_defined?(name)
    end

    super
  end

  def self.config
    @config ||= RailsImager::Config.new

    if block_given?
      yield @config
    else
      return @config
    end
  end

  def self.require_rmagick
    return if ::Kernel.const_defined?(:RMagick)

    begin
      require "rmagick"
    rescue LoadError
      require "RMagick"
    end
  end

  def self.cache_handler
    @cache_handler ||= RailsImager::CacheHandler.new
  end
end

RailsImager.require_rmagick

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rails_imager-0.0.30 lib/rails_imager.rb