low_event 0.0.0 → 0.1.0

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: b2b38a3833afc6dbdf6324ba7e32a26045b86ca401d975743a68d2ed0d1ef2e7
4
- data.tar.gz: '0258e2534daf51fdd20a3a7e64d6b6f47e3451b084279e71d89edd9c57a9220a'
3
+ metadata.gz: 2724e94061833660fa2944497941b32f49a6179b12f072661ebdcd17d6808e5c
4
+ data.tar.gz: cec7fcd6027f985a9f00051c5b6af87242180ef68b646626b7eb0c031dbb6d16
5
5
  SHA512:
6
- metadata.gz: a8c9b5f3040c45ea18b79eb0359a167f5b8fb2abeb985639e99d901c813fa0bb85a304a59d3689d6aea14b73c58c6a24f8a68f8f8b68a09aa6853056d56be9e5
7
- data.tar.gz: 560e9f63bc99490380b6a193e98fe15c04ee7f5ce80dedda0e351cde0672363e7190fbaec86ee12248b28cfcfb2b46c0a464b316f916671277ee0cab1e854e47
6
+ metadata.gz: 12e2c3d18f00705676bd67a3a0895494266b12a839fe4a9ffca21d7f51644f2afa8f6f5e739ae8a2dc7cb2d14d9934657d042f97431413b30ef01cf9c8e8912d
7
+ data.tar.gz: ad6c3aa0d29310b4493b4f684f526abbd7c781ef2092049dd23e276121d15e74790036f6f38a7727d6dc323c7f2f0953299b137acf57026fdb4e8a9ded852f6a
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Low
4
+ class Event
5
+ include LowType
6
+
7
+ attr_reader :action
8
+
9
+ def initialize(action: :handle)
10
+ @action = action
11
+ end
12
+
13
+ def self.inherited(child)
14
+ child.include LowType
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'low_event'
4
+
5
+ module Low
6
+ module Events
7
+ class RenderEvent < Event
8
+ attr_reader :render
9
+
10
+ def initialize(action: :render, render: nil)
11
+ super(action:)
12
+
13
+ @render = render
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'low_event'
4
+
5
+ module Low
6
+ module Events
7
+ class RequestEvent < Event
8
+ attr_reader :request
9
+
10
+ def initialize(request:)
11
+ super()
12
+
13
+ @request = request
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'protocol/http'
4
+ require_relative 'low_event'
5
+
6
+ module Low
7
+ module Events
8
+ class ResponseEvent < Event
9
+ attr_reader :response
10
+
11
+ # TODO: Type: "response: Protocol::HTTP::Response"
12
+ def initialize(response: nil)
13
+ @response = response
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'protocol/http'
4
+
5
+ module Low
6
+ module Events
7
+ class ResponseFactory
8
+ class << self
9
+ def response(body:)
10
+ headers = Protocol::HTTP::Headers.new(['content-type', 'text/html'])
11
+ body = Protocol::HTTP::Body::Buffered.wrap(body)
12
+
13
+ Protocol::HTTP::Response.new('http/1.1', 200, headers, body)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
data/lib/low_event.rb CHANGED
@@ -1,8 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'low_type'
4
+ require 'observers'
4
5
 
5
- class LowEvent
6
- def intialize
7
- end
8
- end
6
+ require_relative 'events/request_event'
7
+ require_relative 'events/response_event'
8
+ require_relative 'factories/response_factory'
9
+
10
+ LowEvent = Low::Event
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module LowEvent
4
- VERSION = '0.0.0'
3
+ module Low
4
+ EVENT_VERSION = '0.1.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: low_event
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - maedi
@@ -23,6 +23,34 @@ dependencies:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
25
  version: '1.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: observers
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: protocol-http
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
26
54
  description: Events and observers for event-driven applications
27
55
  email:
28
56
  - maediprichard@gmail.com
@@ -30,7 +58,11 @@ executables: []
30
58
  extensions: []
31
59
  extra_rdoc_files: []
32
60
  files:
33
- - lib/event_manager.rb
61
+ - lib/events/low_event.rb
62
+ - lib/events/render_event.rb
63
+ - lib/events/request_event.rb
64
+ - lib/events/response_event.rb
65
+ - lib/factories/response_factory.rb
34
66
  - lib/low_event.rb
35
67
  - lib/version.rb
36
68
  homepage: https://github.com/low-rb/low_event
data/lib/event_manager.rb DELETED
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'low_type'
4
-
5
- module Low
6
- class EventManager
7
- def intialize
8
- end
9
- end
10
- end