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 +5 -5
- data/.github/dependabot.yml +54 -0
- data/.github/workflows/main.yml +29 -0
- data/Gemfile +17 -2
- data/LANGREF.md +1 -1
- data/README.md +4 -1
- data/Rakefile +10 -1
- data/lib/tiered_category_expressions/version.rb +1 -1
- data/tiered_category_expressions.gemspec +1 -6
- metadata +7 -77
- data/.travis.yml +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 9ac6214a3dfb2749c9257aa613e50769f52300ce5575b6abaee93e72fbbf7211
|
4
|
+
data.tar.gz: 5974153a9628f5af2f5150641f89e1e92ba9c34e9a82cf94b1bff676b9250e89
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
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
|
-
-
|
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
|
-
<
|
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
|
-
|
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]
|
@@ -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.
|
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.
|
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:
|
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: '
|
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: '
|
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
|
-
|
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
|