Sha256: fa714ce1a4863b770cb6ea9d31dce2583dcaaae5a2e1dc0b1973da9637d4acc7

Contents?: true

Size: 827 Bytes

Versions: 3

Compression:

Stored size: 827 Bytes

Contents

require 'rack'
require 'sprockets'

module BPM

  class Trial
    
    def initialize(app)
      @app = app
    end
    
    def call(env)
      puts env.to_json
      ret = @app.call(env)
      puts "RET = \n  #{ret * "\n  "}"
      ret
    end
  end
  
  class Server < Rack::Server
    
    def initialize(project, options=nil)
      @project = project
      super options
    end
    
    def self.start(project, options=nil)
      new(project, options).start
    end
    
    attr_reader :project
    
    def app
      cur_project = @project

      @app ||= Rack::Builder.new do
        map '/assets' do
          run BPM::Trial.new(BPM::Pipeline.new cur_project)
        end
        
        map '/' do
          run Rack::Directory.new cur_project.root_path
        end
        
      end.to_app
    end
    
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
bpm-0.1.4 lib/bpm/server.rb
bpm-0.1.3 lib/bpm/server.rb
bpm-0.1.2 lib/bpm/server.rb