repeatable 1.0.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 (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
data/repeatable.gemspec CHANGED
@@ -12,8 +12,11 @@ Gem::Specification.new do |spec|
12
12
  spec.description = "Ruby implementation of Martin Fowler's 'Recurring Events for Calendars' paper."
13
13
  spec.homepage = "https://github.com/molawson/repeatable"
14
14
  spec.license = "MIT"
15
+ spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/main/CHANGELOG.md"
15
16
  spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
16
17
 
17
18
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
19
  spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency "sorbet-runtime"
19
22
  end
data/sorbet/config ADDED
@@ -0,0 +1,3 @@
1
+ --dir
2
+ .
3
+ --ignore=/vendor/bundle
@@ -0,0 +1,49 @@
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/ast/all/ast.rbi
9
+ #
10
+ # ast-2.4.2
11
+
12
+ module AST
13
+ end
14
+ class AST::Node
15
+ def +(array); end
16
+ def <<(element); end
17
+ def ==(other); end
18
+ def append(element); end
19
+ def assign_properties(properties); end
20
+ def children; end
21
+ def clone; end
22
+ def concat(array); end
23
+ def deconstruct; end
24
+ def dup; end
25
+ def eql?(other); end
26
+ def fancy_type; end
27
+ def hash; end
28
+ def initialize(type, children = nil, properties = nil); end
29
+ def inspect(indent = nil); end
30
+ def original_dup; end
31
+ def to_a; end
32
+ def to_ast; end
33
+ def to_s(indent = nil); end
34
+ def to_sexp(indent = nil); end
35
+ def to_sexp_array; end
36
+ def type; end
37
+ def updated(type = nil, children = nil, properties = nil); end
38
+ end
39
+ class AST::Processor
40
+ include AST::Processor::Mixin
41
+ end
42
+ module AST::Processor::Mixin
43
+ def handler_missing(node); end
44
+ def process(node); end
45
+ def process_all(nodes); end
46
+ end
47
+ module AST::Sexp
48
+ def s(type, *children); end
49
+ end
@@ -0,0 +1,285 @@
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/coderay/all/coderay.rbi
9
+ #
10
+ # coderay-1.1.3
11
+
12
+ module CodeRay
13
+ def self.coderay_path(*path); end
14
+ def self.encode(code, lang, format, options = nil); end
15
+ def self.encode_file(filename, format, options = nil); end
16
+ def self.encode_tokens(tokens, format, options = nil); end
17
+ def self.encoder(format, options = nil); end
18
+ def self.get_scanner_options(options); end
19
+ def self.highlight(code, lang, options = nil, format = nil); end
20
+ def self.highlight_file(filename, options = nil, format = nil); end
21
+ def self.scan(code, lang, options = nil, &block); end
22
+ def self.scan_file(filename, lang = nil, options = nil, &block); end
23
+ def self.scanner(lang, options = nil, &block); end
24
+ end
25
+ module CodeRay::FileType
26
+ def self.[](filename, read_shebang = nil); end
27
+ def self.fetch(filename, default = nil, read_shebang = nil); end
28
+ def self.type_from_shebang(filename); end
29
+ end
30
+ class CodeRay::FileType::UnknownFileType < Exception
31
+ end
32
+ class CodeRay::Tokens < Array
33
+ def begin_group(kind); end
34
+ def begin_line(kind); end
35
+ def count; end
36
+ def encode(encoder, options = nil); end
37
+ def end_group(kind); end
38
+ def end_line(kind); end
39
+ def method_missing(meth, options = nil); end
40
+ def scanner; end
41
+ def scanner=(arg0); end
42
+ def split_into_parts(*sizes); end
43
+ def text_token(*arg0); end
44
+ def to_s; end
45
+ def tokens(*arg0); end
46
+ end
47
+ class CodeRay::TokensProxy
48
+ def block; end
49
+ def block=(arg0); end
50
+ def each(*args, &blk); end
51
+ def encode(encoder, options = nil); end
52
+ def initialize(input, lang, options = nil, block = nil); end
53
+ def input; end
54
+ def input=(arg0); end
55
+ def lang; end
56
+ def lang=(arg0); end
57
+ def method_missing(method, *args, &blk); end
58
+ def options; end
59
+ def options=(arg0); end
60
+ def scanner; end
61
+ def tokens; end
62
+ end
63
+ module CodeRay::PluginHost
64
+ def [](id, *args, &blk); end
65
+ def all_plugins; end
66
+ def const_missing(const); end
67
+ def default(id = nil); end
68
+ def list; end
69
+ def load(id, *args, &blk); end
70
+ def load_all; end
71
+ def load_plugin_map; end
72
+ def make_plugin_hash; end
73
+ def map(hash); end
74
+ def path_to(plugin_id); end
75
+ def plugin_hash; end
76
+ def plugin_path(*args); end
77
+ def register(plugin, id); end
78
+ def self.extended(mod); end
79
+ def validate_id(id); end
80
+ end
81
+ class CodeRay::PluginHost::PluginNotFound < LoadError
82
+ end
83
+ class CodeRay::PluginHost::HostNotFound < LoadError
84
+ end
85
+ module CodeRay::Plugin
86
+ def aliases; end
87
+ def plugin_host(host = nil); end
88
+ def plugin_id; end
89
+ def register_for(id); end
90
+ def title(title = nil); end
91
+ end
92
+ module CodeRay::Scanners
93
+ extend CodeRay::PluginHost
94
+ end
95
+ class CodeRay::Scanners::Scanner < StringScanner
96
+ def binary_string; end
97
+ def column(pos = nil); end
98
+ def each(&block); end
99
+ def file_extension; end
100
+ def initialize(code = nil, options = nil); end
101
+ def lang; end
102
+ def line(pos = nil); end
103
+ def raise_inspect(message, tokens, state = nil, ambit = nil, backtrace = nil); end
104
+ def raise_inspect_arguments(message, tokens, state, ambit); end
105
+ def reset; end
106
+ def reset_instance; end
107
+ def scan_rest; end
108
+ def scan_tokens(tokens, options); end
109
+ def scanner_state_info(state); end
110
+ def self.encode_with_encoding(code, target_encoding); end
111
+ def self.encoding(name = nil); end
112
+ def self.file_extension(extension = nil); end
113
+ def self.guess_encoding(s); end
114
+ def self.lang; end
115
+ def self.normalize(code); end
116
+ def self.to_unix(code); end
117
+ def set_string_from_source(source); end
118
+ def set_tokens_from_options(options); end
119
+ def setup; end
120
+ def state; end
121
+ def state=(arg0); end
122
+ def string=(code); end
123
+ def tokenize(source = nil, options = nil); end
124
+ def tokens; end
125
+ def tokens_last(tokens, n); end
126
+ def tokens_size(tokens); end
127
+ extend CodeRay::Plugin
128
+ include Enumerable
129
+ end
130
+ class CodeRay::Scanners::Scanner::ScanError < StandardError
131
+ end
132
+ class CodeRay::WordList < Hash
133
+ def add(words, value = nil); end
134
+ def initialize(default = nil); end
135
+ end
136
+ class CodeRay::WordList::CaseIgnoring < CodeRay::WordList
137
+ def [](key); end
138
+ def []=(key, value); end
139
+ end
140
+ module CodeRay::Scanners::Java::BuiltinTypes
141
+ end
142
+ class CodeRay::Scanners::Java < CodeRay::Scanners::Scanner
143
+ def scan_tokens(encoder, options); end
144
+ end
145
+ class CodeRay::Scanners::Ruby < CodeRay::Scanners::Scanner
146
+ def interpreted_string_state; end
147
+ def scan_tokens(encoder, options); end
148
+ def setup; end
149
+ end
150
+ module CodeRay::Scanners::Ruby::Patterns
151
+ end
152
+ class Anonymous_Struct_1 < Struct
153
+ def delim; end
154
+ def delim=(_); end
155
+ def heredoc; end
156
+ def heredoc=(_); end
157
+ def interpreted; end
158
+ def interpreted=(_); end
159
+ def next_state; end
160
+ def next_state=(_); end
161
+ def opening_paren; end
162
+ def opening_paren=(_); end
163
+ def paren_depth; end
164
+ def paren_depth=(_); end
165
+ def pattern; end
166
+ def pattern=(_); end
167
+ def self.[](*arg0); end
168
+ def self.inspect; end
169
+ def self.members; end
170
+ def self.new(*arg0); end
171
+ def type; end
172
+ def type=(_); end
173
+ end
174
+ class CodeRay::Scanners::Ruby::StringState < Anonymous_Struct_1
175
+ def heredoc_pattern(delim, interpreted, indented); end
176
+ def initialize(kind, interpreted, delim, heredoc = nil); end
177
+ def self.simple_key_pattern(delim); end
178
+ end
179
+ module CodeRay::Encoders
180
+ extend CodeRay::PluginHost
181
+ end
182
+ class CodeRay::Encoders::Encoder
183
+ def <<(token); end
184
+ def begin_group(kind); end
185
+ def begin_line(kind); end
186
+ def compile(tokens, options = nil); end
187
+ def encode(code, lang, options = nil); end
188
+ def encode_tokens(tokens, options = nil); end
189
+ def end_group(kind); end
190
+ def end_line(kind); end
191
+ def file_extension; end
192
+ def finish(options); end
193
+ def get_output(options); end
194
+ def highlight(code, lang, options = nil); end
195
+ def initialize(options = nil); end
196
+ def options; end
197
+ def options=(arg0); end
198
+ def output(data); end
199
+ def scanner; end
200
+ def scanner=(arg0); end
201
+ def self.const_missing(sym); end
202
+ def self.file_extension; end
203
+ def setup(options); end
204
+ def text_token(text, kind); end
205
+ def token(content, kind); end
206
+ def tokens(tokens, options = nil); end
207
+ extend CodeRay::Plugin
208
+ end
209
+ class CodeRay::Encoders::HTML < CodeRay::Encoders::Encoder
210
+ def begin_group(kind); end
211
+ def begin_line(kind); end
212
+ def break_lines(text, style); end
213
+ def check_group_nesting(name, kind); end
214
+ def check_options!(options); end
215
+ def close_span; end
216
+ def css; end
217
+ def css_class_for_kinds(kinds); end
218
+ def end_group(kind); end
219
+ def end_line(kind); end
220
+ def finish(options); end
221
+ def make_span_for_kinds(method, hint); end
222
+ def self.make_html_escape_hash; end
223
+ def self.token_path_to_hint(hint, kinds); end
224
+ def setup(options); end
225
+ def style_for_kinds(kinds); end
226
+ def text_token(text, kind); end
227
+ end
228
+ module CodeRay::Encoders::HTML::Output
229
+ def apply_title!(title); end
230
+ def css; end
231
+ def css=(arg0); end
232
+ def self.extended(o); end
233
+ def self.make_stylesheet(css, in_tag = nil); end
234
+ def self.page_template_for_css(css); end
235
+ def stylesheet(in_tag = nil); end
236
+ def wrap!(element, *args); end
237
+ def wrap_in!(template); end
238
+ def wrapped_in; end
239
+ def wrapped_in=(arg0); end
240
+ def wrapped_in?(element); end
241
+ end
242
+ class CodeRay::Encoders::HTML::Output::Template < String
243
+ def apply(target, replacement); end
244
+ def self.wrap!(str, template, target); end
245
+ end
246
+ class CodeRay::Encoders::HTML::CSS
247
+ def get_style_for_css_classes(css_classes); end
248
+ def initialize(style = nil); end
249
+ def parse(stylesheet); end
250
+ def self.load_stylesheet(style = nil); end
251
+ def stylesheet; end
252
+ end
253
+ module CodeRay::Encoders::HTML::Numbering
254
+ def self.number!(output, mode = nil, options = nil); end
255
+ end
256
+ module CodeRay::Styles
257
+ extend CodeRay::PluginHost
258
+ end
259
+ class CodeRay::Styles::Style
260
+ extend CodeRay::Plugin
261
+ end
262
+ class CodeRay::Duo
263
+ def call(code, options = nil); end
264
+ def encode(code, options = nil); end
265
+ def encoder; end
266
+ def format; end
267
+ def format=(arg0); end
268
+ def highlight(code, options = nil); end
269
+ def initialize(lang = nil, format = nil, options = nil); end
270
+ def lang; end
271
+ def lang=(arg0); end
272
+ def options; end
273
+ def options=(arg0); end
274
+ def scanner; end
275
+ def self.[](*arg0); end
276
+ end
277
+ class CodeRay::Encoders::Terminal < CodeRay::Encoders::Encoder
278
+ def begin_group(kind); end
279
+ def begin_line(kind); end
280
+ def end_group(kind); end
281
+ def end_line(kind); end
282
+ def open_token(kind); end
283
+ def setup(options); end
284
+ def text_token(text, kind); end
285
+ end
@@ -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