dry-effects 0.1.4 → 0.1.5
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 +4 -4
- data/CHANGELOG.md +17 -9
- data/dry-effects.gemspec +27 -35
- data/lib/dry/effects/extensions.rb +8 -0
- data/lib/dry/effects/extensions/active_support/tagged_logging.rb +13 -0
- data/lib/dry/effects/version.rb +1 -1
- metadata +18 -47
- data/.codeclimate.yml +0 -12
- data/.github/ISSUE_TEMPLATE/----please-don-t-ask-for-support-via-issues.md +0 -10
- data/.github/ISSUE_TEMPLATE/---bug-report.md +0 -30
- data/.github/ISSUE_TEMPLATE/---feature-request.md +0 -18
- data/.github/workflows/ci.yml +0 -52
- data/.github/workflows/docsite.yml +0 -34
- data/.github/workflows/sync_configs.yml +0 -56
- data/.gitignore +0 -12
- data/.rspec +0 -4
- data/.rubocop.yml +0 -101
- data/CODE_OF_CONDUCT.md +0 -13
- data/CONTRIBUTING.md +0 -29
- data/Gemfile +0 -20
- data/Gemfile.devtools +0 -14
- data/Rakefile +0 -8
- data/docsite/source/effects.html.md +0 -29
- data/docsite/source/effects/cache.html.md +0 -84
- data/docsite/source/effects/current_time.html.md +0 -186
- data/docsite/source/effects/defer.html.md +0 -130
- data/docsite/source/effects/env.html.md +0 -144
- data/docsite/source/effects/interrupt.html.md +0 -109
- data/docsite/source/effects/parallel.html.md +0 -25
- data/docsite/source/effects/reader.html.md +0 -126
- data/docsite/source/effects/resolve.html.md +0 -188
- data/docsite/source/effects/state.html.md +0 -178
- data/docsite/source/effects/timeout.html.md +0 -44
- data/docsite/source/index.html.md +0 -212
- data/examples/cmp.rb +0 -51
- data/examples/state.rb +0 -29
- data/project.yml +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 54136f3755a4e11e553c0afaabce55a5566994988eae215c553bed29868b33ec
|
4
|
+
data.tar.gz: 1d01bd43fc5e9be72beec2b8754caf75313ba5c9b765c8740de21e3d01c00b21
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3f73d5618defff4f54656fa968c93cca50d9f9a47105500e3063bae2a8a9a78a64ec2b29638eaa3bfbeb1f98fc5ccf35862ab50f8dd8a24c75045f88daf59f68
|
7
|
+
data.tar.gz: 193b6ecc66f060765df8bb3e982bac4b5867e85114f840611a06f31451dcdb7a3d6f8d09137cf33ac36473530aa88848fad13e0f29c9df4fe96c1168d402c33d
|
data/CHANGELOG.md
CHANGED
@@ -1,14 +1,17 @@
|
|
1
|
-
|
1
|
+
## 0.1.4 2020-01-07
|
2
2
|
|
3
|
-
|
3
|
+
|
4
|
+
### Fixed
|
4
5
|
|
5
6
|
- Some calls of effect builders were updated to prevent keyword warnings on 2.7 (flash-gordon)
|
6
7
|
|
8
|
+
|
7
9
|
[Compare v0.1.3...v0.1.4](https://github.com/dry-rb/dry-effects/compare/v0.1.3...v0.1.4)
|
8
10
|
|
9
|
-
|
11
|
+
## 0.1.3 2019-12-20
|
10
12
|
|
11
|
-
|
13
|
+
|
14
|
+
### Added
|
12
15
|
|
13
16
|
- Options for the random provider. You can pass a `seed` or a proc that will be used to generate random values. It is expected the value returned from the proc is within the `0.0...1.0` range (flash-gordon)
|
14
17
|
```ruby
|
@@ -16,19 +19,23 @@
|
|
16
19
|
with_random(proc {|prev = 0.0| (prev + 0.1) % 1 }) { ... }
|
17
20
|
```
|
18
21
|
|
22
|
+
|
19
23
|
[Compare v0.1.2...v0.1.3](https://github.com/dry-rb/dry-effects/compare/v0.1.2...v0.1.3)
|
20
24
|
|
21
|
-
|
25
|
+
## 0.1.2 2019-12-15
|
22
26
|
|
23
|
-
|
27
|
+
|
28
|
+
### Fixed
|
24
29
|
|
25
30
|
- Keyword warnings issued by Ruby 2.7 (flash-gordon)
|
26
31
|
|
32
|
+
|
27
33
|
[Compare v0.1.1...v0.1.2](https://github.com/dry-rb/dry-effects/compare/v0.1.1...v0.1.2)
|
28
34
|
|
29
|
-
|
35
|
+
## 0.1.1 2019-11-30
|
30
36
|
|
31
|
-
|
37
|
+
|
38
|
+
### Added
|
32
39
|
|
33
40
|
- Extension for RSpec. Some features of RSpec require access to thread-local storage. This extension patches RSpec so that storage is shared between the root fiber and dry-effects context (flash-gordon)
|
34
41
|
|
@@ -39,8 +46,9 @@
|
|
39
46
|
Dry::Effects.load_extensions(:rspec)
|
40
47
|
```
|
41
48
|
|
49
|
+
|
42
50
|
[Compare v0.1.0...v0.1.1](https://github.com/dry-rb/dry-effects/compare/v0.1.0...v0.1.1)
|
43
51
|
|
44
|
-
|
52
|
+
## 0.1.0 2019-09-28
|
45
53
|
|
46
54
|
Initial release.
|
data/dry-effects.gemspec
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
# this file is managed by dry-rb/devtools project
|
2
3
|
|
3
4
|
lib = File.expand_path('lib', __dir__)
|
4
5
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
@@ -6,44 +7,35 @@ require 'dry/effects/version'
|
|
6
7
|
|
7
8
|
Gem::Specification.new do |spec|
|
8
9
|
spec.name = 'dry-effects'
|
9
|
-
spec.
|
10
|
-
spec.
|
11
|
-
spec.
|
10
|
+
spec.authors = ["Nikita Shilnikov"]
|
11
|
+
spec.email = ["fg@flashgordon.ru"]
|
12
|
+
spec.license = 'MIT'
|
13
|
+
spec.version = Dry::Effects::VERSION.dup
|
12
14
|
|
13
|
-
spec.summary =
|
15
|
+
spec.summary = "Algebraic effects"
|
14
16
|
spec.description = spec.summary
|
15
|
-
spec.homepage = 'https://
|
16
|
-
spec.
|
17
|
+
spec.homepage = 'https://dry-rb.org/gems/dry-effects'
|
18
|
+
spec.files = Dir["CHANGELOG.md", "LICENSE", "README.md", "dry-effects.gemspec", "lib/**/*"]
|
19
|
+
spec.bindir = 'bin'
|
20
|
+
spec.executables = []
|
21
|
+
spec.require_paths = ['lib']
|
17
22
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
spec.metadata['homepage_uri'] = spec.homepage
|
23
|
-
spec.metadata['source_code_uri'] = 'https://github.com/dry-rb/dry-effects'
|
24
|
-
spec.metadata['bug_tracker_uri'] = 'https://github.com/dry-rb/dry-effects/issues'
|
25
|
-
else
|
26
|
-
raise 'RubyGems 2.0 or newer is required to protect against ' \
|
27
|
-
'public gem pushes.'
|
28
|
-
end
|
23
|
+
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
24
|
+
spec.metadata['changelog_uri'] = 'https://github.com/dry-rb/dry-effects/blob/master/CHANGELOG.md'
|
25
|
+
spec.metadata['source_code_uri'] = 'https://github.com/dry-rb/dry-effects'
|
26
|
+
spec.metadata['bug_tracker_uri'] = 'https://github.com/dry-rb/dry-effects/issues'
|
29
27
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
spec.
|
36
|
-
spec.
|
37
|
-
spec.
|
38
|
-
spec.
|
28
|
+
spec.required_ruby_version = ">= 2.4.0"
|
29
|
+
|
30
|
+
# to update dependencies edit project.yml
|
31
|
+
spec.add_runtime_dependency "concurrent-ruby", "~> 1.0"
|
32
|
+
spec.add_runtime_dependency "dry-container", "~> 0.7", ">= 0.7.2"
|
33
|
+
spec.add_runtime_dependency "dry-core", "~> 0.4", ">= 0.4.7"
|
34
|
+
spec.add_runtime_dependency "dry-equalizer", "~> 0.2", ">= 0.2.2"
|
35
|
+
spec.add_runtime_dependency "dry-inflector", "~> 0.1", ">= 0.1.2"
|
36
|
+
spec.add_runtime_dependency "dry-initializer", "~> 3.0"
|
39
37
|
|
40
|
-
spec.
|
41
|
-
spec.
|
42
|
-
spec.
|
43
|
-
spec.add_runtime_dependency 'dry-equalizer', '~> 0.2', '>= 0.2.2'
|
44
|
-
spec.add_runtime_dependency 'dry-inflector', '~> 0.1', '>= 0.1.2'
|
45
|
-
spec.add_runtime_dependency 'dry-initializer', '~> 3.0'
|
46
|
-
spec.add_development_dependency 'bundler'
|
47
|
-
spec.add_development_dependency 'rake', '~> 10.0'
|
48
|
-
spec.add_development_dependency 'rspec', '~> 3.0'
|
38
|
+
spec.add_development_dependency "bundler"
|
39
|
+
spec.add_development_dependency "rake"
|
40
|
+
spec.add_development_dependency "rspec"
|
49
41
|
end
|
@@ -15,3 +15,11 @@ end
|
|
15
15
|
Dry::Effects.register_extension(:rspec) do
|
16
16
|
require 'dry/effects/extensions/rspec'
|
17
17
|
end
|
18
|
+
|
19
|
+
Dry::Effects.register_extension(:active_support_tagged_logging) do
|
20
|
+
require 'dry/effects/extensions/active_support/tagged_logging'
|
21
|
+
end
|
22
|
+
|
23
|
+
Dry::Effects.register_extension(:active_support) do
|
24
|
+
Dry::Effects.load_extensions(:active_support_tagged_logging)
|
25
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'active_support/tagged_logging'
|
4
|
+
|
5
|
+
ActiveSupport::TaggedLogging::Formatter.prepend(Module.new {
|
6
|
+
def current_tags
|
7
|
+
thread_key = @thread_key ||= "activesupport_tagged_logging_tags:#{object_id}"
|
8
|
+
unless Thread.current.thread_variable_get(thread_key)
|
9
|
+
Thread.current.thread_variable_set(thread_key, [])
|
10
|
+
end
|
11
|
+
Thread.current.thread_variable_get(thread_key)
|
12
|
+
end
|
13
|
+
})
|
data/lib/dry/effects/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dry-effects
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nikita Shilnikov
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|
@@ -136,70 +136,41 @@ dependencies:
|
|
136
136
|
name: rake
|
137
137
|
requirement: !ruby/object:Gem::Requirement
|
138
138
|
requirements:
|
139
|
-
- - "
|
139
|
+
- - ">="
|
140
140
|
- !ruby/object:Gem::Version
|
141
|
-
version: '
|
141
|
+
version: '0'
|
142
142
|
type: :development
|
143
143
|
prerelease: false
|
144
144
|
version_requirements: !ruby/object:Gem::Requirement
|
145
145
|
requirements:
|
146
|
-
- - "
|
146
|
+
- - ">="
|
147
147
|
- !ruby/object:Gem::Version
|
148
|
-
version: '
|
148
|
+
version: '0'
|
149
149
|
- !ruby/object:Gem::Dependency
|
150
150
|
name: rspec
|
151
151
|
requirement: !ruby/object:Gem::Requirement
|
152
152
|
requirements:
|
153
|
-
- - "
|
153
|
+
- - ">="
|
154
154
|
- !ruby/object:Gem::Version
|
155
|
-
version: '
|
155
|
+
version: '0'
|
156
156
|
type: :development
|
157
157
|
prerelease: false
|
158
158
|
version_requirements: !ruby/object:Gem::Requirement
|
159
159
|
requirements:
|
160
|
-
- - "
|
160
|
+
- - ">="
|
161
161
|
- !ruby/object:Gem::Version
|
162
|
-
version: '
|
163
|
-
description: Algebraic effects
|
162
|
+
version: '0'
|
163
|
+
description: Algebraic effects
|
164
164
|
email:
|
165
165
|
- fg@flashgordon.ru
|
166
166
|
executables: []
|
167
167
|
extensions: []
|
168
168
|
extra_rdoc_files: []
|
169
169
|
files:
|
170
|
-
- ".codeclimate.yml"
|
171
|
-
- ".github/ISSUE_TEMPLATE/----please-don-t-ask-for-support-via-issues.md"
|
172
|
-
- ".github/ISSUE_TEMPLATE/---bug-report.md"
|
173
|
-
- ".github/ISSUE_TEMPLATE/---feature-request.md"
|
174
|
-
- ".github/workflows/ci.yml"
|
175
|
-
- ".github/workflows/docsite.yml"
|
176
|
-
- ".github/workflows/sync_configs.yml"
|
177
|
-
- ".gitignore"
|
178
|
-
- ".rspec"
|
179
|
-
- ".rubocop.yml"
|
180
170
|
- CHANGELOG.md
|
181
|
-
- CODE_OF_CONDUCT.md
|
182
|
-
- CONTRIBUTING.md
|
183
|
-
- Gemfile
|
184
|
-
- Gemfile.devtools
|
185
171
|
- LICENSE
|
186
172
|
- README.md
|
187
|
-
- Rakefile
|
188
|
-
- docsite/source/effects.html.md
|
189
|
-
- docsite/source/effects/cache.html.md
|
190
|
-
- docsite/source/effects/current_time.html.md
|
191
|
-
- docsite/source/effects/defer.html.md
|
192
|
-
- docsite/source/effects/env.html.md
|
193
|
-
- docsite/source/effects/interrupt.html.md
|
194
|
-
- docsite/source/effects/parallel.html.md
|
195
|
-
- docsite/source/effects/reader.html.md
|
196
|
-
- docsite/source/effects/resolve.html.md
|
197
|
-
- docsite/source/effects/state.html.md
|
198
|
-
- docsite/source/effects/timeout.html.md
|
199
|
-
- docsite/source/index.html.md
|
200
173
|
- dry-effects.gemspec
|
201
|
-
- examples/cmp.rb
|
202
|
-
- examples/state.rb
|
203
174
|
- lib/dry/effects.rb
|
204
175
|
- lib/dry/effects/all.rb
|
205
176
|
- lib/dry/effects/constructors.rb
|
@@ -225,6 +196,7 @@ files:
|
|
225
196
|
- lib/dry/effects/effects/timestamp.rb
|
226
197
|
- lib/dry/effects/errors.rb
|
227
198
|
- lib/dry/effects/extensions.rb
|
199
|
+
- lib/dry/effects/extensions/active_support/tagged_logging.rb
|
228
200
|
- lib/dry/effects/extensions/auto_inject.rb
|
229
201
|
- lib/dry/effects/extensions/rspec.rb
|
230
202
|
- lib/dry/effects/extensions/system.rb
|
@@ -259,13 +231,12 @@ files:
|
|
259
231
|
- lib/dry/effects/providers/timestamp.rb
|
260
232
|
- lib/dry/effects/stack.rb
|
261
233
|
- lib/dry/effects/version.rb
|
262
|
-
-
|
263
|
-
homepage: https://github.com/dry-rb/dry-effects
|
234
|
+
homepage: https://dry-rb.org/gems/dry-effects
|
264
235
|
licenses:
|
265
236
|
- MIT
|
266
237
|
metadata:
|
267
238
|
allowed_push_host: https://rubygems.org
|
268
|
-
|
239
|
+
changelog_uri: https://github.com/dry-rb/dry-effects/blob/master/CHANGELOG.md
|
269
240
|
source_code_uri: https://github.com/dry-rb/dry-effects
|
270
241
|
bug_tracker_uri: https://github.com/dry-rb/dry-effects/issues
|
271
242
|
post_install_message:
|
@@ -276,15 +247,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
276
247
|
requirements:
|
277
248
|
- - ">="
|
278
249
|
- !ruby/object:Gem::Version
|
279
|
-
version:
|
250
|
+
version: 2.4.0
|
280
251
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
281
252
|
requirements:
|
282
253
|
- - ">="
|
283
254
|
- !ruby/object:Gem::Version
|
284
255
|
version: '0'
|
285
256
|
requirements: []
|
286
|
-
rubygems_version: 3.
|
257
|
+
rubygems_version: 3.0.3
|
287
258
|
signing_key:
|
288
259
|
specification_version: 4
|
289
|
-
summary: Algebraic effects
|
260
|
+
summary: Algebraic effects
|
290
261
|
test_files: []
|
data/.codeclimate.yml
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
---
|
2
|
-
name: "\U0001F41B Bug report"
|
3
|
-
about: See CONTRIBUTING.md for more information
|
4
|
-
title: ''
|
5
|
-
labels: bug
|
6
|
-
assignees: ''
|
7
|
-
|
8
|
-
---
|
9
|
-
|
10
|
-
**Before you submit this: WE ONLY ACCEPT BUG REPORTS AND FEATURE REQUESTS**
|
11
|
-
|
12
|
-
For more information see `CONTRIBUTING.md`.
|
13
|
-
|
14
|
-
**Describe the bug**
|
15
|
-
|
16
|
-
A clear and concise description of what the bug is.
|
17
|
-
|
18
|
-
**To Reproduce**
|
19
|
-
|
20
|
-
Provide detailed steps to reproduce, an executable script would be best.
|
21
|
-
|
22
|
-
**Expected behavior**
|
23
|
-
|
24
|
-
A clear and concise description of what you expected to happen.
|
25
|
-
|
26
|
-
**Your environment**
|
27
|
-
|
28
|
-
- Affects my production application: **YES/NO**
|
29
|
-
- Ruby version: ...
|
30
|
-
- OS: ...
|
@@ -1,18 +0,0 @@
|
|
1
|
-
---
|
2
|
-
name: "\U0001F6E0 Feature request"
|
3
|
-
about: See CONTRIBUTING.md for more information
|
4
|
-
title: ''
|
5
|
-
labels: feature
|
6
|
-
assignees: ''
|
7
|
-
|
8
|
-
---
|
9
|
-
|
10
|
-
Summary of what the feature is supposed to do.
|
11
|
-
|
12
|
-
## Examples
|
13
|
-
|
14
|
-
Code examples showing how the feature could be used.
|
15
|
-
|
16
|
-
## Resources
|
17
|
-
|
18
|
-
Additional information, like a link to the discussion forum thread where the feature was discussed etc.
|
data/.github/workflows/ci.yml
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
# this file is managed by dry-rb/devtools project
|
2
|
-
|
3
|
-
name: ci
|
4
|
-
|
5
|
-
on:
|
6
|
-
push:
|
7
|
-
paths:
|
8
|
-
- .github/workflows/ci.yml
|
9
|
-
- lib/**
|
10
|
-
- spec/**
|
11
|
-
- Rakefile
|
12
|
-
- Gemfile
|
13
|
-
- Gemfile.devtools
|
14
|
-
- "*.gemspec"
|
15
|
-
- ".rubocop.yml"
|
16
|
-
pull_request:
|
17
|
-
branches:
|
18
|
-
- master
|
19
|
-
|
20
|
-
jobs:
|
21
|
-
tests:
|
22
|
-
runs-on: ubuntu-latest
|
23
|
-
strategy:
|
24
|
-
fail-fast: false
|
25
|
-
matrix:
|
26
|
-
ruby:
|
27
|
-
- "2.7"
|
28
|
-
- "2.6"
|
29
|
-
- "2.5"
|
30
|
-
- "2.4"
|
31
|
-
- "jruby"
|
32
|
-
include:
|
33
|
-
- ruby: "2.6"
|
34
|
-
coverage: "true"
|
35
|
-
steps:
|
36
|
-
- uses: actions/checkout@v1
|
37
|
-
- name: Set up Ruby
|
38
|
-
uses: eregon/use-ruby-action@master
|
39
|
-
with:
|
40
|
-
ruby-version: ${{matrix.ruby}}
|
41
|
-
- name: Install latest bundler
|
42
|
-
run: |
|
43
|
-
gem install bundler
|
44
|
-
bundle config set without 'tools benchmarks docs'
|
45
|
-
- name: Bundle install
|
46
|
-
run: bundle install --jobs 4 --retry 3
|
47
|
-
- name: Run all tests
|
48
|
-
env:
|
49
|
-
COVERAGE: ${{matrix.coverage}}
|
50
|
-
CODACY_RUN_LOCAL: true
|
51
|
-
CODACY_PROJECT_TOKEN: ${{secrets.CODACY_PROJECT_TOKEN}}
|
52
|
-
run: bundle exec rake
|