repeatable 0.5.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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,310 @@
1
+ # typed: strong
2
+ module Repeatable
3
+ VERSION = "1.1.0"
4
+
5
+ module Conversions
6
+ extend T::Sig
7
+
8
+ sig { params(arg: Object).returns(::Date) }
9
+ def Date(arg); end
10
+ end
11
+
12
+ module LastDateOfMonth
13
+ extend T::Sig
14
+
15
+ sig { params(date: ::Date).returns(::Date) }
16
+ def last_date_of_month(date); end
17
+ end
18
+
19
+ class ParseError < StandardError
20
+ end
21
+
22
+ class Parser
23
+ extend T::Sig
24
+
25
+ sig { params(hash: T::Hash[T.any(String, Symbol), T.untyped]).void }
26
+ def initialize(hash); end
27
+
28
+ sig { params(hash: T::Hash[T.any(String, Symbol), T.untyped]).returns(Expression::Base) }
29
+ def self.call(hash); end
30
+
31
+ sig { returns(Expression::Base) }
32
+ def call; end
33
+
34
+ sig { returns(T.untyped) }
35
+ attr_reader :hash
36
+
37
+ sig { params(hash: T.untyped).returns(T.untyped) }
38
+ def build_expression(hash); end
39
+
40
+ sig { params(key: T.untyped, value: T.untyped).returns(T.untyped) }
41
+ def expression_for(key, value); end
42
+
43
+ sig { params(hash: T.untyped).returns(T.untyped) }
44
+ def symbolize_keys(hash); end
45
+
46
+ sig { params(string: T.untyped).returns(T.untyped) }
47
+ def expression_klass(string); end
48
+ end
49
+
50
+ class Schedule
51
+ extend T::Sig
52
+
53
+ sig { params(arg: Object).void }
54
+ def initialize(arg); end
55
+
56
+ sig { params(start_date: Object, end_date: Object).returns(T::Array[::Date]) }
57
+ def occurrences(start_date, end_date); end
58
+
59
+ sig { params(start_date: Object, include_start: T::Boolean, limit: Integer).returns(T.nilable(::Date)) }
60
+ def next_occurrence(start_date = Date.today, include_start: false, limit: 36525); end
61
+
62
+ sig { params(date: Object).returns(T::Boolean) }
63
+ def include?(date = Date.today); end
64
+
65
+ sig { returns(T::Hash[Symbol, T.any(Types::SymbolHash, T::Array[Types::SymbolHash])]) }
66
+ def to_h; end
67
+
68
+ sig { params(other: Object).returns(T::Boolean) }
69
+ def ==(other); end
70
+
71
+ sig { returns(Expression::Base) }
72
+ attr_reader :expression
73
+ end
74
+
75
+ module Types
76
+ SymbolHash = T.type_alias { T::Hash[Symbol, T.untyped] }
77
+ end
78
+
79
+ module Expression
80
+ class Base
81
+ abstract!
82
+
83
+ extend T::Sig
84
+ extend T::Helpers
85
+
86
+ sig { params(other: Object).returns(T::Boolean) }
87
+ def self.===(other); end
88
+
89
+ sig { abstract.params(date: ::Date).returns(T::Boolean) }
90
+ def include?(date); end
91
+
92
+ sig { returns(T::Hash[Symbol, T.any(Types::SymbolHash, T::Array[Types::SymbolHash])]) }
93
+ def to_h; end
94
+
95
+ sig { params(other: Expression::Base).returns(Expression::Union) }
96
+ def union(other); end
97
+
98
+ sig { params(other: Expression::Base).returns(Expression::Intersection) }
99
+ def intersection(other); end
100
+
101
+ sig { params(other: T.untyped).returns(Expression::Difference) }
102
+ def difference(other); end
103
+
104
+ sig { returns(Symbol) }
105
+ def hash_key; end
106
+
107
+ sig { abstract.returns(T.any(Types::SymbolHash, T::Array[Types::SymbolHash])) }
108
+ def hash_value; end
109
+ end
110
+
111
+ class Biweekly < Date
112
+ sig { params(weekday: Integer, start_after: Object).void }
113
+ def initialize(weekday:, start_after: ::Date.today); end
114
+
115
+ sig { override.params(date: ::Date).returns(T::Boolean) }
116
+ def include?(date); end
117
+
118
+ sig { returns(Integer) }
119
+ attr_reader :weekday
120
+
121
+ sig { returns(::Date) }
122
+ attr_reader :start_after
123
+
124
+ sig { returns(::Date) }
125
+ attr_reader :_first_occurrence
126
+
127
+ sig { returns(::Date) }
128
+ def find_first_occurrence; end
129
+ end
130
+
131
+ class Date < Base
132
+ abstract!
133
+
134
+ sig { params(other: Object).returns(T::Boolean) }
135
+ def ==(other); end
136
+
137
+ sig { returns(Integer) }
138
+ def hash; end
139
+
140
+ sig { returns(Types::SymbolHash) }
141
+ def attributes; end
142
+
143
+ sig { params(value: BasicObject).returns(T.untyped) }
144
+ def normalize_attribute_value(value); end
145
+ end
146
+
147
+ class DayInMonth < Date
148
+ include LastDateOfMonth
149
+
150
+ sig { params(day: Integer).void }
151
+ def initialize(day:); end
152
+
153
+ sig { override.params(date: ::Date).returns(T::Boolean) }
154
+ def include?(date); end
155
+
156
+ sig { returns(Integer) }
157
+ attr_reader :day
158
+ end
159
+
160
+ class Difference < Base
161
+ sig { params(included: Expression::Base, excluded: Expression::Base).void }
162
+ def initialize(included:, excluded:); end
163
+
164
+ sig { override.params(date: ::Date).returns(T::Boolean) }
165
+ def include?(date); end
166
+
167
+ sig { params(other: Object).returns(T::Boolean) }
168
+ def ==(other); end
169
+
170
+ sig { returns(Expression::Base) }
171
+ attr_reader :included
172
+
173
+ sig { returns(Expression::Base) }
174
+ attr_reader :excluded
175
+
176
+ sig { override.returns(Types::SymbolHash) }
177
+ def hash_value; end
178
+ end
179
+
180
+ class ExactDate < Date
181
+ sig { params(date: Object).void }
182
+ def initialize(date:); end
183
+
184
+ sig { override.params(other_date: ::Date).returns(T::Boolean) }
185
+ def include?(other_date); end
186
+
187
+ sig { returns(::Date) }
188
+ attr_reader :date
189
+ end
190
+
191
+ class Intersection < Set
192
+ sig { params(elements: T.any(Expression::Base, T::Array[Expression::Base])).void }
193
+ def initialize(*elements); end
194
+
195
+ sig { override.params(date: ::Date).returns(T::Boolean) }
196
+ def include?(date); end
197
+ end
198
+
199
+ class RangeInYear < Date
200
+ sig do
201
+ params(
202
+ start_month: Integer,
203
+ end_month: Integer,
204
+ start_day: Integer,
205
+ end_day: Integer
206
+ ).void
207
+ end
208
+ def initialize(start_month:, end_month: start_month, start_day: 0, end_day: 0); end
209
+
210
+ sig { override.params(date: ::Date).returns(T::Boolean) }
211
+ def include?(date); end
212
+
213
+ sig { returns(Integer) }
214
+ attr_reader :start_month
215
+
216
+ sig { returns(Integer) }
217
+ attr_reader :end_month
218
+
219
+ sig { returns(Integer) }
220
+ attr_reader :start_day
221
+
222
+ sig { returns(Integer) }
223
+ attr_reader :end_day
224
+
225
+ sig { params(date: ::Date).returns(T::Boolean) }
226
+ def months_include?(date); end
227
+
228
+ sig { params(date: ::Date).returns(T::Boolean) }
229
+ def start_month_include?(date); end
230
+
231
+ sig { params(date: ::Date).returns(T::Boolean) }
232
+ def end_month_include?(date); end
233
+
234
+ sig { override.returns(T::Hash[Symbol, Integer]) }
235
+ def hash_value; end
236
+ end
237
+
238
+ class Set < Base
239
+ abstract!
240
+
241
+ sig { returns(T::Array[Expression::Base]) }
242
+ attr_reader :elements
243
+
244
+ sig { params(elements: T.any(Expression::Base, T::Array[Expression::Base])).void }
245
+ def initialize(*elements); end
246
+
247
+ sig { params(element: T.untyped).returns(Repeatable::Expression::Set) }
248
+ def <<(element); end
249
+
250
+ sig { params(other: Object).returns(T::Boolean) }
251
+ def ==(other); end
252
+
253
+ sig { override.returns(T::Array[Types::SymbolHash]) }
254
+ def hash_value; end
255
+ end
256
+
257
+ class Union < Set
258
+ sig { params(elements: T.any(Expression::Base, T::Array[Expression::Base])).void }
259
+ def initialize(*elements); end
260
+
261
+ sig { override.params(date: ::Date).returns(T::Boolean) }
262
+ def include?(date); end
263
+ end
264
+
265
+ class Weekday < Date
266
+ sig { params(weekday: Integer).void }
267
+ def initialize(weekday:); end
268
+
269
+ sig { override.params(date: ::Date).returns(T::Boolean) }
270
+ def include?(date); end
271
+
272
+ sig { returns(Integer) }
273
+ attr_reader :weekday
274
+ end
275
+
276
+ class WeekdayInMonth < Date
277
+ include LastDateOfMonth
278
+
279
+ sig { params(weekday: Integer, count: Integer).void }
280
+ def initialize(weekday:, count:); end
281
+
282
+ sig { override.params(date: ::Date).returns(T::Boolean) }
283
+ def include?(date); end
284
+
285
+ sig { returns(Integer) }
286
+ attr_reader :weekday
287
+
288
+ sig { returns(Integer) }
289
+ attr_reader :count
290
+
291
+ sig { params(date: ::Date).returns(T::Boolean) }
292
+ def day_matches?(date); end
293
+
294
+ sig { params(date: ::Date).returns(T::Boolean) }
295
+ def week_matches?(date); end
296
+
297
+ sig { params(date: ::Date).returns(Integer) }
298
+ def week_from_beginning(date); end
299
+
300
+ sig { params(date: ::Date).returns(Integer) }
301
+ def week_from_end(date); end
302
+
303
+ sig { params(zero_indexed_day: Integer).returns(Integer) }
304
+ def week_in_month(zero_indexed_day); end
305
+
306
+ sig { returns(T::Boolean) }
307
+ def negative_count?; end
308
+ end
309
+ end
310
+ end
data/repeatable.gemspec CHANGED
@@ -1,22 +1,22 @@
1
- lib = File.expand_path('../lib', __FILE__)
1
+ lib = File.expand_path("../lib", __FILE__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require 'repeatable/version'
3
+ require "repeatable/version"
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = 'repeatable'
7
- spec.version = Repeatable::VERSION
8
- spec.authors = ['Mo Lawson']
9
- spec.email = ['mo@molawson.com']
6
+ spec.name = "repeatable"
7
+ spec.version = Repeatable::VERSION
8
+ spec.authors = ["Mo Lawson"]
9
+ spec.email = ["mo@molawson.com"]
10
10
 
11
- spec.summary = 'Describe recurring event schedules and calculate their occurrences'
12
- spec.description = "Ruby implementation of Martin Fowler's 'Recurring Events for Calendars' paper."
13
- spec.homepage = 'https://github.com/molawson/repeatable'
14
- spec.license = 'MIT'
11
+ spec.summary = "Describe recurring event schedules and calculate their occurrences"
12
+ spec.description = "Ruby implementation of Martin Fowler's 'Recurring Events for Calendars' paper."
13
+ spec.homepage = "https://github.com/molawson/repeatable"
14
+ spec.license = "MIT"
15
+ spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/main/CHANGELOG.md"
16
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
15
17
 
16
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
- spec.require_paths = ['lib']
18
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
19
+ spec.require_paths = ["lib"]
18
20
 
19
- spec.add_development_dependency 'bundler', '~> 1.6'
20
- spec.add_development_dependency 'rake', '~> 10.0'
21
- spec.add_development_dependency 'rspec', '~> 3.0'
21
+ spec.add_dependency "sorbet-runtime"
22
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