parlour 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,68 @@
1
+ # typed: true
2
+ module Parlour
3
+ class RbiGenerator
4
+ class ModuleNamespace < Namespace
5
+ extend T::Sig
6
+
7
+ sig do
8
+ params(
9
+ name: String,
10
+ interface: T::Boolean,
11
+ block: T.nilable(T.proc.params(x: ClassNamespace).void)
12
+ ).void
13
+ end
14
+ def initialize(name, interface, &block)
15
+ super(&block)
16
+ @name = name
17
+ @interface = interface
18
+ end
19
+
20
+ sig do
21
+ override.params(
22
+ indent_level: Integer,
23
+ options: Options
24
+ ).returns(T::Array[String])
25
+ end
26
+ def generate_rbi(indent_level, options)
27
+ lines = []
28
+ lines << options.indented(indent_level, "module #{name}")
29
+ lines += [options.indented(indent_level + 1, "interface!"), ""] if interface
30
+ lines += super(indent_level + 1, options)
31
+ lines << options.indented(indent_level, "end")
32
+ end
33
+
34
+ sig { returns(String) }
35
+ attr_reader :name
36
+
37
+ sig { returns(T::Boolean) }
38
+ attr_reader :interface
39
+
40
+ sig do
41
+ override.params(
42
+ others: T::Array[RbiGenerator::RbiObject]
43
+ ).returns(T::Boolean)
44
+ end
45
+ def mergeable?(others)
46
+ others = T.cast(others, T::Array[RbiGenerator::ModuleNamespace]) rescue (return false)
47
+ all = others + [self]
48
+
49
+ all.map(&:interface).uniq.length == 1
50
+ end
51
+
52
+ sig do
53
+ override.params(
54
+ others: T::Array[RbiGenerator::RbiObject]
55
+ ).void
56
+ end
57
+ def merge_into_self(others)
58
+ others.each do |other|
59
+ other = T.cast(other, ModuleNamespace)
60
+
61
+ other.children.each { |c| children << c }
62
+ other.extends.each { |e| extends << e }
63
+ other.includes.each { |i| includes << i }
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,144 @@
1
+ # typed: true
2
+ module Parlour
3
+ class RbiGenerator
4
+ class Namespace
5
+ extend T::Sig
6
+
7
+ include RbiObject
8
+
9
+ sig do
10
+ implementation.overridable.params(
11
+ indent_level: Integer,
12
+ options: Options
13
+ ).returns(T::Array[String])
14
+ end
15
+ def generate_rbi(indent_level, options)
16
+ result = []
17
+
18
+ if includes.any? || extends.any?
19
+ result += includes.map do |i|
20
+ options.indented(indent_level, "include #{i}")
21
+ end
22
+ result += extends.map do |e|
23
+ options.indented(indent_level, "extend #{e}")
24
+ end
25
+ result << ""
26
+ end
27
+
28
+ first, *rest = children
29
+ return [] unless first
30
+
31
+ result += first.generate_rbi(indent_level, options) + T.must(rest)
32
+ .map { |obj| obj.generate_rbi(indent_level, options) }
33
+ .map { |lines| [""] + lines }
34
+ .flatten
35
+
36
+ result
37
+ end
38
+
39
+ sig { params(block: T.nilable(T.proc.params(x: Namespace).void)).void }
40
+ def initialize(&block)
41
+ @children = []
42
+ @extends = []
43
+ @includes = []
44
+ yield_self(&block)
45
+ end
46
+
47
+ sig { returns(T::Array[RbiObject]) }
48
+ attr_reader :children
49
+
50
+ sig { returns(T::Array[String]) }
51
+ attr_reader :extends
52
+
53
+ sig { returns(T::Array[String]) }
54
+ attr_reader :includes
55
+
56
+ sig do
57
+ params(
58
+ name: String,
59
+ superclass: T.nilable(String),
60
+ abstract: T::Boolean,
61
+ block: T.nilable(T.proc.params(x: ClassNamespace).void)
62
+ ).returns(ClassNamespace)
63
+ end
64
+ def create_class(name, superclass: nil, abstract: false, &block)
65
+ new_class = ClassNamespace.new(name, superclass, abstract, &block)
66
+ children << new_class
67
+ new_class
68
+ end
69
+
70
+ sig do
71
+ params(
72
+ name: String,
73
+ interface: T::Boolean,
74
+ block: T.nilable(T.proc.params(x: ClassNamespace).void)
75
+ ).returns(ModuleNamespace)
76
+ end
77
+ def create_module(name, interface: false, &block)
78
+ new_module = ModuleNamespace.new(name, interface, &block)
79
+ children << new_module
80
+ new_module
81
+ end
82
+
83
+ sig do
84
+ params(
85
+ name: String,
86
+ parameters: T::Array[Parameter],
87
+ return_type: T.nilable(String),
88
+ abstract: T::Boolean,
89
+ implementation: T::Boolean,
90
+ override: T::Boolean,
91
+ overridable: T::Boolean,
92
+ class_method: T::Boolean
93
+ ).returns(Method)
94
+ end
95
+ def create_method(name, parameters, return_type = nil, abstract: false, implementation: false, override: false, overridable: false, class_method: false)
96
+ new_method = RbiGenerator::Method.new(
97
+ name,
98
+ parameters,
99
+ return_type,
100
+ abstract: abstract,
101
+ implementation: implementation,
102
+ override: override,
103
+ overridable: overridable,
104
+ class_method: class_method
105
+ )
106
+ children << new_method
107
+ new_method
108
+ end
109
+
110
+ sig { params(name: String).void }
111
+ def add_extend(name)
112
+ extends << name
113
+ end
114
+ sig { params(name: String).void }
115
+ def add_include(name)
116
+ includes << name
117
+ end
118
+
119
+ sig do
120
+ implementation.overridable.params(
121
+ others: T::Array[RbiGenerator::RbiObject]
122
+ ).returns(T::Boolean)
123
+ end
124
+ def mergeable?(others)
125
+ true
126
+ end
127
+
128
+ sig do
129
+ implementation.overridable.params(
130
+ others: T::Array[RbiGenerator::RbiObject]
131
+ ).void
132
+ end
133
+ def merge_into_self(others)
134
+ others.each do |other|
135
+ other = T.cast(other, Namespace)
136
+
137
+ other.children.each { |c| children << c }
138
+ other.extends.each { |e| extends << e }
139
+ other.includes.each { |i| includes << i }
140
+ end
141
+ end
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,25 @@
1
+ # typed: true
2
+ module Parlour
3
+ class RbiGenerator
4
+ class Options
5
+ extend T::Sig
6
+
7
+ sig { params(break_params: Integer, tab_size: Integer).void }
8
+ def initialize(break_params:, tab_size:)
9
+ @break_params = break_params
10
+ @tab_size = tab_size
11
+ end
12
+
13
+ sig { returns(Integer) }
14
+ attr_reader :break_params
15
+
16
+ sig { returns(Integer) }
17
+ attr_reader :tab_size
18
+
19
+ sig { params(level: Integer, str: String).returns(String) }
20
+ def indented(level, str)
21
+ " " * (level * tab_size) + str
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,81 @@
1
+ # typed: true
2
+ module Parlour
3
+ class RbiGenerator
4
+ class Parameter
5
+ extend T::Sig
6
+
7
+ sig do
8
+ params(
9
+ name: String,
10
+ type: T.nilable(String),
11
+ default: T.nilable(String)
12
+ ).void
13
+ end
14
+ def initialize(name, type: nil, default: nil)
15
+ @name = name
16
+
17
+ prefix = /^(\*\*|\*|\&)?/.match(name)&.captures&.first || ''
18
+ @kind = PREFIXES.rassoc(prefix).first
19
+
20
+ @kind = :keyword if kind == :normal && name.end_with?(':')
21
+
22
+ @type = type
23
+ @default = default
24
+ end
25
+
26
+ sig { params(other: Object).returns(T::Boolean) }
27
+ def ==(other)
28
+ Parameter === other &&
29
+ name == other.name &&
30
+ kind == other.kind &&
31
+ type == other.type &&
32
+ default == other.default
33
+ end
34
+
35
+ sig { returns(String) }
36
+ attr_reader :name
37
+
38
+ sig { returns(String) }
39
+ def name_without_kind
40
+ return T.must(name[0..-2]) if kind == :keyword
41
+
42
+ prefix_match = /^(\*\*|\*|\&)?[a-zA-Z_]/.match(name)
43
+ raise 'unknown prefix' unless prefix_match
44
+ prefix = prefix_match.captures.first || ''
45
+ T.must(name[prefix.length..-1])
46
+ end
47
+
48
+ sig { returns(T.nilable(String)) }
49
+ attr_reader :type
50
+
51
+ sig { returns(T.nilable(String)) }
52
+ attr_reader :default
53
+
54
+ sig { returns(Symbol) }
55
+ attr_reader :kind
56
+
57
+ sig { returns(String) }
58
+ def to_def_param
59
+ if default.nil?
60
+ "#{name}"
61
+ elsif !default.nil? && kind == :keyword
62
+ "#{name} #{default}"
63
+ else
64
+ "#{name} = #{default}"
65
+ end
66
+ end
67
+
68
+ sig { returns(String) }
69
+ def to_sig_param
70
+ "#{name_without_kind}: #{type || 'T.untyped'}"
71
+ end
72
+
73
+ PREFIXES = {
74
+ normal: '',
75
+ splat: '*',
76
+ double_splat: '**',
77
+ block: '&'
78
+ }.freeze
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,32 @@
1
+ # typed: true
2
+ module Parlour
3
+ class RbiGenerator
4
+ module RbiObject
5
+ extend T::Helpers
6
+ extend T::Sig
7
+ interface!
8
+
9
+ sig do
10
+ abstract.params(
11
+ indent_level: Integer,
12
+ options: Options
13
+ ).returns(T::Array[String])
14
+ end
15
+ def generate_rbi(indent_level, options); end
16
+
17
+ sig do
18
+ abstract.params(
19
+ others: T::Array[RbiGenerator::RbiObject]
20
+ ).returns(T::Boolean)
21
+ end
22
+ def mergeable?(others); end
23
+
24
+ sig do
25
+ abstract.params(
26
+ others: T::Array[RbiGenerator::RbiObject]
27
+ ).void
28
+ end
29
+ def merge_into_self(others); end
30
+ end
31
+ end
32
+ end
@@ -1,3 +1,4 @@
1
+ # typed: strong
1
2
  module Parlour
2
- VERSION = "0.1.0"
3
+ VERSION = '0.1.1'
3
4
  end
@@ -7,9 +7,9 @@ Gem::Specification.new do |spec|
7
7
  spec.name = "parlour"
8
8
  spec.version = Parlour::VERSION
9
9
  spec.authors = ["Aaron Christiansen"]
10
- spec.email = ["aaronc20000@gmail.com"]
10
+ spec.email = ["hello@aaronc.cc"]
11
11
 
12
- spec.summary = %q{Will be something for Sorbet}
12
+ spec.summary = %q{An RBI generator}
13
13
  spec.homepage = "https://github.com/AaronC81/parlour"
14
14
  spec.license = "MIT"
15
15
 
@@ -22,7 +22,11 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ["lib"]
24
24
 
25
+ spec.add_dependency "sorbet-runtime"
26
+
25
27
  spec.add_development_dependency "bundler", "~> 2.0"
26
28
  spec.add_development_dependency "rake", "~> 10.0"
27
29
  spec.add_development_dependency "rspec", "~> 3.0"
30
+ spec.add_development_dependency "sorbet"
31
+ spec.add_development_dependency "simplecov"
28
32
  end
@@ -0,0 +1,2 @@
1
+ --dir
2
+ .
@@ -0,0 +1,636 @@
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/rake/all/rake.rbi
9
+ #
10
+ # rake-10.5.0
11
+ module Rake
12
+ def self.add_rakelib(*files); end
13
+ def self.application; end
14
+ def self.application=(app); end
15
+ def self.each_dir_parent(dir); end
16
+ def self.from_pathname(path); end
17
+ def self.load_rakefile(path); end
18
+ def self.original_dir; end
19
+ def self.suggested_thread_count; end
20
+ extend Rake::FileUtilsExt
21
+ end
22
+ module Rake::Version
23
+ end
24
+ class Module
25
+ def rake_extension(method); end
26
+ end
27
+ class String
28
+ def ext(newext = nil); end
29
+ def pathmap(spec = nil, &block); end
30
+ def pathmap_explode; end
31
+ def pathmap_partial(n); end
32
+ def pathmap_replace(patterns, &block); end
33
+ end
34
+ class Rake::EarlyTime
35
+ def <=>(other); end
36
+ def self.allocate; end
37
+ def self.instance; end
38
+ def self.new(*arg0); end
39
+ def to_s; end
40
+ extend Singleton::SingletonClassMethods
41
+ include Comparable
42
+ include Singleton
43
+ end
44
+ class Rake::LateTime
45
+ def <=>(other); end
46
+ def self.allocate; end
47
+ def self.instance; end
48
+ def self.new(*arg0); end
49
+ def to_s; end
50
+ extend Singleton::SingletonClassMethods
51
+ include Comparable
52
+ include Singleton
53
+ end
54
+ module Rake::AltSystem
55
+ def `(arg0); end
56
+ def backticks(arg0); end
57
+ def self.`(arg0); end
58
+ def self.backticks(arg0); end
59
+ def self.define_module_function(name, &block); end
60
+ def self.system(*arg0); end
61
+ def system(*arg0); end
62
+ end
63
+ module Rake::Win32
64
+ def self.normalize(path); end
65
+ def self.rake_system(*cmd); end
66
+ def self.win32_system_dir; end
67
+ def self.windows?; end
68
+ end
69
+ class Rake::Win32::Win32HomeError < RuntimeError
70
+ end
71
+ class Rake::LinkedList
72
+ def ==(other); end
73
+ def conj(item); end
74
+ def each; end
75
+ def empty?; end
76
+ def head; end
77
+ def initialize(head, tail = nil); end
78
+ def inspect; end
79
+ def self.cons(head, tail); end
80
+ def self.empty; end
81
+ def self.make(*args); end
82
+ def tail; end
83
+ def to_s; end
84
+ include Enumerable
85
+ end
86
+ class Rake::LinkedList::EmptyLinkedList < Rake::LinkedList
87
+ def empty?; end
88
+ def initialize; end
89
+ def self.cons(head, tail); end
90
+ end
91
+ class Rake::CpuCounter
92
+ def count; end
93
+ def count_with_default(default = nil); end
94
+ def self.count; end
95
+ end
96
+ class Rake::Scope < Rake::LinkedList
97
+ def path; end
98
+ def path_with_task_name(task_name); end
99
+ def trim(n); end
100
+ end
101
+ class Rake::Scope::EmptyScope < Rake::LinkedList::EmptyLinkedList
102
+ def path; end
103
+ def path_with_task_name(task_name); end
104
+ end
105
+ class Rake::TaskArgumentError < ArgumentError
106
+ end
107
+ class Rake::RuleRecursionOverflowError < StandardError
108
+ def add_target(target); end
109
+ def initialize(*args); end
110
+ def message; end
111
+ end
112
+ module Rake::TaskManager
113
+ def [](task_name, scopes = nil); end
114
+ def add_location(task); end
115
+ def attempt_rule(task_name, args, extensions, block, level); end
116
+ def clear; end
117
+ def create_rule(*args, &block); end
118
+ def current_scope; end
119
+ def define_task(task_class, *args, &block); end
120
+ def enhance_with_matching_rule(task_name, level = nil); end
121
+ def find_location; end
122
+ def generate_name; end
123
+ def get_description(task); end
124
+ def in_namespace(name); end
125
+ def initialize; end
126
+ def intern(task_class, task_name); end
127
+ def last_comment; end
128
+ def last_description; end
129
+ def last_description=(arg0); end
130
+ def lookup(task_name, initial_scope = nil); end
131
+ def lookup_in_scope(name, scope); end
132
+ def make_sources(task_name, extensions); end
133
+ def resolve_args(args); end
134
+ def resolve_args_with_dependencies(args, hash); end
135
+ def resolve_args_without_dependencies(args); end
136
+ def self.record_task_metadata; end
137
+ def self.record_task_metadata=(arg0); end
138
+ def synthesize_file_task(task_name); end
139
+ def tasks; end
140
+ def tasks_in_scope(scope); end
141
+ def trace_rule(level, message); end
142
+ end
143
+ module Rake::Cloneable
144
+ def initialize_copy(source); end
145
+ end
146
+ module FileUtils
147
+ def create_shell_runner(cmd); end
148
+ def rake_system(*cmd); end
149
+ def ruby(*args, &block); end
150
+ def safe_ln(*args); end
151
+ def set_verbose_option(options); end
152
+ def sh(*cmd, &block); end
153
+ def split_all(path); end
154
+ end
155
+ module Rake::FileUtilsExt
156
+ def cd(*args, &block); end
157
+ def chdir(*args, &block); end
158
+ def chmod(*args, &block); end
159
+ def chmod_R(*args, &block); end
160
+ def chown(*args, &block); end
161
+ def chown_R(*args, &block); end
162
+ def copy(*args, &block); end
163
+ def cp(*args, &block); end
164
+ def cp_r(*args, &block); end
165
+ def install(*args, &block); end
166
+ def link(*args, &block); end
167
+ def ln(*args, &block); end
168
+ def ln_s(*args, &block); end
169
+ def ln_sf(*args, &block); end
170
+ def makedirs(*args, &block); end
171
+ def mkdir(*args, &block); end
172
+ def mkdir_p(*args, &block); end
173
+ def mkpath(*args, &block); end
174
+ def move(*args, &block); end
175
+ def mv(*args, &block); end
176
+ def nowrite(value = nil); end
177
+ def rake_check_options(options, *optdecl); end
178
+ def rake_merge_option(args, defaults); end
179
+ def rake_output_message(message); end
180
+ def remove(*args, &block); end
181
+ def rm(*args, &block); end
182
+ def rm_f(*args, &block); end
183
+ def rm_r(*args, &block); end
184
+ def rm_rf(*args, &block); end
185
+ def rmdir(*args, &block); end
186
+ def rmtree(*args, &block); end
187
+ def ruby(*args, &block); end
188
+ def safe_unlink(*args, &block); end
189
+ def self.nowrite_flag; end
190
+ def self.nowrite_flag=(arg0); end
191
+ def self.verbose_flag; end
192
+ def self.verbose_flag=(arg0); end
193
+ def sh(*args, &block); end
194
+ def symlink(*args, &block); end
195
+ def touch(*args, &block); end
196
+ def verbose(value = nil); end
197
+ def when_writing(msg = nil); end
198
+ extend Rake::FileUtilsExt
199
+ include FileUtils
200
+ end
201
+ class Rake::FileList
202
+ def &(*args, &block); end
203
+ def *(other); end
204
+ def +(*args, &block); end
205
+ def -(*args, &block); end
206
+ def <<(obj); end
207
+ def <=>(*args, &block); end
208
+ def ==(array); end
209
+ def [](*args, &block); end
210
+ def []=(*args, &block); end
211
+ def add(*filenames); end
212
+ def add_matching(pattern); end
213
+ def all?(*args, &block); end
214
+ def any?(*args, &block); end
215
+ def append(*args, &block); end
216
+ def assoc(*args, &block); end
217
+ def at(*args, &block); end
218
+ def bsearch(*args, &block); end
219
+ def bsearch_index(*args, &block); end
220
+ def chunk(*args, &block); end
221
+ def chunk_while(*args, &block); end
222
+ def clear(*args, &block); end
223
+ def clear_exclude; end
224
+ def collect!(*args, &block); end
225
+ def collect(*args, &block); end
226
+ def collect_concat(*args, &block); end
227
+ def combination(*args, &block); end
228
+ def compact!(*args, &block); end
229
+ def compact(*args, &block); end
230
+ def concat(*args, &block); end
231
+ def count(*args, &block); end
232
+ def cycle(*args, &block); end
233
+ def delete(*args, &block); end
234
+ def delete_at(*args, &block); end
235
+ def delete_if(*args, &block); end
236
+ def detect(*args, &block); end
237
+ def dig(*args, &block); end
238
+ def drop(*args, &block); end
239
+ def drop_while(*args, &block); end
240
+ def each(*args, &block); end
241
+ def each_cons(*args, &block); end
242
+ def each_entry(*args, &block); end
243
+ def each_index(*args, &block); end
244
+ def each_slice(*args, &block); end
245
+ def each_with_index(*args, &block); end
246
+ def each_with_object(*args, &block); end
247
+ def egrep(pattern, *options); end
248
+ def empty?(*args, &block); end
249
+ def entries(*args, &block); end
250
+ def exclude(*patterns, &block); end
251
+ def excluded_from_list?(fn); end
252
+ def existing!; end
253
+ def existing; end
254
+ def ext(newext = nil); end
255
+ def fetch(*args, &block); end
256
+ def fill(*args, &block); end
257
+ def find(*args, &block); end
258
+ def find_all(*args, &block); end
259
+ def find_index(*args, &block); end
260
+ def first(*args, &block); end
261
+ def flat_map(*args, &block); end
262
+ def flatten!(*args, &block); end
263
+ def flatten(*args, &block); end
264
+ def grep(*args, &block); end
265
+ def grep_v(*args, &block); end
266
+ def group_by(*args, &block); end
267
+ def gsub!(pat, rep); end
268
+ def gsub(pat, rep); end
269
+ def import(array); end
270
+ def include(*filenames); end
271
+ def include?(*args, &block); end
272
+ def index(*args, &block); end
273
+ def initialize(*patterns); end
274
+ def inject(*args, &block); end
275
+ def insert(*args, &block); end
276
+ def inspect(*args, &block); end
277
+ def is_a?(klass); end
278
+ def join(*args, &block); end
279
+ def keep_if(*args, &block); end
280
+ def kind_of?(klass); end
281
+ def last(*args, &block); end
282
+ def lazy(*args, &block); end
283
+ def length(*args, &block); end
284
+ def map!(*args, &block); end
285
+ def map(*args, &block); end
286
+ def max(*args, &block); end
287
+ def max_by(*args, &block); end
288
+ def member?(*args, &block); end
289
+ def min(*args, &block); end
290
+ def min_by(*args, &block); end
291
+ def minmax(*args, &block); end
292
+ def minmax_by(*args, &block); end
293
+ def none?(*args, &block); end
294
+ def one?(*args, &block); end
295
+ def pack(*args, &block); end
296
+ def partition(&block); end
297
+ def pathmap(spec = nil); end
298
+ def permutation(*args, &block); end
299
+ def pop(*args, &block); end
300
+ def prepend(*args, &block); end
301
+ def product(*args, &block); end
302
+ def push(*args, &block); end
303
+ def rassoc(*args, &block); end
304
+ def reduce(*args, &block); end
305
+ def reject!(*args, &block); end
306
+ def reject(*args, &block); end
307
+ def repeated_combination(*args, &block); end
308
+ def repeated_permutation(*args, &block); end
309
+ def replace(*args, &block); end
310
+ def resolve; end
311
+ def resolve_add(fn); end
312
+ def resolve_exclude; end
313
+ def reverse!(*args, &block); end
314
+ def reverse(*args, &block); end
315
+ def reverse_each(*args, &block); end
316
+ def rindex(*args, &block); end
317
+ def rotate!(*args, &block); end
318
+ def rotate(*args, &block); end
319
+ def sample(*args, &block); end
320
+ def select!(*args, &block); end
321
+ def select(*args, &block); end
322
+ def self.[](*args); end
323
+ def self.glob(pattern, *args); end
324
+ def shelljoin(*args, &block); end
325
+ def shift(*args, &block); end
326
+ def shuffle!(*args, &block); end
327
+ def shuffle(*args, &block); end
328
+ def size(*args, &block); end
329
+ def slice!(*args, &block); end
330
+ def slice(*args, &block); end
331
+ def slice_after(*args, &block); end
332
+ def slice_before(*args, &block); end
333
+ def slice_when(*args, &block); end
334
+ def sort!(*args, &block); end
335
+ def sort(*args, &block); end
336
+ def sort_by!(*args, &block); end
337
+ def sort_by(*args, &block); end
338
+ def sub!(pat, rep); end
339
+ def sub(pat, rep); end
340
+ def sum(*args, &block); end
341
+ def take(*args, &block); end
342
+ def take_while(*args, &block); end
343
+ def to_a; end
344
+ def to_ary; end
345
+ def to_h(*args, &block); end
346
+ def to_s; end
347
+ def to_set(*args, &block); end
348
+ def transpose(*args, &block); end
349
+ def uniq!(*args, &block); end
350
+ def uniq(*args, &block); end
351
+ def unshift(*args, &block); end
352
+ def values_at(*args, &block); end
353
+ def zip(*args, &block); end
354
+ def |(*args, &block); end
355
+ include Rake::Cloneable
356
+ end
357
+ class Rake::Promise
358
+ def chore; end
359
+ def complete?; end
360
+ def discard; end
361
+ def error?; end
362
+ def initialize(args, &block); end
363
+ def recorder; end
364
+ def recorder=(arg0); end
365
+ def result?; end
366
+ def stat(*args); end
367
+ def value; end
368
+ def work; end
369
+ end
370
+ class Rake::ThreadPool
371
+ def __queue__; end
372
+ def future(*args, &block); end
373
+ def gather_history; end
374
+ def history; end
375
+ def initialize(thread_count); end
376
+ def join; end
377
+ def process_queue_item; end
378
+ def safe_thread_count; end
379
+ def start_thread; end
380
+ def stat(event, data = nil); end
381
+ def statistics; end
382
+ end
383
+ module Rake::PrivateReader
384
+ def self.included(base); end
385
+ end
386
+ module Rake::PrivateReader::ClassMethods
387
+ def private_reader(*names); end
388
+ end
389
+ class Rake::ThreadHistoryDisplay
390
+ def initialize(stats); end
391
+ def items; end
392
+ def rename(hash, key, renames); end
393
+ def show; end
394
+ def stats; end
395
+ def threads; end
396
+ extend Rake::PrivateReader::ClassMethods
397
+ include Rake::PrivateReader
398
+ end
399
+ module Rake::TraceOutput
400
+ def trace_on(out, *strings); end
401
+ end
402
+ class Rake::CommandLineOptionError < StandardError
403
+ end
404
+ class Rake::Application
405
+ def add_import(fn); end
406
+ def add_loader(ext, loader); end
407
+ def collect_command_line_tasks(args); end
408
+ def default_task_name; end
409
+ def deprecate(old_usage, new_usage, call_site); end
410
+ def display_error_message(ex); end
411
+ def display_exception_backtrace(ex); end
412
+ def display_exception_details(ex); end
413
+ def display_exception_message_details(ex); end
414
+ def display_prerequisites; end
415
+ def display_tasks_and_comments; end
416
+ def dynamic_width; end
417
+ def dynamic_width_stty; end
418
+ def dynamic_width_tput; end
419
+ def exit_because_of_exception(ex); end
420
+ def find_rakefile_location; end
421
+ def glob(path, &block); end
422
+ def handle_options; end
423
+ def has_cause?(ex); end
424
+ def has_chain?(exception); end
425
+ def have_rakefile; end
426
+ def init(app_name = nil); end
427
+ def initialize; end
428
+ def invoke_task(task_string); end
429
+ def load_imports; end
430
+ def load_rakefile; end
431
+ def name; end
432
+ def options; end
433
+ def original_dir; end
434
+ def parse_task_string(string); end
435
+ def print_rakefile_directory(location); end
436
+ def rake_require(file_name, paths = nil, loaded = nil); end
437
+ def rakefile; end
438
+ def rakefile_location(backtrace = nil); end
439
+ def raw_load_rakefile; end
440
+ def run; end
441
+ def run_with_threads; end
442
+ def select_tasks_to_show(options, show_tasks, value); end
443
+ def select_trace_output(options, trace_option, value); end
444
+ def sort_options(options); end
445
+ def standard_exception_handling; end
446
+ def standard_rake_options; end
447
+ def standard_system_dir; end
448
+ def system_dir; end
449
+ def terminal_columns; end
450
+ def terminal_columns=(arg0); end
451
+ def terminal_width; end
452
+ def thread_pool; end
453
+ def top_level; end
454
+ def top_level_tasks; end
455
+ def trace(*strings); end
456
+ def truncate(string, width); end
457
+ def truncate_output?; end
458
+ def tty_output=(tty_output_state); end
459
+ def tty_output?; end
460
+ def unix?; end
461
+ def windows?; end
462
+ include Rake::TaskManager
463
+ include Rake::TraceOutput
464
+ end
465
+ class Rake::PseudoStatus
466
+ def >>(n); end
467
+ def exited?; end
468
+ def exitstatus; end
469
+ def initialize(code = nil); end
470
+ def stopped?; end
471
+ def to_i; end
472
+ end
473
+ class Rake::TaskArguments
474
+ def [](index); end
475
+ def each(&block); end
476
+ def extras; end
477
+ def has_key?(key); end
478
+ def initialize(names, values, parent = nil); end
479
+ def inspect; end
480
+ def lookup(name); end
481
+ def method_missing(sym, *args); end
482
+ def names; end
483
+ def new_scope(names); end
484
+ def to_a; end
485
+ def to_hash; end
486
+ def to_s; end
487
+ def values_at(*keys); end
488
+ def with_defaults(defaults); end
489
+ include Enumerable
490
+ end
491
+ class Rake::InvocationChain < Rake::LinkedList
492
+ def append(invocation); end
493
+ def member?(invocation); end
494
+ def prefix; end
495
+ def self.append(invocation, chain); end
496
+ def to_s; end
497
+ end
498
+ class Rake::InvocationChain::EmptyInvocationChain < Rake::LinkedList::EmptyLinkedList
499
+ def append(invocation); end
500
+ def member?(obj); end
501
+ def to_s; end
502
+ end
503
+ module Rake::InvocationExceptionMixin
504
+ def chain; end
505
+ def chain=(value); end
506
+ end
507
+ class Rake::Task
508
+ def actions; end
509
+ def add_chain_to(exception, new_chain); end
510
+ def add_comment(comment); end
511
+ def add_description(description); end
512
+ def all_prerequisite_tasks; end
513
+ def application; end
514
+ def application=(arg0); end
515
+ def arg_description; end
516
+ def arg_names; end
517
+ def clear; end
518
+ def clear_actions; end
519
+ def clear_comments; end
520
+ def clear_prerequisites; end
521
+ def collect_prerequisites(seen); end
522
+ def comment; end
523
+ def comment=(comment); end
524
+ def enhance(deps = nil, &block); end
525
+ def execute(args = nil); end
526
+ def first_sentence(string); end
527
+ def format_trace_flags; end
528
+ def full_comment; end
529
+ def initialize(task_name, app); end
530
+ def inspect; end
531
+ def investigation; end
532
+ def invoke(*args); end
533
+ def invoke_prerequisites(task_args, invocation_chain); end
534
+ def invoke_prerequisites_concurrently(task_args, invocation_chain); end
535
+ def invoke_with_call_chain(task_args, invocation_chain); end
536
+ def locations; end
537
+ def lookup_prerequisite(prerequisite_name); end
538
+ def name; end
539
+ def name_with_args; end
540
+ def needed?; end
541
+ def prerequisite_tasks; end
542
+ def prerequisites; end
543
+ def reenable; end
544
+ def scope; end
545
+ def self.[](task_name); end
546
+ def self.clear; end
547
+ def self.create_rule(*args, &block); end
548
+ def self.define_task(*args, &block); end
549
+ def self.scope_name(scope, task_name); end
550
+ def self.task_defined?(task_name); end
551
+ def self.tasks; end
552
+ def set_arg_names(args); end
553
+ def source; end
554
+ def sources; end
555
+ def sources=(arg0); end
556
+ def timestamp; end
557
+ def to_s; end
558
+ def transform_comments(separator, &block); end
559
+ end
560
+ class Rake::FileTask < Rake::Task
561
+ def needed?; end
562
+ def out_of_date?(stamp); end
563
+ def self.scope_name(scope, task_name); end
564
+ def timestamp; end
565
+ end
566
+ class Rake::FileCreationTask < Rake::FileTask
567
+ def needed?; end
568
+ def timestamp; end
569
+ end
570
+ class Rake::MultiTask < Rake::Task
571
+ def invoke_prerequisites(task_args, invocation_chain); end
572
+ end
573
+ module Rake::DSL
574
+ def cd(*args, &block); end
575
+ def chdir(*args, &block); end
576
+ def chmod(*args, &block); end
577
+ def chmod_R(*args, &block); end
578
+ def chown(*args, &block); end
579
+ def chown_R(*args, &block); end
580
+ def copy(*args, &block); end
581
+ def cp(*args, &block); end
582
+ def cp_r(*args, &block); end
583
+ def desc(description); end
584
+ def directory(*args, &block); end
585
+ def file(*args, &block); end
586
+ def file_create(*args, &block); end
587
+ def import(*fns); end
588
+ def install(*args, &block); end
589
+ def link(*args, &block); end
590
+ def ln(*args, &block); end
591
+ def ln_s(*args, &block); end
592
+ def ln_sf(*args, &block); end
593
+ def makedirs(*args, &block); end
594
+ def mkdir(*args, &block); end
595
+ def mkdir_p(*args, &block); end
596
+ def mkpath(*args, &block); end
597
+ def move(*args, &block); end
598
+ def multitask(*args, &block); end
599
+ def mv(*args, &block); end
600
+ def namespace(name = nil, &block); end
601
+ def nowrite(value = nil); end
602
+ def rake_check_options(options, *optdecl); end
603
+ def rake_merge_option(args, defaults); end
604
+ def rake_output_message(message); end
605
+ def remove(*args, &block); end
606
+ def rm(*args, &block); end
607
+ def rm_f(*args, &block); end
608
+ def rm_r(*args, &block); end
609
+ def rm_rf(*args, &block); end
610
+ def rmdir(*args, &block); end
611
+ def rmtree(*args, &block); end
612
+ def ruby(*args, &block); end
613
+ def rule(*args, &block); end
614
+ def safe_ln(*args); end
615
+ def safe_unlink(*args, &block); end
616
+ def sh(*args, &block); end
617
+ def split_all(path); end
618
+ def symlink(*args, &block); end
619
+ def task(*args, &block); end
620
+ def touch(*args, &block); end
621
+ def verbose(value = nil); end
622
+ def when_writing(msg = nil); end
623
+ include Rake::FileUtilsExt
624
+ end
625
+ class Rake::DefaultLoader
626
+ def load(fn); end
627
+ end
628
+ class Rake::NameSpace
629
+ def [](name); end
630
+ def initialize(task_manager, scope_list); end
631
+ def scope; end
632
+ def tasks; end
633
+ end
634
+ module Rake::Backtrace
635
+ def self.collapse(backtrace); end
636
+ end