class Magickly::App
Constants
- DEMO_IMAGE
- RESERVED_PARAMS
Public Instance Methods
ordered_options()
click to toggle source
# File lib/magickly/app.rb, line 102 def ordered_options options = ActiveSupport::OrderedHash.new request.query_string.split('&').each do |e| k,v = e.split('=') options[k] = URI.unescape(v) unless RESERVED_PARAMS.include?(k) end options end
process_path(splat)
click to toggle source
# File lib/magickly/app.rb, line 66 def process_path splat src = nil opts = [] splat.split('/').each_slice(2) do |k, v| if RESERVED_PARAMS.include? k if k == 'src' src = URI.unescape(v) # slashes come in double-escaped by Apache so we # need to unescape again src = URI.unescape(src) if src =~ /%2F/ end else opts << [k, URI.unescape(v)] end end process_src_or_display_demo src, opts end
process_src_or_display_demo(src, options)
click to toggle source
# File lib/magickly/app.rb, line 86 def process_src_or_display_demo src, options if src # process image url = uri_to_url src image = Magickly.process_src(url, options) image.to_response(env) else # display demo page # get combined list of jobs and processor methods @methods = ( Magickly.dragonfly.job_methods | Magickly.dragonfly.processor_methods ) @methods.sort!{|m1, m2| m1.to_s <=> m2.to_s } erb :index end end
uri_to_url(uri)
click to toggle source
# File lib/magickly/app.rb, line 111 def uri_to_url(uri) url = Addressable::URI.parse(uri) url.site ||= Addressable::URI.parse(request.url).site url.to_s end