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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 7d836591fc7a86a288f8571e032ee400b2f0f54f
4
- data.tar.gz: 1b6d4c109b4ec5fb035b87c4187c25e4efc17019
2
+ SHA256:
3
+ metadata.gz: 661e5611a22d99946776683e385c4943f54cbee9b70b7f98783aed8b49bf814d
4
+ data.tar.gz: 348b20b819b88ee5cd44c9a034fab3fb8ddeca8582ab68b526e115a23d79d10e
5
5
  SHA512:
6
- metadata.gz: 3944504f6b1263b60382ea19422484372630907caaccebdb64adce3cd3bb13d73d55c96ba32874b14ff4b7c3872e44619a505722f74341776d7e10dca5fd1670
7
- data.tar.gz: 843de465105451cb798e027ab185b8d6316c9b2b4e805bad5a0acb0fafba6334776404e793e49bea554dd3839ba1cf02adf1db23a70d9fc0c7ea69f1502e1115
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. Commit your changes (`git commit -am 'Add some feature'`)
96
- 4. Push to the branch (`git push origin my-new-feature`)
97
- 5. Create a new Pull Request
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
@@ -1,3 +1,3 @@
1
1
  module Torm
2
- VERSION = '0.2.0'
2
+ VERSION = '0.2.1'
3
3
  end
@@ -1,4 +1,5 @@
1
1
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+
2
3
  require 'torm'
3
4
 
4
5
  require 'minitest/spec'
@@ -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
- tmp_file = 'tmp/atomic.test'
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 = '>= 2.1.0'
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', '~> 1.7'
29
- spec.add_development_dependency 'rake', '~> 10.0'
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.0
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: 2014-10-27 00:00:00.000000000 Z
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: '10.0'
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: '10.0'
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.0
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
- rubyforge_project:
111
- rubygems_version: 2.4.1
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: