rogerdpack-sane 0.0.8 → 0.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.
- data/README +9 -7
- data/lib/sane.rb +23 -2
- metadata +1 -1
data/README
CHANGED
@@ -1,22 +1,24 @@
|
|
1
|
-
Collection of utilities to make ruby more
|
1
|
+
Collection of utilities to make ruby ...more friendly from the get-go [really things that *should* have been added to core, because of immense convenience]
|
2
2
|
|
3
|
-
Currently:
|
3
|
+
Currently this includes:
|
4
4
|
|
5
5
|
require_rel glob
|
6
|
-
* require a file relative to the current, i.e.
|
7
|
-
|
6
|
+
* require a file relative to the current file, i.e.
|
7
|
+
>> require_rel 'lib/filename'
|
8
8
|
|
9
9
|
Object#in?
|
10
|
-
|
10
|
+
# ex:
|
11
|
+
>> 3.in? [1,2,3]
|
11
12
|
=> true
|
12
13
|
|
13
14
|
println
|
14
15
|
like print, but with a carriage return at the end:
|
15
|
-
println 1,2,3
|
16
|
+
>> println 1,2,3
|
16
17
|
(prints 123\n)
|
17
18
|
|
18
19
|
enumerable-extra
|
19
20
|
#new enumerable #map
|
20
|
-
[1,2,3].map(:to_s) # applies it automatically! far less ugly than [1,2,3].map &:to_s
|
21
|
+
>> [1,2,3].map(:to_s) # applies it automatically! far less ugly than [1,2,3].map &:to_s
|
22
|
+
=> ["1", "2", "3"]
|
21
23
|
|
22
24
|
Don't leave home without these!
|
data/lib/sane.rb
CHANGED
@@ -1,6 +1,25 @@
|
|
1
|
-
require 'require_all' # require_all, require_rel
|
1
|
+
require 'require_all' # require_all, require_rel gem
|
2
2
|
require_rel 'enumerable-extra' # for #map(:symbol)
|
3
3
|
|
4
|
+
# require 'facets/file' ===>
|
5
|
+
class File
|
6
|
+
|
7
|
+
# Writes the given data to the given path and closes the file. This is
|
8
|
+
# done in binary mode, complementing <tt>IO.read</tt> in standard Ruby.
|
9
|
+
#
|
10
|
+
# Returns the number of bytes written.
|
11
|
+
#
|
12
|
+
# CREDIT: Gavin Sinclair
|
13
|
+
|
14
|
+
def self.write(path, data)
|
15
|
+
File.open(path, "wb") do |file|
|
16
|
+
return file.write(data)
|
17
|
+
end
|
18
|
+
end unless self.respond_to?(:write)
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
|
4
23
|
# a method like puts but all on one line--very much like java's println, quite useful
|
5
24
|
def println *args
|
6
25
|
print *args
|
@@ -23,6 +42,7 @@ class Object
|
|
23
42
|
end
|
24
43
|
end unless respond_to? :assert
|
25
44
|
|
45
|
+
# helper to bring up a debugger
|
26
46
|
# for this to work in 1.9, please follow directions: http://wiki.github.com/mark-moseley/ruby-debug
|
27
47
|
# for 1.8, run gem install ruby-debug
|
28
48
|
def _dbg
|
@@ -38,11 +58,12 @@ if RUBY_VERSION < '1.9'
|
|
38
58
|
end
|
39
59
|
|
40
60
|
# taken from http://oldrcrs.rubypal.com/rcr/show/309
|
61
|
+
|
41
62
|
module Kernel
|
42
63
|
BASE_DIR = Dir.getwd
|
43
64
|
def __DIR__
|
44
65
|
dir = (/^(.+)?:\d+/ =~ caller[0]) ? File.expand_path(File.dirname($1), BASE_DIR) : nil
|
45
66
|
dir += '/' if dir
|
46
67
|
dir
|
47
|
-
end
|
68
|
+
end unless defined?(__DIR__)
|
48
69
|
end
|