gack 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: acebea2c31845c1a12db7dc97364bef9c4cf9d9e8e6281cba1f20b0a089d4884
4
- data.tar.gz: c738ab83620fab7e2bd44e7bb79bf5957e8672ecb71a12d171a8f1b7be8382b9
3
+ metadata.gz: 4f76d01169f4268c8f4ff83d403e7e6752b8c0e73b8942c6e66580aeb2fce530
4
+ data.tar.gz: 2454542069d22a3f464185d36e40ee75d73e4c972da43eefbe55eb081532ca11
5
5
  SHA512:
6
- metadata.gz: 477a842cd8fcbbfd11e40ea1b59863e259048cf294b819676af059104e19e50a0d1fdc7e9ab5670f6aec02cc1915e9712ee48e2f6ebecdbcf9e89e7c723ce6d9
7
- data.tar.gz: '08136f42415eb3776ac82f8134a0feafed6e2bf242e890dbffa949b0510bf0ac28d74c068db71268aeea7ae71d77e50491f0dd3bba311fa38acc494110baeb11'
6
+ metadata.gz: 60769ea0e2460dccae2a84812361f4bddbbb77b3040a1bd3d239f664bd1513591c93ca086fa8c3c19c47df91ee9b2771b559ca2adb7dd1c6c57946f7a918869b
7
+ data.tar.gz: bc7cbe643b4d3c2408dca365776bfeb3786a34edee21e41e9fd40693e5a9d9370865a84169e7f9e48f00f1ac847b91a6ea10f8b2cc7a3f5546789331e1d6eb45
data/README.md CHANGED
@@ -8,7 +8,19 @@ Install gem:
8
8
 
9
9
  gem install gack
10
10
 
11
- See examples for more details: [Examples](./examples/)
11
+ Build an app:
12
+
13
+ ```ruby
14
+ require 'gack'
15
+
16
+ class App < Gack::Application
17
+ route '/' do
18
+ 'Hello, World!'
19
+ end
20
+ end
21
+
22
+ App.run!
23
+ ```
12
24
 
13
25
  ### TLS
14
26
 
@@ -11,18 +11,20 @@ module Gack
11
11
  @routes ||= []
12
12
  end
13
13
 
14
- def self.run!
15
- new(routes).run!
14
+ # `run!(port: 1234)` to change the port the server runs on
15
+ def self.run!(**opts)
16
+ new(routes, **opts).run!
16
17
  end
17
18
 
18
19
  attr_reader :routes
19
20
 
20
- def initialize(routes)
21
+ def initialize(routes, port: nil, server: Gack::Server)
21
22
  @routes = routes
23
+ @server = server
24
+ @port = port
22
25
  end
23
26
 
24
27
  def run!
25
- server = Gack::Server.new
26
28
  server.event_loop do |request|
27
29
  server_loop_handler(request)
28
30
  end
@@ -45,5 +47,15 @@ module Gack
45
47
  def match_route(location)
46
48
  routes.find { |s| s.path_match?(location) }
47
49
  end
50
+
51
+ private
52
+
53
+ def server
54
+ if @port
55
+ @server.new(port: @port)
56
+ else
57
+ @server.new
58
+ end
59
+ end
48
60
  end
49
61
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Gack
4
- VERSION = '0.0.2'
4
+ VERSION = '0.0.3'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Peterson