Parent

Files

Class/Module Index [+]

Quicksearch

Dragonfly::App

Attributes

analyser[R]
encoder[R]
generator[R]
job_definitions[RW]
name[R]
processor[R]
server[R]

Public Class Methods

[](name) click to toggle source
Alias for: instance
instance(name) click to toggle source
# File lib/dragonfly/app.rb, line 12
def instance(name)
  name = name.to_sym
  apps[name] ||= new(name)
end
Also aliased as: []
new(name) click to toggle source
# 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

Public Instance Methods

analyser_methods() click to toggle source
# File lib/dragonfly/app.rb, line 162
def analyser_methods
  analyser.analysis_method_names
end
create(content=nil, meta={}) click to toggle source
Alias for: new_job
define_macro(mod, macro_name) click to toggle source
# File lib/dragonfly/app.rb, line 134
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
define_macro_on_include(mod, macro_name) click to toggle source
# File lib/dragonfly/app.rb, line 140
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
define_url(&block) click to toggle source
# File lib/dragonfly/app.rb, line 115
def define_url(&block)
  @url_proc = block
end
endpoint(job=nil, &block) click to toggle source
# File lib/dragonfly/app.rb, line 71
def endpoint(job=nil, &block)
  block ? RoutedEndpoint.new(self, &block) : JobEndpoint.new(job)
end
generator_methods() click to toggle source
# File lib/dragonfly/app.rb, line 158
def generator_methods
  generator.functions.keys
end
infer_mime_type_from_file_ext=(bool) click to toggle source
# File lib/dragonfly/app.rb, line 185
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
inspect() click to toggle source
# File lib/dragonfly/app.rb, line 170
def inspect
  "<#{self.class.name} name=#{name.inspect} >"
end
job(name, &block) click to toggle source
# File lib/dragonfly/app.rb, line 75
def job(name, &block)
  job_definitions.add(name, &block)
end
job_class() click to toggle source
# File lib/dragonfly/app.rb, line 80
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
job_methods() click to toggle source
# File lib/dragonfly/app.rb, line 166
def job_methods
  job_definitions.definition_names
end
mime_type_for(format) click to toggle source
# File lib/dragonfly/app.rb, line 106
def mime_type_for(format)
  registered_mime_types[file_ext_string(format)]
end
new_job(content=nil, meta={}) click to toggle source
# File lib/dragonfly/app.rb, line 66
def new_job(content=nil, meta={})
  job_class.new(self, content, meta)
end
Also aliased as: create
processor_methods() click to toggle source

Reflection

# File lib/dragonfly/app.rb, line 154
def processor_methods
  processor.functions.keys
end
register_mime_type(format, mime_type) click to toggle source
# File lib/dragonfly/app.rb, line 97
def register_mime_type(format, mime_type)
  registered_mime_types[file_ext_string(format)] = mime_type
end
registered_mime_types() click to toggle source
# File lib/dragonfly/app.rb, line 102
def registered_mime_types
  @registered_mime_types ||= Rack::Mime::MIME_TYPES.dup
end
remote_url_for(uid, opts={}) click to toggle source
# File lib/dragonfly/app.rb, line 128
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
response_headers() click to toggle source
# File lib/dragonfly/app.rb, line 110
def response_headers
  @response_headers ||= {}
end
store(object, opts={}) click to toggle source
# File lib/dragonfly/app.rb, line 92
def store(object, opts={})
  temp_object = object.is_a?(TempObject) ? object : TempObject.new(object, opts[:meta] || {})
  datastore.store(temp_object, opts)
end
url_for(job, opts={}) click to toggle source
# File lib/dragonfly/app.rb, line 120
def url_for(job, opts={})
  if @url_proc
    @url_proc.call(self, job, opts)
  else
    server.url_for(job, opts)
  end
end
url_path_prefix=(thing) click to toggle source

Deprecated methods

# File lib/dragonfly/app.rb, line 175
def url_path_prefix=(thing)
  raise NoMethodError, "url_path_prefix is deprecated - please use url_format, e.g. url_format = '/media/:job/:basename.:format' - see docs for more details"
end
url_suffix=(thing) click to toggle source
# File lib/dragonfly/app.rb, line 180
def url_suffix=(thing)
  raise NoMethodError, "url_suffix is deprecated - please use url_format, e.g. url_format = '/media/:job/:basename.:format' - see docs for more details"
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.