decide.rb 0.8.1 → 0.9.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: 4030eca80006638366697ffbe43f1881fa15229903086103d64416f704c8c431
4
- data.tar.gz: c8896b205ef5d24b098a7fb61bae4a287980a01508a1c4ce94ec602d7ee6fc08
3
+ metadata.gz: 9d72def9812390dd005625a7d34ca4704d086c2443196975a2baf761d58a37df
4
+ data.tar.gz: 567d203347522c6401e1fc724316ddec6f5d0c7625f59a44d2214a4dc0299bc9
5
5
  SHA512:
6
- metadata.gz: 4a64615c3f4ad63a0501ca740dfd8368a28004e1f76239c60b583e835c5a61dce095ee424f80d802df7058306b49d4ff7a59030cff1417a76991e9ee08275abd
7
- data.tar.gz: 763ffe70ba2be9a55f8d51c6176632e63fe1bc3138c2f95dbe747d28b73eb8039894364a5cef3449b0adc79365569dee6eb01bbac761cee9813f5551cc469cb1
6
+ metadata.gz: '0284edda4f04372e4ded16924fc446f97f57c5faede449ca8be09ef9f29a612754378fd8af734dd9338949ceead8e03ccd6be49b5c0135fdc1888843e16a9cc7'
7
+ data.tar.gz: 4a808fd5cff184f84e7e6a3be391c431052e5e38106e4ac547b140c405eb1af9fcf2d225e3306f774376a114f75d7108ec837b759514409b6aaf366f5773de7f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # 0.9.0
2
+
3
+ * Rename gem to `decider`
4
+ * Support `many` in `View`
5
+
6
+ Big Thanks to [skalnik](https://github.com/skalnik/) for transfering the name ❤️
7
+
1
8
  # 0.8.1
2
9
 
3
10
  * Fix support for Ruby > 3.4.5
data/README.md CHANGED
@@ -7,13 +7,13 @@ Special credits for [Ismael Celis for inspiration](https://ismaelcelis.com/posts
7
7
  ## Installation
8
8
 
9
9
  ```bash
10
- gem install decide.rb
10
+ gem install decider
11
11
  ```
12
12
 
13
13
  or add to Gemfile
14
14
 
15
15
  ```ruby
16
- gem "decide.rb"
16
+ gem "decider"
17
17
  ```
18
18
 
19
19
  ## Usage
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Decider
4
- VERSION = "0.8.1"
4
+ VERSION = "0.9.0"
5
5
  end
data/lib/decider/view.rb CHANGED
@@ -56,6 +56,10 @@ module Decider::View
56
56
  define_method(:dimap_on_state) do |fl:, fr:|
57
57
  Decider::View.dimap_on_state(fl, fr, self)
58
58
  end
59
+
60
+ define_method(:many) do
61
+ Decider::View.many(self)
62
+ end
59
63
  end
60
64
  end
61
65
 
@@ -132,4 +136,19 @@ module Decider::View
132
136
  end
133
137
  end
134
138
  end
139
+
140
+ def self.many(view)
141
+ define do
142
+ initial_state({})
143
+
144
+ evolve proc { [state, event] in [Hash, [_id, _]] } do
145
+ event => [id, event]
146
+
147
+ vs = state.fetch(id) { view.initial_state }
148
+ vs = view.evolve(vs, event)
149
+
150
+ state.merge(id => vs)
151
+ end
152
+ end
153
+ end
135
154
  end
data/mise.toml ADDED
@@ -0,0 +1,17 @@
1
+ [env]
2
+ _.path = ["bin"]
3
+
4
+ [tools]
5
+ ruby = "4.0.2"
6
+
7
+ [tasks.test]
8
+ run = "bundle exec rake"
9
+ alias = "t"
10
+
11
+ [tasks.console]
12
+ run = "console"
13
+ alias = "c"
14
+
15
+ [tasks.release]
16
+ run = "bundle exec rake release"
17
+ alias = "r"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decide.rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Dudulski
@@ -75,17 +75,18 @@ files:
75
75
  - lib/decider/state.rb
76
76
  - lib/decider/version.rb
77
77
  - lib/decider/view.rb
78
+ - mise.toml
78
79
  - sig/decider.rbs
79
- homepage: https://github.com/jandudulski/decide.rb
80
+ homepage: https://github.com/jandudulski/decider
80
81
  licenses:
81
82
  - MIT
82
83
  metadata:
83
84
  allowed_push_host: https://rubygems.org
84
- bug_tracker_uri: https://github.com/jandudulski/decide.rb/issues
85
- changelog_uri: https://github.com/jandudulski/decide.rb/CHANGELOG.md
86
- documentation_uri: https://github.com/jandudulski/decide.rb
87
- homepage_uri: https://github.com/jandudulski/decide.rb
88
- source_code_uri: https://github.com/jandudulski/decide.rb
85
+ bug_tracker_uri: https://github.com/jandudulski/decider/issues
86
+ changelog_uri: https://github.com/jandudulski/decider/CHANGELOG.md
87
+ documentation_uri: https://github.com/jandudulski/decider
88
+ homepage_uri: https://github.com/jandudulski/decider
89
+ source_code_uri: https://github.com/jandudulski/decider
89
90
  rdoc_options: []
90
91
  require_paths:
91
92
  - lib
@@ -100,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
101
  - !ruby/object:Gem::Version
101
102
  version: '0'
102
103
  requirements: []
103
- rubygems_version: 3.6.9
104
+ rubygems_version: 4.0.6
104
105
  specification_version: 4
105
106
  summary: Functional Event Sourcing Decider in Ruby
106
107
  test_files: []