Class: Ki::Ki

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

Constant Summary collapse

PUBLIC_PATH =
'public'
VIEWS_PATH =
'views'

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeKi

Returns a new instance of Ki.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/ki/ki.rb', line 6

def initialize
  Ki.connect

  @app = Rack::Builder.new do
    use Middleware::InitMiddleware
    use Rack::Parser, content_types: {
      'application/json' => proc { |body| ::MultiJson.decode body }
    }
    if KiConfig.instance.cors?
      use Rack::Cors do
        allow do
          origins '*'
          resource '*', headers: :any, methods: [:get, :search, :put, :post, :delete]
        end
      end
    end
    KiConfig.instance.middleware.each do |middleware|
      use middleware
    end
    run KiApp.new
  end
end

Class Method Details

.connectObject



29
30
31
32
# File 'lib/ki/ki.rb', line 29

def self.connect
  KiConfig.instance.read Ki.environment
  Orm::Db.instance.establish_connection
end

.environmentObject



34
35
36
# File 'lib/ki/ki.rb', line 34

def self.environment
  ENV['RACK_ENV'] || 'development'
end

Instance Method Details

#call(env) ⇒ Object



38
39
40
# File 'lib/ki/ki.rb', line 38

def call(env)
  @app.call env
end