repeatable 0.5.0 → 1.1.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 (74) hide show
  1. checksums.yaml +5 -5
  2. data/.git-blame-ignore-revs +13 -0
  3. data/.github/workflows/ci.yml +72 -0
  4. data/.gitignore +0 -1
  5. data/.rspec +0 -1
  6. data/.standard.yml +3 -0
  7. data/CHANGELOG.md +58 -3
  8. data/CODE_OF_CONDUCT.md +128 -0
  9. data/Gemfile +11 -3
  10. data/Gemfile.lock +95 -0
  11. data/README.md +49 -9
  12. data/Rakefile +9 -3
  13. data/lib/repeatable/conversions.rb +5 -1
  14. data/lib/repeatable/expression/base.rb +37 -11
  15. data/lib/repeatable/expression/biweekly.rb +14 -6
  16. data/lib/repeatable/expression/date.rb +11 -8
  17. data/lib/repeatable/expression/day_in_month.rb +11 -1
  18. data/lib/repeatable/expression/difference.rb +37 -0
  19. data/lib/repeatable/expression/exact_date.rb +21 -0
  20. data/lib/repeatable/expression/intersection.rb +9 -0
  21. data/lib/repeatable/expression/range_in_year.rb +39 -9
  22. data/lib/repeatable/expression/set.rb +15 -7
  23. data/lib/repeatable/expression/union.rb +9 -0
  24. data/lib/repeatable/expression/weekday.rb +4 -0
  25. data/lib/repeatable/expression/weekday_in_month.rb +35 -4
  26. data/lib/repeatable/expression.rb +1 -0
  27. data/lib/repeatable/last_date_of_month.rb +11 -0
  28. data/lib/repeatable/parse_error.rb +1 -0
  29. data/lib/repeatable/parser.rb +14 -2
  30. data/lib/repeatable/schedule.rb +23 -9
  31. data/lib/repeatable/types.rb +6 -0
  32. data/lib/repeatable/version.rb +2 -1
  33. data/lib/repeatable.rb +25 -19
  34. data/rbi/repeatable.rbi +310 -0
  35. data/repeatable.gemspec +15 -15
  36. data/sorbet/config +3 -0
  37. data/sorbet/rbi/gems/ast.rbi +49 -0
  38. data/sorbet/rbi/gems/coderay.rbi +285 -0
  39. data/sorbet/rbi/gems/commander.rbi +197 -0
  40. data/sorbet/rbi/gems/docile.rbi +36 -0
  41. data/sorbet/rbi/gems/highline.rbi +577 -0
  42. data/sorbet/rbi/gems/method_source.rbi +64 -0
  43. data/sorbet/rbi/gems/parallel.rbi +83 -0
  44. data/sorbet/rbi/gems/parlour.rbi +840 -0
  45. data/sorbet/rbi/gems/parser.rbi +1950 -0
  46. data/sorbet/rbi/gems/pry.rbi +1898 -0
  47. data/sorbet/rbi/gems/rainbow.rbi +118 -0
  48. data/sorbet/rbi/gems/rake.rbi +646 -0
  49. data/sorbet/rbi/gems/regexp_parser.rbi +926 -0
  50. data/sorbet/rbi/gems/repeatable.rbi +13 -0
  51. data/sorbet/rbi/gems/rexml.rbi +583 -0
  52. data/sorbet/rbi/gems/rspec-core.rbi +1919 -0
  53. data/sorbet/rbi/gems/rspec-expectations.rbi +1150 -0
  54. data/sorbet/rbi/gems/rspec-mocks.rbi +1100 -0
  55. data/sorbet/rbi/gems/rspec-support.rbi +280 -0
  56. data/sorbet/rbi/gems/rspec.rbi +15 -0
  57. data/sorbet/rbi/gems/rubocop-ast.rbi +1356 -0
  58. data/sorbet/rbi/gems/rubocop-performance.rbi +487 -0
  59. data/sorbet/rbi/gems/rubocop.rbi +7923 -0
  60. data/sorbet/rbi/gems/ruby-progressbar.rbi +304 -0
  61. data/sorbet/rbi/gems/simplecov-html.rbi +35 -0
  62. data/sorbet/rbi/gems/simplecov.rbi +419 -0
  63. data/sorbet/rbi/gems/simplecov_json_formatter.rbi +47 -0
  64. data/sorbet/rbi/gems/standard.rbi +130 -0
  65. data/sorbet/rbi/gems/unicode-display_width.rbi +20 -0
  66. data/sorbet/rbi/hidden-definitions/errors.txt +4273 -0
  67. data/sorbet/rbi/hidden-definitions/hidden.rbi +9013 -0
  68. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +276 -0
  69. data/sorbet/rbi/sorbet-typed/lib/rake/all/rake.rbi +645 -0
  70. data/sorbet/rbi/sorbet-typed/lib/rspec-core/all/rspec-core.rbi +24 -0
  71. data/sorbet/rbi/sorbet-typed/lib/rubocop/>=1.8/rubocop.rbi +12 -0
  72. data/sorbet/rbi/sorbet-typed/lib/rubocop-performance/~>1.6/rubocop-performance.rbi +149 -0
  73. metadata +62 -45
  74. data/.travis.yml +0 -10
@@ -0,0 +1,197 @@
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/commander/all/commander.rbi
9
+ #
10
+ # commander-4.6.0
11
+
12
+ module Commander
13
+ def configure(*configuration_opts, &configuration_block); end
14
+ def self.configure(*configuration_opts, &configuration_block); end
15
+ end
16
+ module Blank
17
+ def self.included(base); end
18
+ end
19
+ module Commander::UI
20
+ def applescript(script); end
21
+ def ask_editor(input = nil, preferred_editor = nil); end
22
+ def available_editor(preferred = nil); end
23
+ def choose(message = nil, *choices, &block); end
24
+ def color(*args); end
25
+ def converse(prompt, responses = nil); end
26
+ def enable_paging; end
27
+ def io(input = nil, output = nil, &block); end
28
+ def log(action, *args); end
29
+ def password(message = nil, mask = nil); end
30
+ def progress(arr, options = nil); end
31
+ def replace_tokens(str, hash); end
32
+ def say_error(*args); end
33
+ def say_ok(*args); end
34
+ def say_warning(*args); end
35
+ def self.applescript(script); end
36
+ def self.ask_editor(input = nil, preferred_editor = nil); end
37
+ def self.available_editor(preferred = nil); end
38
+ def self.choose(message = nil, *choices, &block); end
39
+ def self.color(*args); end
40
+ def self.converse(prompt, responses = nil); end
41
+ def self.enable_paging; end
42
+ def self.io(input = nil, output = nil, &block); end
43
+ def self.log(action, *args); end
44
+ def self.password(message = nil, mask = nil); end
45
+ def self.progress(arr, options = nil); end
46
+ def self.replace_tokens(str, hash); end
47
+ def self.say_error(*args); end
48
+ def self.say_ok(*args); end
49
+ def self.say_warning(*args); end
50
+ def self.speak(message, voice = nil, rate = nil); end
51
+ def speak(message, voice = nil, rate = nil); end
52
+ end
53
+ module Commander::UI::AskForClass
54
+ def ask_for_array(prompt); end
55
+ def ask_for_file(prompt); end
56
+ def ask_for_float(prompt); end
57
+ def ask_for_integer(prompt); end
58
+ def ask_for_pathname(prompt); end
59
+ def ask_for_regexp(prompt); end
60
+ def ask_for_string(prompt); end
61
+ def ask_for_symbol(prompt); end
62
+ def method_missing(method_name, *arguments, &block); end
63
+ def respond_to_missing?(method_name, include_private = nil); end
64
+ end
65
+ class Commander::UI::ProgressBar
66
+ def completed?; end
67
+ def erase_line; end
68
+ def finished?; end
69
+ def generate_tokens; end
70
+ def increment(tokens = nil); end
71
+ def initialize(total, options = nil); end
72
+ def percent_complete; end
73
+ def progress_bar; end
74
+ def show; end
75
+ def steps_remaining; end
76
+ def time_elapsed; end
77
+ def time_remaining; end
78
+ end
79
+ class Array
80
+ def self.parse(string); end
81
+ end
82
+ class Object < BasicObject
83
+ def get_binding; end
84
+ end
85
+ class Commander::Runner
86
+ def active_command; end
87
+ def add_command(command); end
88
+ def alias?(name); end
89
+ def alias_command(alias_name, name, *args); end
90
+ def always_trace!; end
91
+ def args_without_command_name; end
92
+ def command(name, &block); end
93
+ def command_exists?(name); end
94
+ def command_name_from_args; end
95
+ def commands; end
96
+ def create_default_commands; end
97
+ def default_command(name); end
98
+ def expand_optionally_negative_switches(switches); end
99
+ def global_option(*args, &block); end
100
+ def global_option_proc(switches, &block); end
101
+ def help_formatter; end
102
+ def help_formatter_alias_defaults; end
103
+ def help_formatter_aliases; end
104
+ def initialize(args = nil); end
105
+ def longest_valid_command_name_from(args); end
106
+ def never_trace!; end
107
+ def options; end
108
+ def parse_global_options; end
109
+ def program(key, *args, &block); end
110
+ def program_defaults; end
111
+ def remove_global_options(options, args); end
112
+ def require_program(*keys); end
113
+ def require_valid_command(command = nil); end
114
+ def run!; end
115
+ def run_active_command; end
116
+ def say(*args); end
117
+ def self.instance; end
118
+ def self.separate_switches_from_description(*args); end
119
+ def self.switch_to_sym(switch); end
120
+ def valid_command_names_from(*args); end
121
+ def version; end
122
+ end
123
+ class Commander::Runner::CommandError < StandardError
124
+ end
125
+ class Commander::Runner::InvalidCommandError < Commander::Runner::CommandError
126
+ end
127
+ class Commander::Command
128
+ def action(*args, &block); end
129
+ def call(args = nil); end
130
+ def description; end
131
+ def description=(arg0); end
132
+ def example(description, command); end
133
+ def examples; end
134
+ def examples=(arg0); end
135
+ def global_options; end
136
+ def initialize(name); end
137
+ def inspect; end
138
+ def name; end
139
+ def name=(arg0); end
140
+ def option(*args, &block); end
141
+ def option_proc(switches); end
142
+ def options; end
143
+ def options=(arg0); end
144
+ def parse_options_and_call_procs(*args); end
145
+ def proxy_option_struct; end
146
+ def proxy_options; end
147
+ def proxy_options=(arg0); end
148
+ def run(*args); end
149
+ def summary; end
150
+ def summary=(arg0); end
151
+ def syntax; end
152
+ def syntax=(arg0); end
153
+ def when_called(*args, &block); end
154
+ end
155
+ class Commander::Command::Options
156
+ def __hash__; end
157
+ def default(defaults = nil); end
158
+ def initialize; end
159
+ def inspect; end
160
+ def method_missing(meth, *args); end
161
+ include Blank
162
+ end
163
+ module Commander::HelpFormatter
164
+ def indent(amount, text); end
165
+ def self.indent(amount, text); end
166
+ end
167
+ class Commander::HelpFormatter::Context
168
+ def decorate_binding(_bind); end
169
+ def get_binding; end
170
+ def initialize(target); end
171
+ end
172
+ class Commander::HelpFormatter::ProgramContext < Commander::HelpFormatter::Context
173
+ def decorate_binding(bind); end
174
+ def max_aliases_length(bind); end
175
+ def max_command_length(bind); end
176
+ def max_key_length(hash, default = nil); end
177
+ end
178
+ module Commander::Platform
179
+ def self.jruby?; end
180
+ end
181
+ module Commander::Delegates
182
+ def add_command(*args, &block); end
183
+ def alias_command(*args, &block); end
184
+ def always_trace!(*args, &block); end
185
+ def command(*args, &block); end
186
+ def default_command(*args, &block); end
187
+ def defined_commands(*args, &block); end
188
+ def global_option(*args, &block); end
189
+ def never_trace!(*args, &block); end
190
+ def program(*args, &block); end
191
+ def run!(*args, &block); end
192
+ end
193
+ module Commander::Methods
194
+ include Commander::Delegates
195
+ include Commander::UI
196
+ include Commander::UI::AskForClass
197
+ end
@@ -0,0 +1,36 @@
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/docile/all/docile.rbi
9
+ #
10
+ # docile-1.4.0
11
+
12
+ module Docile
13
+ def dsl_eval(dsl, *args, &block); end
14
+ def dsl_eval_immutable(dsl, *args, &block); end
15
+ def dsl_eval_with_block_return(dsl, *args, &block); end
16
+ def self.dsl_eval(dsl, *args, &block); end
17
+ def self.dsl_eval_immutable(dsl, *args, &block); end
18
+ def self.dsl_eval_with_block_return(dsl, *args, &block); end
19
+ extend Docile::Execution
20
+ end
21
+ module Docile::Execution
22
+ def exec_in_proxy_context(dsl, proxy_type, *args, &block); end
23
+ def self.exec_in_proxy_context(dsl, proxy_type, *args, &block); end
24
+ end
25
+ class Docile::FallbackContextProxy
26
+ def initialize(receiver, fallback); end
27
+ def instance_variables; end
28
+ def method_missing(method, *args, &block); end
29
+ end
30
+ class Docile::ChainingFallbackContextProxy < Docile::FallbackContextProxy
31
+ def method_missing(method, *args, &block); end
32
+ end
33
+ module Docile::BacktraceFilter
34
+ def backtrace; end
35
+ def backtrace_locations; end
36
+ end