gack 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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