tiered_category_expressions 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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