pg_eventstore 1.1.2 → 1.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/README.md +3 -26
- data/docs/admin_ui.md +35 -0
- data/lib/pg_eventstore/version.rb +1 -1
- data/lib/pg_eventstore/web/application.rb +6 -0
- data/lib/pg_eventstore/web/views/layouts/application.erb +12 -12
- data/pg_eventstore.gemspec +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9d389d47246c77539e8cd138d22082f8b3186b0e422e563510483e85189a5f68
|
4
|
+
data.tar.gz: 0cf5820ee9979d7ef0f3385848e105c7b378bfcac1f756ed5a1242ea572f2ea1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e7e932435f9c6711af44a69e22fc8d4cbc2ce41f7f1cc1c1c43d269203d7d784076ace2af3d7296662ca8ab4b907df8a8692bf769d635c2d94a53a0b97df4b62
|
7
|
+
data.tar.gz: 745fd65a4c63290804765ceb96d2d3cacce3d2d5d0fecf4410fe962499fc948424734a1aa62a89d167af90afef6c3001808ae46102c04d4cfc6180ddd5bbcdd5
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -47,32 +47,7 @@ Documentation chapters:
|
|
47
47
|
- [Subscriptions](docs/subscriptions.md)
|
48
48
|
- [Writing middlewares](docs/writing_middleware.md)
|
49
49
|
- [How to make multiple commands atomic](docs/multiple_commands.md)
|
50
|
-
|
51
|
-
## Admin web UI
|
52
|
-
|
53
|
-
`pg_eventstore` implements admin UI where you can browse various database objects. It is implemented as rack application. It doesn't have any authentication/authorization mechanism - it is your responsibility to take care of it.
|
54
|
-
|
55
|
-
### Rails integration
|
56
|
-
|
57
|
-
In your `config/routes.rb`:
|
58
|
-
|
59
|
-
```ruby
|
60
|
-
require 'pg_eventstore/web'
|
61
|
-
|
62
|
-
mount PgEventstore::Web::Application, at: '/eventstore'
|
63
|
-
```
|
64
|
-
|
65
|
-
### Standalone application
|
66
|
-
|
67
|
-
Create `config.ru` file and place next content in there:
|
68
|
-
|
69
|
-
```ruby
|
70
|
-
require 'pg_eventstore/web'
|
71
|
-
|
72
|
-
run PgEventstore::Web::Application
|
73
|
-
```
|
74
|
-
|
75
|
-
Now you can use any web server to run it.
|
50
|
+
- [Admin UI](docs/admin_ui.md)
|
76
51
|
|
77
52
|
## Development
|
78
53
|
|
@@ -85,6 +60,8 @@ Then, run `rake spec` to run the tests. You can also run `bin/console` for an in
|
|
85
60
|
|
86
61
|
To install this gem onto your local machine, run `bundle exec rake install`.
|
87
62
|
|
63
|
+
To run admin UI web server - run `puma` in your terminal. By default it will start web server on `http://0.0.0.0:9292`.
|
64
|
+
|
88
65
|
### Benchmarks
|
89
66
|
|
90
67
|
There is a script to help you to tests the `pg_eventstore` implementation performance. You can run it using next command:
|
data/docs/admin_ui.md
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
# Admin UI
|
2
|
+
|
3
|
+
`pg_eventstore` implements admin UI where you can browse various database objects. Key features:
|
4
|
+
|
5
|
+
- events lookup using filtering by stream context, stream name, stream id and event type
|
6
|
+
- subscriptions management and monitoring
|
7
|
+
|
8
|
+
![Events lookup](images/events_lookup.jpg)
|
9
|
+
![Subscriptions](images/subscriptions.jpg)
|
10
|
+
|
11
|
+
## Authorization
|
12
|
+
|
13
|
+
Admin UI is implemented as a rack application. It doesn't have any built-in authentication/authorization mechanism - it is your responsibility to take care of it.
|
14
|
+
|
15
|
+
### Rails integration
|
16
|
+
|
17
|
+
In your `config/routes.rb`:
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
require 'pg_eventstore/web'
|
21
|
+
|
22
|
+
mount PgEventstore::Web::Application, at: '/eventstore'
|
23
|
+
```
|
24
|
+
|
25
|
+
### Standalone application
|
26
|
+
|
27
|
+
Create `config.ru` file and place next content in there:
|
28
|
+
|
29
|
+
```ruby
|
30
|
+
require 'pg_eventstore/web'
|
31
|
+
|
32
|
+
run PgEventstore::Web::Application
|
33
|
+
```
|
34
|
+
|
35
|
+
Now you can use any web server to run it.
|
@@ -6,12 +6,12 @@
|
|
6
6
|
<meta charset="utf-8">
|
7
7
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
8
8
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
9
|
-
<link rel="icon" href="<%=
|
9
|
+
<link rel="icon" href="<%= asset_url("images/favicon.ico") %>" type="image/ico"/>
|
10
10
|
|
11
11
|
<title>PG EventStore admin</title>
|
12
12
|
|
13
13
|
<!-- Bootstrap -->
|
14
|
-
<link href="<%=
|
14
|
+
<link href="<%= asset_url("stylesheets/vendor/bootstrap.min.css") %>" rel="stylesheet">
|
15
15
|
<!-- Font Awesome -->
|
16
16
|
<style>
|
17
17
|
@font-face {
|
@@ -26,13 +26,13 @@
|
|
26
26
|
font-style: normal;
|
27
27
|
}
|
28
28
|
</style>
|
29
|
-
<link href="<%=
|
29
|
+
<link href="<%= asset_url("stylesheets/vendor/font-awesome.min.css") %>" rel="stylesheet">
|
30
30
|
|
31
31
|
<!-- Custom Theme Style -->
|
32
|
-
<link href="<%=
|
33
|
-
<link href="<%=
|
34
|
-
<link href="<%=
|
35
|
-
<link href="<%=
|
32
|
+
<link href="<%= asset_url("stylesheets/vendor/gentelella.min.css") %>" rel="stylesheet">
|
33
|
+
<link href="<%= asset_url("stylesheets/vendor/select2.min.css") %>" rel="stylesheet">
|
34
|
+
<link href="<%= asset_url("stylesheets/vendor/select2-bootstrap4.min.css") %>" rel="stylesheet">
|
35
|
+
<link href="<%= asset_url("stylesheets/pg_eventstore.css") %>" rel="stylesheet">
|
36
36
|
</head>
|
37
37
|
|
38
38
|
<body class="nav-md">
|
@@ -134,14 +134,14 @@
|
|
134
134
|
</div>
|
135
135
|
|
136
136
|
<!-- jQuery -->
|
137
|
-
<script src="<%=
|
137
|
+
<script src="<%= asset_url("javascripts/vendor/jquery.min.js") %>"></script>
|
138
138
|
<!-- Bootstrap -->
|
139
|
-
<script src="<%=
|
140
|
-
<script src="<%=
|
139
|
+
<script src="<%= asset_url("javascripts/vendor/bootstrap.bundle.min.js") %>"></script>
|
140
|
+
<script src="<%= asset_url("javascripts/vendor/select2.full.min.js") %>"></script>
|
141
141
|
|
142
142
|
<!-- Custom Theme Scripts -->
|
143
|
-
<script src="<%=
|
144
|
-
<script src="<%=
|
143
|
+
<script src="<%= asset_url("javascripts/gentelella.js") %>"></script>
|
144
|
+
<script src="<%= asset_url("javascripts/pg_eventstore.js") %>"></script>
|
145
145
|
|
146
146
|
</body>
|
147
147
|
</html>
|
data/pg_eventstore.gemspec
CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.files = Dir.chdir(__dir__) do
|
26
26
|
paths_to_exclude = %w[
|
27
27
|
bin/ test/ spec/ features/ .git .circleci appveyor Gemfile .ruby-version .ruby-gemset .rspec docker-compose.yml
|
28
|
-
Rakefile benchmark/ .yardopts db/structure.sql config.ru
|
28
|
+
Rakefile benchmark/ .yardopts db/structure.sql config.ru docs/images/
|
29
29
|
]
|
30
30
|
`git ls-files -z`.split("\x0").reject do |f|
|
31
31
|
(File.expand_path(f) == __FILE__) || f.start_with?(*paths_to_exclude) || File.extname(f) == ".map"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pg_eventstore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Dzyzenko
|
@@ -70,6 +70,7 @@ files:
|
|
70
70
|
- db/migrations/4_create_subscriptions_set_commands.sql
|
71
71
|
- db/migrations/5_partitions.sql
|
72
72
|
- db/migrations/6_add_commands_data.sql
|
73
|
+
- docs/admin_ui.md
|
73
74
|
- docs/appending_events.md
|
74
75
|
- docs/configuration.md
|
75
76
|
- docs/events_and_streams.md
|