forked from AlexJWayne/fleximage
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathfleximage.rb
62 lines (52 loc) · 1.72 KB
/
fleximage.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
require 'open-uri'
require 'base64'
require 'digest/sha1'
require 'aws/s3'
# Load RMagick
begin
require 'RMagick'
rescue MissingSourceFile => e
puts %{ERROR :: FlexImage requires the RMagick gem. http://rmagick.rubyforge.org/install-faq.html}
raise e
end
# Apply a few RMagick patches
require 'fleximage/rmagick_image_patch'
# Load dsl_accessor from lib
require 'dsl_accessor'
# Load Operators
require 'fleximage/operator/base'
Dir.entries("#{File.dirname(__FILE__)}/fleximage/operator").each do |filename|
require "fleximage/operator/#{filename.gsub('.rb', '')}" if filename =~ /\.rb$/
end
# Setup Model
require 'fleximage/model'
ActiveRecord::Base.class_eval { include Fleximage::Model }
# Image Proxy
require 'fleximage/image_proxy'
# Setup View
#ActionController::Base.exempt_from_layout :flexi
if defined?(ActionView::Template)
# Rails >= 2.1
if Rails.version.to_f >= 3
require 'fleximage/rails3_view'
ActionView::Template.register_template_handler :flexi, ActionView::TemplateHandlers::Rails3View
else
require 'fleximage/view'
ActionView::Template.register_template_handler :flexi, Fleximage::View
end
else
# Rails < 2.1
require 'fleximage/legacy_view'
ActionView::Base.register_template_handler :flexi, Fleximage::LegacyView
end
# Setup Helper
require 'fleximage/helper'
ActionView::Base.class_eval { include Fleximage::Helper }
# Setup Aviary Controller
require 'fleximage/aviary_controller'
ActionController::Base.class_eval{ include Fleximage::AviaryController }
# Register mime types
Mime::Type.register_alias "image/pjpeg", :jpg # IE6 sends jpg data as "image/pjpeg". Silly IE6.
Mime::Type.register "image/jpeg", :jpg
Mime::Type.register "image/gif", :gif
Mime::Type.register "image/png", :png