# File lib/dragonfly/app.rb, line 12 def instance(name) name = name.to_sym apps[name] ||= new(name) end
# File lib/dragonfly/app.rb, line 27 def initialize(name) @name = name @analyser, @processor, @encoder, @generator = Analyser.new, Processor.new, Encoder.new, Generator.new [@analyser, @processor, @encoder, @generator].each do |obj| obj.use_same_log_as(self) obj.use_as_fallback_config(self) end @server = Server.new(self) @job_definitions = JobDefinitions.new end
# File lib/dragonfly/app.rb, line 163 def analyser_methods analyser.analysis_method_names end
# File lib/dragonfly/app.rb, line 135 def define_macro(mod, macro_name) already_extended = (class << mod; self; end).included_modules.include?(ActiveModelExtensions) mod.extend(ActiveModelExtensions) unless already_extended mod.register_dragonfly_app(macro_name, self) end
# File lib/dragonfly/app.rb, line 141 def define_macro_on_include(mod, macro_name) app = self name = self.name (class << mod; self; end).class_eval do alias_method "included_without_dragonfly_#{name}_#{macro_name}", :included define_method "included_with_dragonfly_#{name}_#{macro_name}" do |mod| send "included_without_dragonfly_#{name}_#{macro_name}", mod app.define_macro(mod, macro_name) end alias_method :included, "included_with_dragonfly_#{name}_#{macro_name}" end end
# File lib/dragonfly/app.rb, line 116 def define_url(&block) @url_proc = block end
# File lib/dragonfly/app.rb, line 72 def endpoint(job=nil, &block) block ? RoutedEndpoint.new(self, &block) : JobEndpoint.new(job) end
# File lib/dragonfly/app.rb, line 159 def generator_methods generator.functions.keys end
# File lib/dragonfly/app.rb, line 186 def infer_mime_type_from_file_ext=(bool) raise NoMethodError, "infer_mime_type_from_file_ext is deprecated - please use trust_file_extensions = #{bool.inspect} instead" end
# File lib/dragonfly/app.rb, line 171 def inspect "<#{self.class.name} name=#{name.inspect} >" end
# File lib/dragonfly/app.rb, line 76 def job(name, &block) job_definitions.add(name, &block) end
# File lib/dragonfly/app.rb, line 81 def job_class @job_class ||= begin app = self Class.new(Job).class_eval do include app.analyser.analysis_methods include app.job_definitions include Job::OverrideInstanceMethods self end end end
# File lib/dragonfly/app.rb, line 167 def job_methods job_definitions.definition_names end
# File lib/dragonfly/app.rb, line 107 def mime_type_for(format) registered_mime_types[file_ext_string(format)] end
# File lib/dragonfly/app.rb, line 67 def new_job(content=nil, meta={}) job_class.new(self, content, meta) end
Reflection
# File lib/dragonfly/app.rb, line 155 def processor_methods processor.functions.keys end
# File lib/dragonfly/app.rb, line 98 def register_mime_type(format, mime_type) registered_mime_types[file_ext_string(format)] = mime_type end
# File lib/dragonfly/app.rb, line 103 def registered_mime_types @registered_mime_types ||= Rack::Mime::MIME_TYPES.dup end
# File lib/dragonfly/app.rb, line 129 def remote_url_for(uid, opts={}) datastore.url_for(uid, opts) rescue NoMethodError => e raise NotImplementedError, "The datastore doesn't support serving content directly - #{datastore.inspect}" end
# File lib/dragonfly/app.rb, line 111 def response_headers @response_headers ||= {} end
# File lib/dragonfly/app.rb, line 93 def store(object, opts={}) temp_object = object.is_a?(TempObject) ? object : TempObject.new(object, opts[:meta] || {}) datastore.store(temp_object, opts) end
# File lib/dragonfly/app.rb, line 121 def url_for(job, opts={}) if @url_proc @url_proc.call(self, job, opts) else server.url_for(job, opts) end end
Generated with the Darkfish Rdoc Generator 2.