Sha256: 9f70e1484ba11c945f1ec223d896e858a7585df0231cf4e3b5679b05fc45f8da

Contents?: true

Size: 724 Bytes

Versions: 9

Compression:

Stored size: 724 Bytes

Contents

require 'rack'
require 'sprockets'

module BPM

  class Server < Rack::Server
    
    def initialize(project, options=nil)
      @project = project
      @mode    = (options && options[:mode]) || :debug 
      super options
    end
    
    def self.start(project, options=nil)
      new(project, options).start
    end
    
    attr_reader :project
    attr_reader :mode
    
    def app
      cur_project = @project
      cur_mode    = @mode

      @app ||= Rack::Builder.new do
        map '/assets' do
          run BPM::Pipeline.new cur_project, cur_mode, true
        end
        
        map '/' do
          run Rack::Directory.new cur_project.root_path
        end
        
      end.to_app
    end
    
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
bpm-1.0.0.beta.13 lib/bpm/server.rb
bpm-1.0.0.beta.12 lib/bpm/server.rb
bpm-1.0.0.beta.11 lib/bpm/server.rb
bpm-1.0.0.beta.10 lib/bpm/server.rb
bpm-1.0.0.beta.9 lib/bpm/server.rb
bpm-1.0.0.beta.8 lib/bpm/server.rb
bpm-1.0.0.beta.6 lib/bpm/server.rb
bpm-1.0.0.beta.5 lib/bpm/server.rb
bpm-1.0.0.beta.4 lib/bpm/server.rb