repeatable 1.0.0 → 1.2.0

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