repeatable 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +72 -0
  3. data/CHANGELOG.md +18 -1
  4. data/CODE_OF_CONDUCT.md +128 -0
  5. data/Gemfile +2 -0
  6. data/Gemfile.lock +24 -5
  7. data/README.md +27 -8
  8. data/Rakefile +5 -1
  9. data/lib/repeatable/conversions.rb +5 -1
  10. data/lib/repeatable/expression/base.rb +21 -11
  11. data/lib/repeatable/expression/biweekly.rb +14 -6
  12. data/lib/repeatable/expression/date.rb +10 -6
  13. data/lib/repeatable/expression/day_in_month.rb +4 -0
  14. data/lib/repeatable/expression/difference.rb +14 -5
  15. data/lib/repeatable/expression/exact_date.rb +5 -1
  16. data/lib/repeatable/expression/intersection.rb +6 -2
  17. data/lib/repeatable/expression/range_in_year.rb +33 -9
  18. data/lib/repeatable/expression/set.rb +15 -5
  19. data/lib/repeatable/expression/union.rb +5 -1
  20. data/lib/repeatable/expression/weekday.rb +4 -0
  21. data/lib/repeatable/expression/weekday_in_month.rb +14 -1
  22. data/lib/repeatable/expression.rb +1 -0
  23. data/lib/repeatable/last_date_of_month.rb +4 -0
  24. data/lib/repeatable/parse_error.rb +1 -0
  25. data/lib/repeatable/parser.rb +7 -1
  26. data/lib/repeatable/schedule.rb +18 -4
  27. data/lib/repeatable/types.rb +6 -0
  28. data/lib/repeatable/version.rb +2 -1
  29. data/lib/repeatable.rb +4 -0
  30. data/rbi/repeatable.rbi +310 -0
  31. data/repeatable.gemspec +3 -0
  32. data/sorbet/config +3 -0
  33. data/sorbet/rbi/gems/ast.rbi +49 -0
  34. data/sorbet/rbi/gems/coderay.rbi +285 -0
  35. data/sorbet/rbi/gems/commander.rbi +197 -0
  36. data/sorbet/rbi/gems/docile.rbi +36 -0
  37. data/sorbet/rbi/gems/highline.rbi +577 -0
  38. data/sorbet/rbi/gems/method_source.rbi +64 -0
  39. data/sorbet/rbi/gems/parallel.rbi +83 -0
  40. data/sorbet/rbi/gems/parlour.rbi +840 -0
  41. data/sorbet/rbi/gems/parser.rbi +1950 -0
  42. data/sorbet/rbi/gems/pry.rbi +1898 -0
  43. data/sorbet/rbi/gems/rainbow.rbi +118 -0
  44. data/sorbet/rbi/gems/rake.rbi +646 -0
  45. data/sorbet/rbi/gems/regexp_parser.rbi +926 -0
  46. data/sorbet/rbi/gems/repeatable.rbi +13 -0
  47. data/sorbet/rbi/gems/rexml.rbi +583 -0
  48. data/sorbet/rbi/gems/rspec-core.rbi +1919 -0
  49. data/sorbet/rbi/gems/rspec-expectations.rbi +1150 -0
  50. data/sorbet/rbi/gems/rspec-mocks.rbi +1100 -0
  51. data/sorbet/rbi/gems/rspec-support.rbi +280 -0
  52. data/sorbet/rbi/gems/rspec.rbi +15 -0
  53. data/sorbet/rbi/gems/rubocop-ast.rbi +1356 -0
  54. data/sorbet/rbi/gems/rubocop-performance.rbi +487 -0
  55. data/sorbet/rbi/gems/rubocop.rbi +7923 -0
  56. data/sorbet/rbi/gems/ruby-progressbar.rbi +304 -0
  57. data/sorbet/rbi/gems/simplecov-html.rbi +35 -0
  58. data/sorbet/rbi/gems/simplecov.rbi +419 -0
  59. data/sorbet/rbi/gems/simplecov_json_formatter.rbi +47 -0
  60. data/sorbet/rbi/gems/standard.rbi +130 -0
  61. data/sorbet/rbi/gems/unicode-display_width.rbi +20 -0
  62. data/sorbet/rbi/hidden-definitions/errors.txt +4273 -0
  63. data/sorbet/rbi/hidden-definitions/hidden.rbi +9013 -0
  64. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +276 -0
  65. data/sorbet/rbi/sorbet-typed/lib/rake/all/rake.rbi +645 -0
  66. data/sorbet/rbi/sorbet-typed/lib/rspec-core/all/rspec-core.rbi +24 -0
  67. data/sorbet/rbi/sorbet-typed/lib/rubocop/>=1.8/rubocop.rbi +12 -0
  68. data/sorbet/rbi/sorbet-typed/lib/rubocop-performance/~>1.6/rubocop-performance.rbi +149 -0
  69. metadata +61 -6
  70. data/.travis.yml +0 -18
@@ -0,0 +1,280 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: true
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/rspec-support/all/rspec-support.rbi
9
+ #
10
+ # rspec-support-3.10.2
11
+
12
+ module RSpec
13
+ extend RSpec::Support::Warnings
14
+ end
15
+ module RSpec::Support
16
+ def self.class_of(object); end
17
+ def self.define_optimized_require_for_rspec(lib, &require_relative); end
18
+ def self.deregister_matcher_definition(&block); end
19
+ def self.failure_notifier; end
20
+ def self.failure_notifier=(callable); end
21
+ def self.is_a_matcher?(object); end
22
+ def self.matcher_definitions; end
23
+ def self.method_handle_for(object, method_name); end
24
+ def self.notify_failure(failure, options = nil); end
25
+ def self.register_matcher_definition(&block); end
26
+ def self.require_rspec_support(f); end
27
+ def self.rspec_description_for_object(object); end
28
+ def self.thread_local_data; end
29
+ def self.warning_notifier; end
30
+ def self.warning_notifier=(arg0); end
31
+ def self.with_failure_notifier(callable); end
32
+ end
33
+ module RSpec::Support::Version
34
+ end
35
+ class RSpec::Support::ComparableVersion
36
+ def <=>(other); end
37
+ def initialize(string); end
38
+ def segments; end
39
+ def string; end
40
+ include Comparable
41
+ end
42
+ module RSpec::Support::OS
43
+ def self.windows?; end
44
+ def self.windows_file_path?; end
45
+ def windows?; end
46
+ def windows_file_path?; end
47
+ end
48
+ module RSpec::Support::Ruby
49
+ def jruby?; end
50
+ def jruby_9000?; end
51
+ def jruby_version; end
52
+ def mri?; end
53
+ def non_mri?; end
54
+ def rbx?; end
55
+ def self.jruby?; end
56
+ def self.jruby_9000?; end
57
+ def self.jruby_version; end
58
+ def self.mri?; end
59
+ def self.non_mri?; end
60
+ def self.rbx?; end
61
+ def self.truffleruby?; end
62
+ def truffleruby?; end
63
+ end
64
+ module RSpec::Support::RubyFeatures
65
+ def caller_locations_supported?; end
66
+ def fork_supported?; end
67
+ def kw_args_supported?; end
68
+ def module_prepends_supported?; end
69
+ def module_refinement_supported?; end
70
+ def optional_and_splat_args_supported?; end
71
+ def required_kw_args_supported?; end
72
+ def ripper_supported?; end
73
+ def self.caller_locations_supported?; end
74
+ def self.fork_supported?; end
75
+ def self.kw_args_supported?; end
76
+ def self.module_prepends_supported?; end
77
+ def self.module_refinement_supported?; end
78
+ def self.optional_and_splat_args_supported?; end
79
+ def self.required_kw_args_supported?; end
80
+ def self.ripper_supported?; end
81
+ def self.supports_exception_cause?; end
82
+ def self.supports_rebinding_module_methods?; end
83
+ def self.supports_taint?; end
84
+ def supports_exception_cause?; end
85
+ def supports_rebinding_module_methods?; end
86
+ def supports_taint?; end
87
+ end
88
+ module RSpec::Support::AllExceptionsExceptOnesWeMustNotRescue
89
+ def self.===(exception); end
90
+ end
91
+ class RSpec::CallerFilter
92
+ def self.first_non_rspec_line(skip_frames = nil, increment = nil); end
93
+ end
94
+ module RSpec::Support::Warnings
95
+ def deprecate(deprecated, options = nil); end
96
+ def warn_deprecation(message, options = nil); end
97
+ def warn_with(message, options = nil); end
98
+ def warning(text, options = nil); end
99
+ end
100
+ class RSpec::Support::EncodedString
101
+ def <<(string); end
102
+ def ==(*args, &block); end
103
+ def detect_source_encoding(string); end
104
+ def empty?(*args, &block); end
105
+ def encoding(*args, &block); end
106
+ def eql?(*args, &block); end
107
+ def initialize(string, encoding = nil); end
108
+ def lines(*args, &block); end
109
+ def matching_encoding(string); end
110
+ def remove_invalid_bytes(string); end
111
+ def self.pick_encoding(source_a, source_b); end
112
+ def source_encoding; end
113
+ def split(regex_or_string); end
114
+ def to_s; end
115
+ def to_str; end
116
+ end
117
+ class RSpec::Support::ReentrantMutex
118
+ def enter; end
119
+ def exit; end
120
+ def initialize; end
121
+ def synchronize; end
122
+ end
123
+ class RSpec::Support::Mutex < Thread::Mutex
124
+ def self.new; end
125
+ end
126
+ class RSpec::Support::DirectoryMaker
127
+ def self.directory_exists?(dirname); end
128
+ def self.generate_path(stack, part); end
129
+ def self.generate_stack(path); end
130
+ def self.mkdir_p(path); end
131
+ end
132
+ class RSpec::Support::MethodSignature
133
+ def arbitrary_kw_args?; end
134
+ def classify_arity(arity = nil); end
135
+ def classify_parameters; end
136
+ def could_contain_kw_args?(args); end
137
+ def description; end
138
+ def has_kw_args_in?(args); end
139
+ def initialize(method); end
140
+ def invalid_kw_args_from(given_kw_args); end
141
+ def max_non_kw_args; end
142
+ def min_non_kw_args; end
143
+ def missing_kw_args_from(given_kw_args); end
144
+ def non_kw_args_arity_description; end
145
+ def optional_kw_args; end
146
+ def required_kw_args; end
147
+ def unlimited_args?; end
148
+ def valid_non_kw_args?(positional_arg_count, optional_max_arg_count = nil); end
149
+ end
150
+ class RSpec::Support::MethodSignatureExpectation
151
+ def empty?; end
152
+ def expect_arbitrary_keywords; end
153
+ def expect_arbitrary_keywords=(arg0); end
154
+ def expect_unlimited_arguments; end
155
+ def expect_unlimited_arguments=(arg0); end
156
+ def initialize; end
157
+ def keywords; end
158
+ def keywords=(values); end
159
+ def max_count; end
160
+ def max_count=(number); end
161
+ def min_count; end
162
+ def min_count=(number); end
163
+ end
164
+ class RSpec::Support::BlockSignature < RSpec::Support::MethodSignature
165
+ def classify_parameters; end
166
+ end
167
+ class RSpec::Support::MethodSignatureVerifier
168
+ def arbitrary_kw_args?; end
169
+ def error_message; end
170
+ def initialize(signature, args = nil); end
171
+ def invalid_kw_args; end
172
+ def kw_args; end
173
+ def max_non_kw_args; end
174
+ def min_non_kw_args; end
175
+ def missing_kw_args; end
176
+ def non_kw_args; end
177
+ def split_args(*args); end
178
+ def unlimited_args?; end
179
+ def valid?; end
180
+ def valid_non_kw_args?; end
181
+ def with_expectation(expectation); end
182
+ end
183
+ class RSpec::Support::LooseSignatureVerifier < RSpec::Support::MethodSignatureVerifier
184
+ def split_args(*args); end
185
+ end
186
+ class RSpec::Support::LooseSignatureVerifier::SignatureWithKeywordArgumentsMatcher
187
+ def has_kw_args_in?(args); end
188
+ def initialize(signature); end
189
+ def invalid_kw_args_from(_kw_args); end
190
+ def missing_kw_args_from(_kw_args); end
191
+ def non_kw_args_arity_description; end
192
+ def valid_non_kw_args?(*args); end
193
+ end
194
+ module RSpec::Support::WithKeywordsWhenNeeded
195
+ def class_exec(klass, *args, &block); end
196
+ def self.class_exec(klass, *args, &block); end
197
+ end
198
+ module RSpec::Support::RecursiveConstMethods
199
+ def const_defined_on?(mod, const_name); end
200
+ def constants_defined_on(mod); end
201
+ def get_const_defined_on(mod, const_name); end
202
+ def normalize_const_name(const_name); end
203
+ def recursive_const_defined?(const_name); end
204
+ def recursive_const_get(const_name); end
205
+ end
206
+ class RSpec::Support::ObjectFormatter
207
+ def format(object); end
208
+ def initialize(max_formatted_output_length = nil); end
209
+ def max_formatted_output_length; end
210
+ def max_formatted_output_length=(arg0); end
211
+ def prepare_array(array); end
212
+ def prepare_element(element); end
213
+ def prepare_for_inspection(object); end
214
+ def prepare_hash(input_hash); end
215
+ def recursive_structure?(object); end
216
+ def self.default_instance; end
217
+ def self.format(object); end
218
+ def self.prepare_for_inspection(object); end
219
+ def sort_hash_keys(input_hash); end
220
+ def truncate_string(str, start_index, end_index); end
221
+ def with_entering_structure(structure); end
222
+ end
223
+ class RSpec::Support::ObjectFormatter::InspectableItem < Struct
224
+ def inspect; end
225
+ def pretty_print(pp); end
226
+ def self.[](*arg0); end
227
+ def self.inspect; end
228
+ def self.members; end
229
+ def self.new(*arg0); end
230
+ def text; end
231
+ def text=(_); end
232
+ end
233
+ class RSpec::Support::ObjectFormatter::BaseInspector < Struct
234
+ def formatter; end
235
+ def formatter=(_); end
236
+ def inspect; end
237
+ def object; end
238
+ def object=(_); end
239
+ def pretty_print(pp); end
240
+ def self.[](*arg0); end
241
+ def self.can_inspect?(_object); end
242
+ def self.inspect; end
243
+ def self.members; end
244
+ def self.new(*arg0); end
245
+ end
246
+ class RSpec::Support::ObjectFormatter::TimeInspector < RSpec::Support::ObjectFormatter::BaseInspector
247
+ def inspect; end
248
+ def self.can_inspect?(object); end
249
+ end
250
+ class RSpec::Support::ObjectFormatter::DateTimeInspector < RSpec::Support::ObjectFormatter::BaseInspector
251
+ def inspect; end
252
+ def self.can_inspect?(object); end
253
+ end
254
+ class RSpec::Support::ObjectFormatter::BigDecimalInspector < RSpec::Support::ObjectFormatter::BaseInspector
255
+ def inspect; end
256
+ def self.can_inspect?(object); end
257
+ end
258
+ class RSpec::Support::ObjectFormatter::DescribableMatcherInspector < RSpec::Support::ObjectFormatter::BaseInspector
259
+ def inspect; end
260
+ def self.can_inspect?(object); end
261
+ end
262
+ class RSpec::Support::ObjectFormatter::UninspectableObjectInspector < RSpec::Support::ObjectFormatter::BaseInspector
263
+ def inspect; end
264
+ def klass; end
265
+ def native_object_id; end
266
+ def self.can_inspect?(object); end
267
+ end
268
+ class RSpec::Support::ObjectFormatter::DelegatorInspector < RSpec::Support::ObjectFormatter::BaseInspector
269
+ def inspect; end
270
+ def self.can_inspect?(object); end
271
+ end
272
+ class RSpec::Support::ObjectFormatter::InspectableObjectInspector < RSpec::Support::ObjectFormatter::BaseInspector
273
+ def inspect; end
274
+ def self.can_inspect?(object); end
275
+ end
276
+ module RSpec::Support::FuzzyMatcher
277
+ def self.arrays_match?(expected_list, actual_list); end
278
+ def self.hashes_match?(expected_hash, actual_hash); end
279
+ def self.values_match?(expected, actual); end
280
+ end
@@ -0,0 +1,15 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: strict
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/rspec/all/rspec.rbi
9
+ #
10
+ # rspec-3.10.0
11
+
12
+ module RSpec
13
+ end
14
+ module RSpec::Version
15
+ end