Class: Rail::Application

Inherits:
Object
  • Object
show all
Defined in:
lib/rail/application.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeApplication

Returns a new instance of Application.



5
6
7
8
9
# File 'lib/rail/application.rb', line 5

def initialize
  @config = self.class.config
  @browser = Browser.new(config)
  @pipeline = Pipeline.new(config)
end

Instance Attribute Details

#browserObject (readonly)

Returns the value of attribute browser.



3
4
5
# File 'lib/rail/application.rb', line 3

def browser
  @browser
end

#configObject (readonly)

Returns the value of attribute config.



3
4
5
# File 'lib/rail/application.rb', line 3

def config
  @config
end

#pipelineObject (readonly)

Returns the value of attribute pipeline.



3
4
5
# File 'lib/rail/application.rb', line 3

def pipeline
  @pipeline
end

Class Method Details

.configObject



24
25
26
# File 'lib/rail/application.rb', line 24

def self.config
  @config ||= Support::QueryStruct.new(default_options)
end

.inherited(klass) ⇒ Object



20
21
22
# File 'lib/rail/application.rb', line 20

def self.inherited(klass)
  klass.config.root = File.expand_path('../..', caller[0].sub(/:.*/, ''))
end

.load_tasksObject



28
29
30
31
32
# File 'lib/rail/application.rb', line 28

def self.load_tasks
  Dir[File.join(File.dirname(__FILE__), 'tasks/*.rake')].each do |path|
    Rake::load_rakefile(path)
  end
end

Instance Method Details

#call(env) ⇒ Object



11
12
13
14
# File 'lib/rail/application.rb', line 11

def call(env)
  request = Request.new(env)
  (browser.accept?(request) ? browser : pipeline).process(request)
end

#precompileObject



16
17
18
# File 'lib/rail/application.rb', line 16

def precompile
  Precompiler.new(pipeline).process(config.precompile)
end