torm 0.2.0 → 0.2.1
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 +5 -5
- data/.github/dependabot.yml +15 -0
- data/Changelog.md +38 -0
- data/README.md +12 -3
- data/lib/torm/version.rb +1 -1
- data/test/minitest_helper.rb +1 -0
- data/test/torm/tools_test.rb +6 -3
- data/torm.gemspec +4 -4
- metadata +24 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 661e5611a22d99946776683e385c4943f54cbee9b70b7f98783aed8b49bf814d
|
4
|
+
data.tar.gz: 348b20b819b88ee5cd44c9a034fab3fb8ddeca8582ab68b526e115a23d79d10e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 01e7fd736289b7c90daea666c7dca8676d2995057b72a69ce442910c9ed7b1f7aef4e0b490a1919d267530425d4615b7c763e780c90ef51988b780e0bf18c94e
|
7
|
+
data.tar.gz: 1519eaff8223109adb778048607a2357cb6a87c99b38fbdad894a7099f4bb3cecae1c2ca5334382be0f4881a394bcb4d1bb49b70ee50cf02d772b93fde1c8845
|
@@ -0,0 +1,15 @@
|
|
1
|
+
version: 2
|
2
|
+
updates:
|
3
|
+
- package-ecosystem: bundler
|
4
|
+
directory: "/"
|
5
|
+
schedule:
|
6
|
+
interval: weekly
|
7
|
+
time: "04:00"
|
8
|
+
timezone: Europe/Amsterdam
|
9
|
+
allow:
|
10
|
+
- dependency-type: direct
|
11
|
+
- dependency-type: indirect
|
12
|
+
ignore:
|
13
|
+
- dependency-name: bundler
|
14
|
+
versions:
|
15
|
+
- ">= 2.a, < 3"
|
data/Changelog.md
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## Version 0.3.0 (dev)
|
4
|
+
|
5
|
+
## Version 0.2.1
|
6
|
+
|
7
|
+
This version was in "development" between 2014 and 2021.
|
8
|
+
It works until Ruby 2.7 (with some keyword argument warnings).
|
9
|
+
The next version will have stricter (read: more modern) version requirements.
|
10
|
+
|
11
|
+
- Setup integration with CodeShip and CodeClimate (8121572)
|
12
|
+
- Test improvement for CI: use an absolute file path for tmp (4b6a602)
|
13
|
+
- Another CI fix: don't create a tmp dir if it already exists (ff4fcf5)
|
14
|
+
- CI fix 3: create the tmp dir if missing, but don't remove it (91ac06b)
|
15
|
+
- Out with CodeClimate (422ff63)
|
16
|
+
- Update rake requirement from ~> 10.0 to ~> 12.3 (9fab297)
|
17
|
+
- Merge pull request #2 from Narnach/dependabot/bundler/rake-tw-12.3 (66f0cf2)
|
18
|
+
- Upgrade to GitHub-native Dependabot (ae0c433)
|
19
|
+
- Merge pull request #4 from Narnach/dependabot/add-v2-config-file (6902616)
|
20
|
+
- Refactor: pinned version restrictions (69bc23f)
|
21
|
+
- Updated readme (7efca80)
|
22
|
+
- Release: version increased to 0.2.1 (c4c9421)
|
23
|
+
|
24
|
+
## Version 0.2.0
|
25
|
+
|
26
|
+
- More YARDoc for RulesEngine#add_rule and #add_rules (3431075)
|
27
|
+
- Added a block syntax to define common conditions for adding rules (0319794)
|
28
|
+
- Nesting conditions blocks merges conditions as expected (393c4c9)
|
29
|
+
- Readme update with conditions syntax (6413852)
|
30
|
+
- Version bump to 0.2.0 (a1a1421)
|
31
|
+
|
32
|
+
## Version 0.1.0
|
33
|
+
|
34
|
+
- Added a note on semantic versioning (a106391)
|
35
|
+
- Added YARDoc method signatures, did more cleaning up of Torm::RulesEngine (f47b802)
|
36
|
+
- Updated readme example to showcase Torm.set_defaults and Torm.instance (5eb0b4e)
|
37
|
+
- Introduced RulesEngine#add_rules syntax with a block (5345f3c)
|
38
|
+
- Version 0.1.0 (a4a5127)
|
data/README.md
CHANGED
@@ -77,6 +77,14 @@ engine.decide('Happy', country: 'NL') # => true
|
|
77
77
|
* We gather all rules, then filter irrelevant rules based on environment conditions
|
78
78
|
* Because rules are stored in order of priority, the first rule remaining is the one that applies the best.
|
79
79
|
|
80
|
+
## Development / testing
|
81
|
+
|
82
|
+
This project uses minitest. Local development:
|
83
|
+
|
84
|
+
* Checkout the project
|
85
|
+
* `bundle install` to install all development gems.
|
86
|
+
* `rake test` to run the tests.
|
87
|
+
|
80
88
|
## Versioning
|
81
89
|
|
82
90
|
Torm tries to follow Semantic Versioning 2.0.0, this means that given a version number MAJOR.MINOR.PATCH, it will increment the:
|
@@ -92,6 +100,7 @@ In this case, treat MINOR version changes as a sign to check the changelog for b
|
|
92
100
|
|
93
101
|
1. Fork it ( https://github.com/narnach/torm/fork )
|
94
102
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
95
|
-
3.
|
96
|
-
4.
|
97
|
-
5.
|
103
|
+
3. Write code. Don't forget to write tests and run all tests!
|
104
|
+
4. Commit your changes (`git commit -am 'Add some feature'`)
|
105
|
+
5. Push to the branch (`git push origin my-new-feature`)
|
106
|
+
6. Create a new Pull Request
|
data/lib/torm/version.rb
CHANGED
data/test/minitest_helper.rb
CHANGED
data/test/torm/tools_test.rb
CHANGED
@@ -3,14 +3,17 @@ require 'minitest_helper'
|
|
3
3
|
# This module is included in Torm, so we use that to test its behavior.
|
4
4
|
describe Torm::Tools do
|
5
5
|
describe '#atomic_save' do
|
6
|
-
|
6
|
+
tmp_dir = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'tmp'))
|
7
|
+
tmp_file = "#{tmp_dir}/atomic.test"
|
8
|
+
before do
|
9
|
+
Dir.mkdir(tmp_dir) unless File.exist?(tmp_dir)
|
10
|
+
end
|
11
|
+
|
7
12
|
after do
|
8
13
|
File.delete(tmp_file) if File.exist?(tmp_file)
|
9
|
-
Dir.delete('tmp') if File.exist?('tmp')
|
10
14
|
end
|
11
15
|
|
12
16
|
it 'should save data to a file' do
|
13
|
-
Dir.mkdir('tmp')
|
14
17
|
Torm.atomic_save(tmp_file, 'test')
|
15
18
|
assert File.exist?(tmp_file)
|
16
19
|
File.read(tmp_file).must_equal 'test'
|
data/torm.gemspec
CHANGED
@@ -19,13 +19,13 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
21
|
# Ruby 2.1 introduces required named keywords
|
22
|
-
spec.required_ruby_version = '
|
22
|
+
spec.required_ruby_version = '~> 2.1'
|
23
23
|
|
24
24
|
# MultiJson follow Semantic Versioning, so any 1.x should work.
|
25
25
|
spec.add_dependency 'multi_json', '~> 1.0'
|
26
26
|
|
27
27
|
# Defaults from generating the gemspec
|
28
|
-
spec.add_development_dependency 'bundler', '
|
29
|
-
spec.add_development_dependency 'rake', '~>
|
30
|
-
spec.add_development_dependency 'minitest'
|
28
|
+
spec.add_development_dependency 'bundler', '>= 1.7', '< 3.0'
|
29
|
+
spec.add_development_dependency 'rake', '~> 12.3'
|
30
|
+
spec.add_development_dependency 'minitest', '~> 4.0'
|
31
31
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: torm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wes Oldenbeuving
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|
@@ -28,44 +28,50 @@ dependencies:
|
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.7'
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '3.0'
|
34
37
|
type: :development
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
38
|
-
- - "
|
41
|
+
- - ">="
|
39
42
|
- !ruby/object:Gem::Version
|
40
43
|
version: '1.7'
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '3.0'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: rake
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
44
50
|
requirements:
|
45
51
|
- - "~>"
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
53
|
+
version: '12.3'
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
51
57
|
requirements:
|
52
58
|
- - "~>"
|
53
59
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
60
|
+
version: '12.3'
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
62
|
name: minitest
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
58
64
|
requirements:
|
59
|
-
- - "
|
65
|
+
- - "~>"
|
60
66
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
67
|
+
version: '4.0'
|
62
68
|
type: :development
|
63
69
|
prerelease: false
|
64
70
|
version_requirements: !ruby/object:Gem::Requirement
|
65
71
|
requirements:
|
66
|
-
- - "
|
72
|
+
- - "~>"
|
67
73
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
74
|
+
version: '4.0'
|
69
75
|
description: Rules engine. Named after the Forgotten Realms god of Law.
|
70
76
|
email:
|
71
77
|
- narnach@gmail.com
|
@@ -73,8 +79,10 @@ executables: []
|
|
73
79
|
extensions: []
|
74
80
|
extra_rdoc_files: []
|
75
81
|
files:
|
82
|
+
- ".github/dependabot.yml"
|
76
83
|
- ".gitignore"
|
77
84
|
- ".travis.yml"
|
85
|
+
- Changelog.md
|
78
86
|
- Gemfile
|
79
87
|
- LICENSE.txt
|
80
88
|
- README.md
|
@@ -92,24 +100,23 @@ homepage: ''
|
|
92
100
|
licenses:
|
93
101
|
- MIT
|
94
102
|
metadata: {}
|
95
|
-
post_install_message:
|
103
|
+
post_install_message:
|
96
104
|
rdoc_options: []
|
97
105
|
require_paths:
|
98
106
|
- lib
|
99
107
|
required_ruby_version: !ruby/object:Gem::Requirement
|
100
108
|
requirements:
|
101
|
-
- - "
|
109
|
+
- - "~>"
|
102
110
|
- !ruby/object:Gem::Version
|
103
|
-
version: 2.1
|
111
|
+
version: '2.1'
|
104
112
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
113
|
requirements:
|
106
114
|
- - ">="
|
107
115
|
- !ruby/object:Gem::Version
|
108
116
|
version: '0'
|
109
117
|
requirements: []
|
110
|
-
|
111
|
-
|
112
|
-
signing_key:
|
118
|
+
rubygems_version: 3.1.4
|
119
|
+
signing_key:
|
113
120
|
specification_version: 4
|
114
121
|
summary: Ruby rules engine
|
115
122
|
test_files:
|