tiered_category_expressions 0.2.0 → 0.3.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
- SHA1:
3
- metadata.gz: f0f9c42ee667e337270f971d95cc4dccb1592225
4
- data.tar.gz: 665b8e13ae7e67176d111f0879a8705a5e598fb2
2
+ SHA256:
3
+ metadata.gz: 9ac6214a3dfb2749c9257aa613e50769f52300ce5575b6abaee93e72fbbf7211
4
+ data.tar.gz: 5974153a9628f5af2f5150641f89e1e92ba9c34e9a82cf94b1bff676b9250e89
5
5
  SHA512:
6
- metadata.gz: c31e3b5c6595d2be8abc3df8a13b29a7d5c0079aef2e7ed74d8a3b26e3475ca5a62106e9a4c1cf90a43052197d4ed1a1fb90abe8dd8cbc5d4806c5795b4e6afc
7
- data.tar.gz: 0b7b3f3ffc5e589341f2a92568b565ee6ba5de499bec30a42d861c3366ff76c8b8ea1d671dd68e3c72d0d29d92926bd78d73a6e63a35928278994de933104576
6
+ metadata.gz: 650310edc447e6449185ea5e29758144bc1144006fdb3d69bdf6d421554fe27980b5725669813c2d6595f2d4a60850911319ba8be280f0210a9ba019b647f97b
7
+ data.tar.gz: 959601a68c6762110177bd954b044b95de5a4d62a3f2f6b4212d1ad3bcca2d13986d28fb118d7d712fbfba99ca4e9b14dbb52994441542e0a57ad8caac1dda17
@@ -0,0 +1,54 @@
1
+ # This configures how Dependabot presents us with dependency updates.
2
+ #
3
+ # Security updates are by definition urgent and bypass this configuration. They are offered as soon as available.
4
+ # Regular updates are offered based on the schedule defined here
5
+ #
6
+ # Docs: https://docs.github.com/en/github/administering-a-repository/keeping-your-dependencies-updated-automatically
7
+ # Config options: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#configuration-options-for-the-dependabotyml-file
8
+ #
9
+ # Choice: update on Tuesday
10
+ #
11
+ # A lot of open source updates happen in the weekend.
12
+ # A lot of companies apply these updates on Monday and discover bugs. Critical bugs will get fixed within 24h.
13
+ # Waiting until Tuesday to update likely results in slightly more stable updates than Monday.
14
+ #
15
+ #
16
+ # Choice: update a few small dependencies each week, to keep the time investment small (max 1h)
17
+ #
18
+ # Making a small, continuous effort to stay up-to-date is more important than always being on the bleeding edge.
19
+ # Dependabot updates are intended for the low-hanging fruit.
20
+ #
21
+ #
22
+ # Choice: major updates (such as Rails) don't have to be applied this way
23
+ #
24
+ # Updates that don't apply cleanly can be ignored. Just turn them into a Maintenance Issue so someone can pick it up later.
25
+
26
+ version: 2
27
+ updates:
28
+ # GitHub Actions
29
+ - package-ecosystem: github-actions
30
+ directory: '/'
31
+ open-pull-requests-limit: 5
32
+ schedule:
33
+ interval: weekly
34
+ day: tuesday
35
+ time: "07:00"
36
+ timezone: "Europe/Amsterdam"
37
+ pull-request-branch-name:
38
+ separator: "-"
39
+ reviewers:
40
+ - "wvengen"
41
+
42
+ # Ruby gems
43
+ - package-ecosystem: bundler
44
+ directory: '/'
45
+ open-pull-requests-limit: 5
46
+ schedule:
47
+ interval: weekly
48
+ day: tuesday
49
+ time: "07:00"
50
+ timezone: "Europe/Amsterdam"
51
+ pull-request-branch-name:
52
+ separator: "-"
53
+ reviewers:
54
+ - "wvengen"
@@ -0,0 +1,29 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ pull_request:
9
+
10
+ jobs:
11
+ build:
12
+ runs-on: ubuntu-latest
13
+ name: On Ruby ${{ matrix.ruby }}
14
+ strategy:
15
+ matrix:
16
+ ruby:
17
+ - '2.7.6'
18
+ - '3.0.4'
19
+ - '3.1.2'
20
+
21
+ steps:
22
+ - uses: actions/checkout@v3
23
+ - name: Set up Ruby
24
+ uses: ruby/setup-ruby@v1
25
+ with:
26
+ ruby-version: ${{ matrix.ruby }}
27
+ bundler-cache: true
28
+ - name: Run the CI task, which runs tests, rubocop and builds the gem
29
+ run: bundle exec rake ci
data/Gemfile CHANGED
@@ -1,4 +1,19 @@
1
- source 'https://rubygems.org'
1
+ # frozen_string_literal: true
2
2
 
3
- # Specify your gem's dependencies in tiered_category_expressions.gemspec
3
+ source "https://rubygems.org"
4
+
5
+ # Specify your gem's runtime dependencies in questionmark-barcodes.gemspec
4
6
  gemspec
7
+
8
+ #
9
+ # These dependencies are only used for development.
10
+ #
11
+
12
+ # Rake wraps common tasks such as running tools and generating releases
13
+ gem "rake", "~> 13.0"
14
+
15
+ # RSpec is our test framework
16
+ gem "rspec", "~> 3.12"
17
+
18
+ # Documentation
19
+ gem "yard", "~> 0.9.34"
data/LANGREF.md CHANGED
@@ -28,7 +28,7 @@ When a TCE is matched with a category:
28
28
  - Letter case is ignored, e.g. both "NONFOOD" and "NonFood" match "nonfood" and vice versa.
29
29
  - Everything other than alphabetic and numeric characters (including spaces) is ignored, e.g. "nonfood" matches both "non-food" and "non food".
30
30
  - Accents are ignored, e.g. "knäckebröd" matches "knackebrod" and vice versa.
31
- - It matches a _subtree_ of categories, e.g. the TCE `"nonfood"` matches the category `["Nonfood"]` as well as `["Nonfood", "Schoonmaak", "Soda"]`.
31
+ - By default it matches a _subtree_ of categories, e.g. the TCE `"nonfood"` matches the category `["Nonfood"]` as well as `["Nonfood", "Schoonmaak", "Soda"]`.
32
32
 
33
33
  Even though they are ignored, tier names in TCEs may contain spaces, upper and lowercase characters and accented characters. To the contrary, they **cannot** contain special characters.
34
34
 
data/README.md CHANGED
@@ -1,4 +1,6 @@
1
- <img src="https://travis-ci.com/q-m/tiered_category_expressions.svg?branch=master" align="right" />
1
+ <div style="float: right">
2
+ <a href="https://badge.fury.io/rb/tiered_category_expressions"><img src="https://badge.fury.io/rb/tiered_category_expressions.svg" alt="Rubygem" height="18" /></a>
3
+ </div>
2
4
 
3
5
  # Tiered Category Expressions
4
6
 
@@ -36,6 +38,7 @@ require 'tiered_category_expressions/core'
36
38
 
37
39
  - [Library documentation](https://www.rubydoc.info/gems/tiered_category_expressions/)
38
40
  - [TCE language reference](https://www.rubydoc.info/gems/tiered_category_expressions/file/LANGREF.md)
41
+ - [Introductory blogpost](https://developers.thequestionmark.org/2019/07/24/pattern-matching-expert-system-classification)
39
42
 
40
43
  ## Usage examples
41
44
 
data/Rakefile CHANGED
@@ -1,9 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Disable pushing the gem to rubygems
4
+ # Source: https://github.com/rubygems/rubygems/blob/master/bundler/lib/bundler/gem_helper.rb#L231
5
+ ENV["gem_push"] = "no"
6
+
1
7
  require "bundler/gem_tasks"
2
8
  require "rspec/core/rake_task"
3
9
 
4
10
  RSpec::Core::RakeTask.new(:spec)
5
11
 
6
- task :default => :spec
12
+ desc "Run all tasks required to pass CI"
13
+ task ci: %i[spec build]
7
14
 
8
15
  namespace :docs do
9
16
  desc "Build the YARD documentation"
@@ -20,3 +27,5 @@ end
20
27
 
21
28
  desc "Build and view the YARD documentation"
22
29
  task :docs => ["docs:build", "docs:view"]
30
+
31
+ task default: %i[ci]
@@ -1,3 +1,3 @@
1
1
  module TieredCategoryExpressions
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -29,10 +29,5 @@ Gem::Specification.new do |spec|
29
29
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
30
30
  spec.require_paths = ["lib"]
31
31
 
32
- spec.add_development_dependency "bundler", "~> 1.13"
33
- spec.add_development_dependency "rake", "~> 10.0"
34
- spec.add_development_dependency "rspec", "~> 3.0"
35
- spec.add_development_dependency "pry"
36
- spec.add_development_dependency "pry-coolline"
37
- spec.add_runtime_dependency "parslet", "~> 1.8"
32
+ spec.add_runtime_dependency "parslet", "~> 2.0"
38
33
  end
metadata CHANGED
@@ -1,99 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tiered_category_expressions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sjoerd Andringa
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-05-28 00:00:00.000000000 Z
11
+ date: 2023-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.13'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.13'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '10.0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '10.0'
41
- - !ruby/object:Gem::Dependency
42
- name: rspec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '3.0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '3.0'
55
- - !ruby/object:Gem::Dependency
56
- name: pry
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: pry-coolline
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
13
  - !ruby/object:Gem::Dependency
84
14
  name: parslet
85
15
  requirement: !ruby/object:Gem::Requirement
86
16
  requirements:
87
17
  - - "~>"
88
18
  - !ruby/object:Gem::Version
89
- version: '1.8'
19
+ version: '2.0'
90
20
  type: :runtime
91
21
  prerelease: false
92
22
  version_requirements: !ruby/object:Gem::Requirement
93
23
  requirements:
94
24
  - - "~>"
95
25
  - !ruby/object:Gem::Version
96
- version: '1.8'
26
+ version: '2.0'
97
27
  description:
98
28
  email:
99
29
  - sjoerd@thequestionmark.org
@@ -101,10 +31,11 @@ executables: []
101
31
  extensions: []
102
32
  extra_rdoc_files: []
103
33
  files:
34
+ - ".github/dependabot.yml"
35
+ - ".github/workflows/main.yml"
104
36
  - ".gitignore"
105
37
  - ".rspec"
106
38
  - ".ruby-version"
107
- - ".travis.yml"
108
39
  - ".yardopts"
109
40
  - Gemfile
110
41
  - LANGREF.md
@@ -148,8 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
148
79
  - !ruby/object:Gem::Version
149
80
  version: '0'
150
81
  requirements: []
151
- rubyforge_project:
152
- rubygems_version: 2.6.14.3
82
+ rubygems_version: 3.1.6
153
83
  signing_key:
154
84
  specification_version: 4
155
85
  summary: Tiered category expressions
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.4.5
5
- before_install: gem install bundler -v 1.13.6