repeatable 1.0.0 → 1.2.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.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +77 -0
  3. data/CHANGELOG.md +27 -1
  4. data/CODE_OF_CONDUCT.md +128 -0
  5. data/Gemfile +3 -0
  6. data/Gemfile.lock +89 -24
  7. data/README.md +44 -8
  8. data/Rakefile +5 -1
  9. data/bin/tapioca +29 -0
  10. data/lib/repeatable/conversions.rb +7 -2
  11. data/lib/repeatable/expression/base.rb +27 -11
  12. data/lib/repeatable/expression/biweekly.rb +15 -6
  13. data/lib/repeatable/expression/date.rb +11 -6
  14. data/lib/repeatable/expression/day_in_month.rb +5 -0
  15. data/lib/repeatable/expression/difference.rb +15 -5
  16. data/lib/repeatable/expression/exact_date.rb +6 -1
  17. data/lib/repeatable/expression/intersection.rb +8 -2
  18. data/lib/repeatable/expression/range_in_year.rb +34 -9
  19. data/lib/repeatable/expression/set.rb +17 -6
  20. data/lib/repeatable/expression/union.rb +7 -1
  21. data/lib/repeatable/expression/weekday.rb +5 -0
  22. data/lib/repeatable/expression/weekday_in_month.rb +15 -1
  23. data/lib/repeatable/expression.rb +2 -0
  24. data/lib/repeatable/last_date_of_month.rb +5 -0
  25. data/lib/repeatable/parse_error.rb +2 -0
  26. data/lib/repeatable/parser.rb +8 -1
  27. data/lib/repeatable/schedule.rb +24 -4
  28. data/lib/repeatable/types.rb +7 -0
  29. data/lib/repeatable/version.rb +3 -1
  30. data/lib/repeatable.rb +5 -0
  31. data/rbi/repeatable.rbi +316 -0
  32. data/repeatable.gemspec +3 -0
  33. data/sorbet/config +4 -0
  34. data/sorbet/rbi/annotations/.gitattributes +1 -0
  35. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  36. data/sorbet/rbi/gems/.gitattributes +1 -0
  37. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  38. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3426 -0
  39. data/sorbet/rbi/gems/commander@4.6.0.rbi +8 -0
  40. data/sorbet/rbi/gems/diff-lcs@1.4.4.rbi +1082 -0
  41. data/sorbet/rbi/gems/docile@1.4.0.rbi +376 -0
  42. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  43. data/sorbet/rbi/gems/highline@2.0.3.rbi +8 -0
  44. data/sorbet/rbi/gems/json@2.7.2.rbi +1561 -0
  45. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  46. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +239 -0
  47. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  48. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  49. data/sorbet/rbi/gems/parallel@1.24.0.rbi +280 -0
  50. data/sorbet/rbi/gems/parlour@8.1.0.rbi +3053 -0
  51. data/sorbet/rbi/gems/parser@3.3.1.0.rbi +7320 -0
  52. data/sorbet/rbi/gems/prism@0.28.0.rbi +37903 -0
  53. data/sorbet/rbi/gems/pry@0.14.0.rbi +10072 -0
  54. data/sorbet/rbi/gems/racc@1.7.3.rbi +161 -0
  55. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  56. data/sorbet/rbi/gems/rake@13.0.3.rbi +3024 -0
  57. data/sorbet/rbi/gems/rbi@0.1.13.rbi +3071 -0
  58. data/sorbet/rbi/gems/regexp_parser@2.9.0.rbi +3771 -0
  59. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  60. data/sorbet/rbi/gems/rspec-core@3.10.1.rbi +10837 -0
  61. data/sorbet/rbi/gems/rspec-expectations@3.10.1.rbi +7930 -0
  62. data/sorbet/rbi/gems/rspec-mocks@3.10.2.rbi +5247 -0
  63. data/sorbet/rbi/gems/rspec-support@3.10.2.rbi +1594 -0
  64. data/sorbet/rbi/gems/rspec@3.10.0.rbi +76 -0
  65. data/sorbet/rbi/gems/rubocop-ast@1.31.3.rbi +7014 -0
  66. data/sorbet/rbi/gems/rubocop-performance@1.20.2.rbi +8 -0
  67. data/sorbet/rbi/gems/rubocop@1.62.1.rbi +57542 -0
  68. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  69. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +216 -0
  70. data/sorbet/rbi/gems/simplecov@0.21.2.rbi +2135 -0
  71. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +8 -0
  72. data/sorbet/rbi/gems/spoom@1.3.2.rbi +4420 -0
  73. data/sorbet/rbi/gems/standard-custom@1.0.2.rbi +8 -0
  74. data/sorbet/rbi/gems/standard-performance@1.3.1.rbi +8 -0
  75. data/sorbet/rbi/gems/standard@1.35.1.rbi +850 -0
  76. data/sorbet/rbi/gems/tapioca@0.13.3.rbi +3527 -0
  77. data/sorbet/rbi/gems/thor@1.3.1.rbi +4351 -0
  78. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +65 -0
  79. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  80. data/sorbet/rbi/gems/yard@0.9.36.rbi +18220 -0
  81. data/sorbet/tapioca/config.yml +13 -0
  82. data/sorbet/tapioca/require.rb +4 -0
  83. metadata +75 -6
  84. data/.travis.yml +0 -18
@@ -0,0 +1,13 @@
1
+ gem:
2
+ # Add your `gem` command parameters here:
3
+ #
4
+ # exclude:
5
+ # - gem_name
6
+ # doc: true
7
+ # workers: 5
8
+ dsl:
9
+ # Add your `dsl` command parameters here:
10
+ #
11
+ # exclude:
12
+ # - SomeGeneratorName
13
+ # workers: 5
@@ -0,0 +1,4 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ # Add your extra requires here (`bin/tapioca require` can be used to bootstrap this list)
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: repeatable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mo Lawson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-25 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2024-05-09 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: sorbet-runtime
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  description: Ruby implementation of Martin Fowler's 'Recurring Events for Calendars'
14
28
  paper.
15
29
  email:
@@ -19,11 +33,12 @@ extensions: []
19
33
  extra_rdoc_files: []
20
34
  files:
21
35
  - ".git-blame-ignore-revs"
36
+ - ".github/workflows/ci.yml"
22
37
  - ".gitignore"
23
38
  - ".rspec"
24
39
  - ".standard.yml"
25
- - ".travis.yml"
26
40
  - CHANGELOG.md
41
+ - CODE_OF_CONDUCT.md
27
42
  - Gemfile
28
43
  - Gemfile.lock
29
44
  - LICENSE.txt
@@ -31,6 +46,7 @@ files:
31
46
  - Rakefile
32
47
  - bin/console
33
48
  - bin/setup
49
+ - bin/tapioca
34
50
  - lib/repeatable.rb
35
51
  - lib/repeatable/conversions.rb
36
52
  - lib/repeatable/expression.rb
@@ -50,12 +66,65 @@ files:
50
66
  - lib/repeatable/parse_error.rb
51
67
  - lib/repeatable/parser.rb
52
68
  - lib/repeatable/schedule.rb
69
+ - lib/repeatable/types.rb
53
70
  - lib/repeatable/version.rb
71
+ - rbi/repeatable.rbi
54
72
  - repeatable.gemspec
73
+ - sorbet/config
74
+ - sorbet/rbi/annotations/.gitattributes
75
+ - sorbet/rbi/annotations/rainbow.rbi
76
+ - sorbet/rbi/gems/.gitattributes
77
+ - sorbet/rbi/gems/ast@2.4.2.rbi
78
+ - sorbet/rbi/gems/coderay@1.1.3.rbi
79
+ - sorbet/rbi/gems/commander@4.6.0.rbi
80
+ - sorbet/rbi/gems/diff-lcs@1.4.4.rbi
81
+ - sorbet/rbi/gems/docile@1.4.0.rbi
82
+ - sorbet/rbi/gems/erubi@1.12.0.rbi
83
+ - sorbet/rbi/gems/highline@2.0.3.rbi
84
+ - sorbet/rbi/gems/json@2.7.2.rbi
85
+ - sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi
86
+ - sorbet/rbi/gems/lint_roller@1.1.0.rbi
87
+ - sorbet/rbi/gems/method_source@1.0.0.rbi
88
+ - sorbet/rbi/gems/netrc@0.11.0.rbi
89
+ - sorbet/rbi/gems/parallel@1.24.0.rbi
90
+ - sorbet/rbi/gems/parlour@8.1.0.rbi
91
+ - sorbet/rbi/gems/parser@3.3.1.0.rbi
92
+ - sorbet/rbi/gems/prism@0.28.0.rbi
93
+ - sorbet/rbi/gems/pry@0.14.0.rbi
94
+ - sorbet/rbi/gems/racc@1.7.3.rbi
95
+ - sorbet/rbi/gems/rainbow@3.1.1.rbi
96
+ - sorbet/rbi/gems/rake@13.0.3.rbi
97
+ - sorbet/rbi/gems/rbi@0.1.13.rbi
98
+ - sorbet/rbi/gems/regexp_parser@2.9.0.rbi
99
+ - sorbet/rbi/gems/rexml@3.2.6.rbi
100
+ - sorbet/rbi/gems/rspec-core@3.10.1.rbi
101
+ - sorbet/rbi/gems/rspec-expectations@3.10.1.rbi
102
+ - sorbet/rbi/gems/rspec-mocks@3.10.2.rbi
103
+ - sorbet/rbi/gems/rspec-support@3.10.2.rbi
104
+ - sorbet/rbi/gems/rspec@3.10.0.rbi
105
+ - sorbet/rbi/gems/rubocop-ast@1.31.3.rbi
106
+ - sorbet/rbi/gems/rubocop-performance@1.20.2.rbi
107
+ - sorbet/rbi/gems/rubocop@1.62.1.rbi
108
+ - sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi
109
+ - sorbet/rbi/gems/simplecov-html@0.12.3.rbi
110
+ - sorbet/rbi/gems/simplecov@0.21.2.rbi
111
+ - sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi
112
+ - sorbet/rbi/gems/spoom@1.3.2.rbi
113
+ - sorbet/rbi/gems/standard-custom@1.0.2.rbi
114
+ - sorbet/rbi/gems/standard-performance@1.3.1.rbi
115
+ - sorbet/rbi/gems/standard@1.35.1.rbi
116
+ - sorbet/rbi/gems/tapioca@0.13.3.rbi
117
+ - sorbet/rbi/gems/thor@1.3.1.rbi
118
+ - sorbet/rbi/gems/unicode-display_width@2.5.0.rbi
119
+ - sorbet/rbi/gems/yard-sorbet@0.8.1.rbi
120
+ - sorbet/rbi/gems/yard@0.9.36.rbi
121
+ - sorbet/tapioca/config.yml
122
+ - sorbet/tapioca/require.rb
55
123
  homepage: https://github.com/molawson/repeatable
56
124
  licenses:
57
125
  - MIT
58
- metadata: {}
126
+ metadata:
127
+ changelog_uri: https://github.com/molawson/repeatable/blob/main/CHANGELOG.md
59
128
  post_install_message:
60
129
  rdoc_options: []
61
130
  require_paths:
@@ -71,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
71
140
  - !ruby/object:Gem::Version
72
141
  version: '0'
73
142
  requirements: []
74
- rubygems_version: 3.1.4
143
+ rubygems_version: 3.4.10
75
144
  signing_key:
76
145
  specification_version: 4
77
146
  summary: Describe recurring event schedules and calculate their occurrences
data/.travis.yml DELETED
@@ -1,18 +0,0 @@
1
- language: ruby
2
- env:
3
- global:
4
- - COVERAGE=true
5
- rvm:
6
- - 2.5
7
- - 2.6
8
- - 2.7
9
- - 3.0
10
- before_install:
11
- - yes | gem update --system --force
12
- - gem install bundler
13
- before_script:
14
- - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
15
- - chmod +x ./cc-test-reporter
16
- - ./cc-test-reporter before-build
17
- after_script:
18
- - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT