]>
Commit | Line | Data |
---|---|---|
1 | # #!/usr/bin/env ruby | |
2 | snippet #! | |
3 | #!/usr/bin/env ruby | |
4 | ||
5 | # New Block | |
6 | snippet =b | |
7 | =begin rdoc | |
8 | ${1} | |
9 | =end | |
10 | snippet y | |
11 | :yields: ${1:arguments} | |
12 | snippet rb | |
13 | #!/usr/bin/env ruby -wKU | |
14 | snippet beg | |
15 | begin | |
16 | ${3} | |
17 | rescue ${1:Exception} => ${2:e} | |
18 | end | |
19 | ||
20 | snippet req | |
21 | require "${1}"${2} | |
22 | snippet # | |
23 | # => | |
24 | snippet end | |
25 | __END__ | |
26 | snippet case | |
27 | case ${1:object} | |
28 | when ${2:condition} | |
29 | ${3} | |
30 | end | |
31 | snippet when | |
32 | when ${1:condition} | |
33 | ${2} | |
34 | snippet def | |
35 | def ${1:method_name} | |
36 | ${2} | |
37 | end | |
38 | snippet deft | |
39 | def test_${1:case_name} | |
40 | ${2} | |
41 | end | |
42 | snippet if | |
43 | if ${1:condition} | |
44 | ${2} | |
45 | end | |
46 | snippet ife | |
47 | if ${1:condition} | |
48 | ${2} | |
49 | else | |
50 | ${3} | |
51 | end | |
52 | snippet elsif | |
53 | elsif ${1:condition} | |
54 | ${2} | |
55 | snippet unless | |
56 | unless ${1:condition} | |
57 | ${2} | |
58 | end | |
59 | snippet while | |
60 | while ${1:condition} | |
61 | ${2} | |
62 | end | |
63 | snippet for | |
64 | for ${1:e} in ${2:c} | |
65 | ${3} | |
66 | end | |
67 | snippet until | |
68 | until ${1:condition} | |
69 | ${2} | |
70 | end | |
71 | snippet cla class .. end | |
72 | class ${1:`substitute(Filename(), '^.', '\u&', '')`} | |
73 | ${2} | |
74 | end | |
75 | snippet cla class .. initialize .. end | |
76 | class ${1:`substitute(Filename(), '^.', '\u&', '')`} | |
77 | def initialize(${2:args}) | |
78 | ${3} | |
79 | end | |
80 | ||
81 | ||
82 | end | |
83 | snippet cla class .. < ParentClass .. initialize .. end | |
84 | class ${1:`substitute(Filename(), '^.', '\u&', '')`} < ${2:ParentClass} | |
85 | def initialize(${3:args}) | |
86 | ${4} | |
87 | end | |
88 | ||
89 | ||
90 | end | |
91 | snippet cla ClassName = Struct .. do .. end | |
92 | ${1:`substitute(Filename(), '^.', '\u&', '')`} = Struct.new(:${2:attr_names}) do | |
93 | def ${3:method_name} | |
94 | ${4} | |
95 | end | |
96 | ||
97 | ||
98 | end | |
99 | snippet cla class BlankSlate .. initialize .. end | |
100 | class ${1:BlankSlate} | |
101 | instance_methods.each { |meth| undef_method(meth) unless meth =~ /\A__/ } | |
102 | snippet cla class << self .. end | |
103 | class << ${1:self} | |
104 | ${2} | |
105 | end | |
106 | # class .. < DelegateClass .. initialize .. end | |
107 | snippet cla- | |
108 | class ${1:`substitute(Filename(), '^.', '\u&', '')`} < DelegateClass(${2:ParentClass}) | |
109 | def initialize(${3:args}) | |
110 | super(${4:del_obj}) | |
111 | ||
112 | ${5} | |
113 | end | |
114 | ||
115 | ||
116 | end | |
117 | snippet mod module .. end | |
118 | module ${1:`substitute(Filename(), '^.', '\u&', '')`} | |
119 | ${2} | |
120 | end | |
121 | snippet mod module .. module_function .. end | |
122 | module ${1:`substitute(Filename(), '^.', '\u&', '')`} | |
123 | module_function | |
124 | ||
125 | ${2} | |
126 | end | |
127 | snippet mod module .. ClassMethods .. end | |
128 | module ${1:`substitute(Filename(), '^.', '\u&', '')`} | |
129 | module ClassMethods | |
130 | ${2} | |
131 | end | |
132 | ||
133 | module InstanceMethods | |
134 | ||
135 | end | |
136 | ||
137 | def self.included(receiver) | |
138 | receiver.extend ClassMethods | |
139 | receiver.send :include, InstanceMethods | |
140 | end | |
141 | end | |
142 | # attr_reader | |
143 | snippet r | |
144 | attr_reader :${1:attr_names} | |
145 | # attr_writer | |
146 | snippet w | |
147 | attr_writer :${1:attr_names} | |
148 | # attr_accessor | |
149 | snippet rw | |
150 | attr_accessor :${1:attr_names} | |
151 | # include Enumerable | |
152 | snippet Enum | |
153 | include Enumerable | |
154 | ||
155 | def each(&block) | |
156 | ${1} | |
157 | end | |
158 | # include Comparable | |
159 | snippet Comp | |
160 | include Comparable | |
161 | ||
162 | def <=>(other) | |
163 | ${1} | |
164 | end | |
165 | # extend Forwardable | |
166 | snippet Forw- | |
167 | extend Forwardable | |
168 | # def self | |
169 | snippet defs | |
170 | def self.${1:class_method_name} | |
171 | ${2} | |
172 | end | |
173 | # def method_missing | |
174 | snippet defmm | |
175 | def method_missing(meth, *args, &blk) | |
176 | ${1} | |
177 | end | |
178 | snippet defd | |
179 | def_delegator :${1:@del_obj}, :${2:del_meth}, :${3:new_name} | |
180 | snippet defds | |
181 | def_delegators :${1:@del_obj}, :${2:del_methods} | |
182 | snippet am | |
183 | alias_method :${1:new_name}, :${2:old_name} | |
184 | snippet app | |
185 | if __FILE__ == $PROGRAM_NAME | |
186 | ${1} | |
187 | end | |
188 | # usage_if() | |
189 | snippet usai | |
190 | if ARGV.${1} | |
191 | abort "Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}"${3} | |
192 | end | |
193 | # usage_unless() | |
194 | snippet usau | |
195 | unless ARGV.${1} | |
196 | abort "Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}"${3} | |
197 | end | |
198 | snippet array | |
199 | Array.new(${1:10}) { |${2:i}| ${3} } | |
200 | snippet hash | |
201 | Hash.new { |${1:hash}, ${2:key}| $1[$2] = ${3} } | |
202 | snippet file File.foreach() { |line| .. } | |
203 | File.foreach(${1:"path/to/file"}) { |${2:line}| ${3} } | |
204 | snippet file File.read() | |
205 | File.read(${1:"path/to/file"})${2} | |
206 | snippet Dir Dir.global() { |file| .. } | |
207 | Dir.glob(${1:"dir/glob/*"}) { |${2:file}| ${3} } | |
208 | snippet Dir Dir[".."] | |
209 | Dir[${1:"glob/**/*.rb"}]${2} | |
210 | snippet dir | |
211 | Filename.dirname(__FILE__) | |
212 | snippet deli | |
213 | delete_if { |${1:e}| ${2} } | |
214 | snippet fil | |
215 | fill(${1:range}) { |${2:i}| ${3} } | |
216 | # flatten_once() | |
217 | snippet flao | |
218 | inject(Array.new) { |${1:arr}, ${2:a}| $1.push(*$2)}${3} | |
219 | snippet zip | |
220 | zip(${1:enums}) { |${2:row}| ${3} } | |
221 | # downto(0) { |n| .. } | |
222 | snippet dow | |
223 | downto(${1:0}) { |${2:n}| ${3} } | |
224 | snippet ste | |
225 | step(${1:2}) { |${2:n}| ${3} } | |
226 | snippet tim | |
227 | times { |${1:n}| ${2} } | |
228 | snippet upt | |
229 | upto(${1:1.0/0.0}) { |${2:n}| ${3} } | |
230 | snippet loo | |
231 | loop { ${1} } | |
232 | snippet ea | |
233 | each { |${1:e}| ${2} } | |
234 | snippet ead | |
235 | each do |${1:e}| | |
236 | ${2} | |
237 | end | |
238 | snippet eab | |
239 | each_byte { |${1:byte}| ${2} } | |
240 | snippet eac- each_char { |chr| .. } | |
241 | each_char { |${1:chr}| ${2} } | |
242 | snippet eac- each_cons(..) { |group| .. } | |
243 | each_cons(${1:2}) { |${2:group}| ${3} } | |
244 | snippet eai | |
245 | each_index { |${1:i}| ${2} } | |
246 | snippet eaid | |
247 | each_index do |${1:i}| | |
248 | end | |
249 | snippet eak | |
250 | each_key { |${1:key}| ${2} } | |
251 | snippet eakd | |
252 | each_key do |${1:key}| | |
253 | ${2} | |
254 | end | |
255 | snippet eal | |
256 | each_line { |${1:line}| ${2} } | |
257 | snippet eald | |
258 | each_line do |${1:line}| | |
259 | ${2} | |
260 | end | |
261 | snippet eap | |
262 | each_pair { |${1:name}, ${2:val}| ${3} } | |
263 | snippet eapd | |
264 | each_pair do |${1:name}, ${2:val}| | |
265 | ${3} | |
266 | end | |
267 | snippet eas- | |
268 | each_slice(${1:2}) { |${2:group}| ${3} } | |
269 | snippet easd- | |
270 | each_slice(${1:2}) do |${2:group}| | |
271 | ${3} | |
272 | end | |
273 | snippet eav | |
274 | each_value { |${1:val}| ${2} } | |
275 | snippet eavd | |
276 | each_value do |${1:val}| | |
277 | ${2} | |
278 | end | |
279 | snippet eawi | |
280 | each_with_index { |${1:e}, ${2:i}| ${3} } | |
281 | snippet eawid | |
282 | each_with_index do |${1:e},${2:i}| | |
283 | ${3} | |
284 | end | |
285 | snippet reve | |
286 | reverse_each { |${1:e}| ${2} } | |
287 | snippet reved | |
288 | reverse_each do |${1:e}| | |
289 | ${2} | |
290 | end | |
291 | snippet inj | |
292 | inject(${1:init}) { |${2:mem}, ${3:var}| ${4} } | |
293 | snippet injd | |
294 | inject(${1:init}) do |${2:mem}, ${3:var}| | |
295 | ${4} | |
296 | end | |
297 | snippet map | |
298 | map { |${1:e}| ${2} } | |
299 | snippet mapd | |
300 | map do |${1:e}| | |
301 | ${2} | |
302 | end | |
303 | snippet mapwi- | |
304 | enum_with_index.map { |${1:e}, ${2:i}| ${3} } | |
305 | snippet sor | |
306 | sort { |a, b| ${1} } | |
307 | snippet sorb | |
308 | sort_by { |${1:e}| ${2} } | |
309 | snippet ran | |
310 | sort_by { rand } | |
311 | snippet all | |
312 | all? { |${1:e}| ${2} } | |
313 | snippet any | |
314 | any? { |${1:e}| ${2} } | |
315 | snippet cl | |
316 | classify { |${1:e}| ${2} } | |
317 | snippet col | |
318 | collect { |${1:e}| ${2} } | |
319 | snippet cold | |
320 | collect do |${1:e}| | |
321 | ${2} | |
322 | end | |
323 | snippet det | |
324 | detect { |${1:e}| ${2} } | |
325 | snippet detd | |
326 | detect do |${1:e}| | |
327 | ${2} | |
328 | end | |
329 | snippet fet | |
330 | fetch(${1:name}) { |${2:key}| ${3} } | |
331 | snippet fin | |
332 | find { |${1:e}| ${2} } | |
333 | snippet find | |
334 | find do |${1:e}| | |
335 | ${2} | |
336 | end | |
337 | snippet fina | |
338 | find_all { |${1:e}| ${2} } | |
339 | snippet finad | |
340 | find_all do |${1:e}| | |
341 | ${2} | |
342 | end | |
343 | snippet gre | |
344 | grep(${1:/pattern/}) { |${2:match}| ${3} } | |
345 | snippet sub | |
346 | ${1:g}sub(${2:/pattern/}) { |${3:match}| ${4} } | |
347 | snippet sca | |
348 | scan(${1:/pattern/}) { |${2:match}| ${3} } | |
349 | snippet scad | |
350 | scan(${1:/pattern/}) do |${2:match}| | |
351 | ${3} | |
352 | end | |
353 | snippet max | |
354 | max { |a, b| ${1} } | |
355 | snippet min | |
356 | min { |a, b| ${1} } | |
357 | snippet par | |
358 | partition { |${1:e}| ${2} } | |
359 | snippet pard | |
360 | partition do |${1:e}| | |
361 | ${2} | |
362 | end | |
363 | snippet rej | |
364 | reject { |${1:e}| ${2} } | |
365 | snippet rejd | |
366 | reject do |${1:e}| | |
367 | ${2} | |
368 | end | |
369 | snippet sel | |
370 | select { |${1:e}| ${2} } | |
371 | snippet seld | |
372 | select do |${1:e}| | |
373 | ${2} | |
374 | end | |
375 | snippet lam | |
376 | lambda { |${1:args}| ${2} } | |
377 | snippet do | |
378 | do |${1:variable}| | |
379 | ${2} | |
380 | end | |
381 | snippet : | |
382 | :${1:key} => ${2:"value"}${3} | |
383 | snippet ope | |
384 | open(${1:"path/or/url/or/pipe"}, "${2:w}") { |${3:io}| ${4} } | |
385 | # path_from_here() | |
386 | snippet patfh | |
387 | File.join(File.dirname(__FILE__), *%2[${1:rel path here}])${2} | |
388 | # unix_filter {} | |
389 | snippet unif | |
390 | ARGF.each_line${1} do |${2:line}| | |
391 | ${3} | |
392 | end | |
393 | # option_parse {} | |
394 | snippet optp | |
395 | require "optparse" | |
396 | ||
397 | options = {${1:default => "args"}} | |
398 | ||
399 | ARGV.options do |opts| | |
400 | opts.banner = "Usage: #{File.basename($PROGRAM_NAME)} | |
401 | snippet opt | |
402 | opts.on( "-${1:o}", "--${2:long-option-name}", ${3:String}, | |
403 | "${4:Option description.}") do |${5:opt}| | |
404 | ${6} | |
405 | end | |
406 | snippet tc | |
407 | require "test/unit" | |
408 | ||
409 | require "${1:library_file_name}" | |
410 | ||
411 | class Test${2:$1} < Test::Unit::TestCase | |
412 | def test_${3:case_name} | |
413 | ${4} | |
414 | end | |
415 | end | |
416 | snippet ts | |
417 | require "test/unit" | |
418 | ||
419 | require "tc_${1:test_case_file}" | |
420 | require "tc_${2:test_case_file}"${3} | |
421 | snippet as | |
422 | assert(${1:test}, "${2:Failure message.}")${3} | |
423 | snippet ase | |
424 | assert_equal(${1:expected}, ${2:actual})${3} | |
425 | snippet asne | |
426 | assert_not_equal(${1:unexpected}, ${2:actual})${3} | |
427 | snippet asid | |
428 | assert_in_delta(${1:expected_float}, ${2:actual_float}, ${3:2 ** -20})${4} | |
429 | snippet asio | |
430 | assert_instance_of(${1:ExpectedClass}, ${2:actual_instance})${3} | |
431 | snippet asko | |
432 | assert_kind_of(${1:ExpectedKind}, ${2:actual_instance})${3} | |
433 | snippet asn | |
434 | assert_nil(${1:instance})${2} | |
435 | snippet asnn | |
436 | assert_not_nil(${1:instance})${2} | |
437 | snippet asm | |
438 | assert_match(/${1:expected_pattern}/, ${2:actual_string})${3} | |
439 | snippet asnm | |
440 | assert_no_match(/${1:unexpected_pattern}/, ${2:actual_string})${3} | |
441 | snippet aso | |
442 | assert_operator(${1:left}, :${2:operator}, ${3:right})${4} | |
443 | snippet asr | |
444 | assert_raise(${1:Exception}) { ${2} } | |
445 | snippet asnr | |
446 | assert_nothing_raised(${1:Exception}) { ${2} } | |
447 | snippet asrt | |
448 | assert_respond_to(${1:object}, :${2:method})${3} | |
449 | snippet ass assert_same(..) | |
450 | assert_same(${1:expected}, ${2:actual})${3} | |
451 | snippet ass assert_send(..) | |
452 | assert_send([${1:object}, :${2:message}, ${3:args}])${4} | |
453 | snippet asns | |
454 | assert_not_same(${1:unexpected}, ${2:actual})${3} | |
455 | snippet ast | |
456 | assert_throws(:${1:expected}) { ${2} } | |
457 | snippet asnt | |
458 | assert_nothing_thrown { ${1} } | |
459 | snippet fl | |
460 | flunk("${1:Failure message.}")${2} | |
461 | # Benchmark.bmbm do .. end | |
462 | snippet bm- | |
463 | TESTS = ${1:10_000} | |
464 | Benchmark.bmbm do |results| | |
465 | ${2} | |
466 | end | |
467 | snippet rep | |
468 | results.report("${1:name}:") { TESTS.times { ${2} }} | |
469 | # Marshal.dump(.., file) | |
470 | snippet Md | |
471 | File.open(${1:"path/to/file.dump"}, "wb") { |${2:file}| Marshal.dump(${3:obj}, $2) }${4} | |
472 | # Mashal.load(obj) | |
473 | snippet Ml | |
474 | File.open(${1:"path/to/file.dump"}, "rb") { |${2:file}| Marshal.load($2) }${3} | |
475 | # deep_copy(..) | |
476 | snippet deec | |
477 | Marshal.load(Marshal.dump(${1:obj_to_copy}))${2} | |
478 | snippet Pn- | |
479 | PStore.new(${1:"file_name.pstore"})${2} | |
480 | snippet tra | |
481 | transaction(${1:true}) { ${2} } | |
482 | # xmlread(..) | |
483 | snippet xml- | |
484 | REXML::Document.new(File.read(${1:"path/to/file"}))${2} | |
485 | # xpath(..) { .. } | |
486 | snippet xpa | |
487 | elements.each(${1:"//Xpath"}) do |${2:node}| | |
488 | ${3} | |
489 | end | |
490 | # class_from_name() | |
491 | snippet clafn | |
492 | split("::").inject(Object) { |par, const| par.const_get(const) } | |
493 | # singleton_class() | |
494 | snippet sinc | |
495 | class << self; self end | |
496 | snippet nam | |
497 | namespace :${1:`Filename()`} do | |
498 | ${2} | |
499 | end | |
500 | snippet tas | |
501 | desc "${1:Task description\}" | |
502 | task :${2:task_name => [:dependent, :tasks]} do | |
503 | ${3} | |
504 | end |