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.
- checksums.yaml +5 -5
- data/.git-blame-ignore-revs +13 -0
- data/.github/workflows/ci.yml +72 -0
- data/.gitignore +0 -1
- data/.rspec +0 -1
- data/.standard.yml +3 -0
- data/CHANGELOG.md +58 -3
- data/CODE_OF_CONDUCT.md +128 -0
- data/Gemfile +11 -3
- data/Gemfile.lock +95 -0
- data/README.md +49 -9
- data/Rakefile +9 -3
- data/lib/repeatable/conversions.rb +5 -1
- data/lib/repeatable/expression/base.rb +37 -11
- data/lib/repeatable/expression/biweekly.rb +14 -6
- data/lib/repeatable/expression/date.rb +11 -8
- data/lib/repeatable/expression/day_in_month.rb +11 -1
- data/lib/repeatable/expression/difference.rb +37 -0
- data/lib/repeatable/expression/exact_date.rb +21 -0
- data/lib/repeatable/expression/intersection.rb +9 -0
- data/lib/repeatable/expression/range_in_year.rb +39 -9
- data/lib/repeatable/expression/set.rb +15 -7
- data/lib/repeatable/expression/union.rb +9 -0
- data/lib/repeatable/expression/weekday.rb +4 -0
- data/lib/repeatable/expression/weekday_in_month.rb +35 -4
- data/lib/repeatable/expression.rb +1 -0
- data/lib/repeatable/last_date_of_month.rb +11 -0
- data/lib/repeatable/parse_error.rb +1 -0
- data/lib/repeatable/parser.rb +14 -2
- data/lib/repeatable/schedule.rb +23 -9
- data/lib/repeatable/types.rb +6 -0
- data/lib/repeatable/version.rb +2 -1
- data/lib/repeatable.rb +25 -19
- data/rbi/repeatable.rbi +310 -0
- data/repeatable.gemspec +15 -15
- data/sorbet/config +3 -0
- data/sorbet/rbi/gems/ast.rbi +49 -0
- data/sorbet/rbi/gems/coderay.rbi +285 -0
- data/sorbet/rbi/gems/commander.rbi +197 -0
- data/sorbet/rbi/gems/docile.rbi +36 -0
- data/sorbet/rbi/gems/highline.rbi +577 -0
- data/sorbet/rbi/gems/method_source.rbi +64 -0
- data/sorbet/rbi/gems/parallel.rbi +83 -0
- data/sorbet/rbi/gems/parlour.rbi +840 -0
- data/sorbet/rbi/gems/parser.rbi +1950 -0
- data/sorbet/rbi/gems/pry.rbi +1898 -0
- data/sorbet/rbi/gems/rainbow.rbi +118 -0
- data/sorbet/rbi/gems/rake.rbi +646 -0
- data/sorbet/rbi/gems/regexp_parser.rbi +926 -0
- data/sorbet/rbi/gems/repeatable.rbi +13 -0
- data/sorbet/rbi/gems/rexml.rbi +583 -0
- data/sorbet/rbi/gems/rspec-core.rbi +1919 -0
- data/sorbet/rbi/gems/rspec-expectations.rbi +1150 -0
- data/sorbet/rbi/gems/rspec-mocks.rbi +1100 -0
- data/sorbet/rbi/gems/rspec-support.rbi +280 -0
- data/sorbet/rbi/gems/rspec.rbi +15 -0
- data/sorbet/rbi/gems/rubocop-ast.rbi +1356 -0
- data/sorbet/rbi/gems/rubocop-performance.rbi +487 -0
- data/sorbet/rbi/gems/rubocop.rbi +7923 -0
- data/sorbet/rbi/gems/ruby-progressbar.rbi +304 -0
- data/sorbet/rbi/gems/simplecov-html.rbi +35 -0
- data/sorbet/rbi/gems/simplecov.rbi +419 -0
- data/sorbet/rbi/gems/simplecov_json_formatter.rbi +47 -0
- data/sorbet/rbi/gems/standard.rbi +130 -0
- data/sorbet/rbi/gems/unicode-display_width.rbi +20 -0
- data/sorbet/rbi/hidden-definitions/errors.txt +4273 -0
- data/sorbet/rbi/hidden-definitions/hidden.rbi +9013 -0
- data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +276 -0
- data/sorbet/rbi/sorbet-typed/lib/rake/all/rake.rbi +645 -0
- data/sorbet/rbi/sorbet-typed/lib/rspec-core/all/rspec-core.rbi +24 -0
- data/sorbet/rbi/sorbet-typed/lib/rubocop/>=1.8/rubocop.rbi +12 -0
- data/sorbet/rbi/sorbet-typed/lib/rubocop-performance/~>1.6/rubocop-performance.rbi +149 -0
- metadata +62 -45
- data/.travis.yml +0 -10
data/rbi/repeatable.rbi
ADDED
@@ -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(
|
1
|
+
lib = File.expand_path("../lib", __FILE__)
|
2
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
-
require
|
3
|
+
require "repeatable/version"
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
|
-
spec.name
|
7
|
-
spec.version
|
8
|
-
spec.authors
|
9
|
-
spec.email
|
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
|
12
|
-
spec.description
|
13
|
-
spec.homepage
|
14
|
-
spec.license
|
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
|
17
|
-
spec.require_paths = [
|
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.
|
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,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
|