null 0.1 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/null.rb +13 -3
- data/test/null.rb +12 -0
- data.tar.gz.sig +2 -2
- metadata +31 -44
- metadata.gz.sig +0 -0
data/lib/null.rb
CHANGED
@@ -24,6 +24,11 @@ class Object
|
|
24
24
|
self
|
25
25
|
end
|
26
26
|
|
27
|
+
# +void+, +nil+, and +null+ return +null+; everything else returns +self+.
|
28
|
+
def to_null?()
|
29
|
+
self
|
30
|
+
end
|
31
|
+
|
27
32
|
# +obj.tap?()+ is equivalent to +obj.tap()+ unless +obj+ is an instance of
|
28
33
|
# NullClass, in which case a block must still be given, but will not be
|
29
34
|
# executed.
|
@@ -53,9 +58,10 @@ end
|
|
53
58
|
|
54
59
|
class NilClass
|
55
60
|
include Falsiness
|
56
|
-
def
|
57
|
-
def
|
58
|
-
def
|
61
|
+
def &(obj) false end
|
62
|
+
def |(obj) !!obj end
|
63
|
+
def ^(obj) !!obj end
|
64
|
+
def to_null?() null end
|
59
65
|
end
|
60
66
|
|
61
67
|
class FalseClass
|
@@ -92,6 +98,9 @@ module NillishConversions
|
|
92
98
|
# +nil+
|
93
99
|
def to_nil?() nil end
|
94
100
|
|
101
|
+
# +null+
|
102
|
+
def to_null?() null end
|
103
|
+
|
95
104
|
# +nil+
|
96
105
|
def to_param() nil end
|
97
106
|
|
@@ -137,6 +146,7 @@ class NullClass
|
|
137
146
|
def to_nil?() nil end # :nodoc:
|
138
147
|
def inspect() 'null' end # +"null"+
|
139
148
|
def present?() false end # :nodoc:
|
149
|
+
def to_null?() null end # :nodoc:
|
140
150
|
|
141
151
|
# Require a block, but don't use it; then return +self+.
|
142
152
|
def tap? # :nodoc:
|
data/test/null.rb
CHANGED
@@ -116,4 +116,16 @@ class NullTest < Test::Unit::TestCase
|
|
116
116
|
assert_equal(expected, real)
|
117
117
|
end
|
118
118
|
end
|
119
|
+
|
120
|
+
def test_to_null
|
121
|
+
[nil, null, void].each do |obj|
|
122
|
+
assert_equal(null, obj.to_null?)
|
123
|
+
end
|
124
|
+
|
125
|
+
TRUTHY_TEST_OBJECTS.each do |obj|
|
126
|
+
assert_equal(obj, obj.to_null?)
|
127
|
+
end
|
128
|
+
|
129
|
+
assert_equal(false, false.to_null?)
|
130
|
+
end
|
119
131
|
end
|
data.tar.gz.sig
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
Z����c�S�H�v���gQ1L�K���H�J��p��R8=1��j ��f�!Q���4�3|$דC���<�Q�{쓇��ĭr&�)�&�o��\���Q��Ѩ3��;�}��Qu�n�Zy��5��K�屇.6o���L�I
|
2
|
+
T�Rk�|�
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: 'null'
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,48 +9,35 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain:
|
12
|
-
- !
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
cpXaWg/oMtXJ2PaUga6WkNeXYf9Mad36P4yuGQScjs+WkUUy7DNZvTGReIcCWOR8
|
43
|
-
|
44
|
-
jteSvvCMobQKGr2DfFOU9Jiddh2FPpz/KOM2ijzwsVNUMUr7R58LoCnQZrZ/YaRW
|
45
|
-
|
46
|
-
ob6QnVgwqu5SUAKQxlFJ/aKlPMj735z8EogaZC1ZHgg3vkgGGyu57N/8BDDG0TzC
|
47
|
-
|
48
|
-
Zn3u2leVae/fJ03zYGArhuJKPgc=
|
49
|
-
|
50
|
-
-----END CERTIFICATE-----
|
51
|
-
|
52
|
-
'
|
53
|
-
date: 2012-02-01 00:00:00.000000000 Z
|
12
|
+
- !binary |-
|
13
|
+
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURRRENDQWlpZ0F3SUJB
|
14
|
+
Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREJHTVJnd0ZnWURWUVFEREE5MGFH
|
15
|
+
VXUKYldGbmFXTmhiQzVyWVhReEZUQVRCZ29Ka2lhSmsvSXNaQUVaRmdWbmJX
|
16
|
+
RnBiREVUTUJFR0NnbVNKb21UOGl4awpBUmtXQTJOdmJUQWVGdzB4TVRBNE1q
|
17
|
+
RXlNak15TURGYUZ3MHhNakE0TWpBeU1qTXlNREZhTUVZeEdEQVdCZ05WCkJB
|
18
|
+
TU1EM1JvWlM1dFlXZHBZMkZzTG10aGRERVZNQk1HQ2dtU0pvbVQ4aXhrQVJr
|
19
|
+
V0JXZHRZV2xzTVJNd0VRWUsKQ1pJbWlaUHlMR1FCR1JZRFkyOXRNSUlCSWpB
|
20
|
+
TkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQQpwQnQyMG53
|
21
|
+
anM1VzAzZGpwUk42RkFicGlpbzI4Nk5ITVRrNkhobWpWNkdaS09pNVpVWDVv
|
22
|
+
blRuS1VnMlZjMzV6Ci9uSythSVBSZXlSZkJnSWNmU2pob1hoMUExRHArMmxh
|
23
|
+
TmdUdFUvM2VNdXBydWF0Z09SQVBDU2FHOU5zK0hTeVIKdnlTYnoxUVVyd3Zs
|
24
|
+
dkYwcWtoaEFwTlE2ZHNMbDJMTU9WM1FjbHVZK1kzQ1ZjY09XT1NIZFFjbkFi
|
25
|
+
UHV6TTlIZgo0Q2hJNE9HTDcrRHdMQTVPSzJTNXVld1JBYTJpTGtKU04wV3Vn
|
26
|
+
blFsSnFNVDU5R1JhcVRET3RuWVFwaXlLRUJ5ClFqVlBPNExOazdpRHNKUDIy
|
27
|
+
WUJydmVJem04L1lZUkJUVTRMVEhNRU1PeUNzenJZcUQyUzFMd3AycnRDSnpR
|
28
|
+
Q2wKQkEwTHRCS3JabDVtd1ptN3F5aitUd0lEQVFBQm96a3dOekFKQmdOVkhS
|
29
|
+
TUVBakFBTUIwR0ExVWREZ1FXQkJTbQpzNWFyaGpwNjFrbUdsNndzbUxZa3Fl
|
30
|
+
cmRxREFMQmdOVkhROEVCQU1DQkxBd0RRWUpLb1pJaHZjTkFRRUZCUUFECmdn
|
31
|
+
RUJBQTZjUU5RTU9QUnk0eXJqN05oNU1iOXFxOHQvOGhvL0pRdmp6Vm9mOXFS
|
32
|
+
ZCtrZktyT29PaFhmRU8rUm0Kc1djYU9uQkNWQzREblp1TkRTTHlnVmhDRHRN
|
33
|
+
bkhqZy9Kc2ZPL0dCRi9RbE5USk9PMWprb1FpUzZ3MEtBUmxCbQpjcFhhV2cv
|
34
|
+
b010WEoyUGFVZ2E2V2tOZVhZZjlNYWQzNlA0eXVHUVNjanMrV2tVVXk3RE5a
|
35
|
+
dlRHUmVJY0NXT1I4Cmp0ZVN2dkNNb2JRS0dyMkRmRk9VOUppZGRoMkZQcHov
|
36
|
+
S09NMmlqendzVk5VTVVyN1I1OExvQ25RWnJaL1lhUlcKb2I2UW5WZ3dxdTVT
|
37
|
+
VUFLUXhsRkovYUtsUE1qNzM1ejhFb2dhWkMxWkhnZzN2a2dHR3l1NTdOLzhC
|
38
|
+
RERHMFR6QwpabjN1MmxlVmFlL2ZKMDN6WUdBcmh1SktQZ2M9Ci0tLS0tRU5E
|
39
|
+
IENFUlRJRklDQVRFLS0tLS0K
|
40
|
+
date: 2012-07-29 00:00:00.000000000 Z
|
54
41
|
dependencies: []
|
55
42
|
description: null is null.
|
56
43
|
email: the.magical.kat@gmail.com
|
@@ -80,7 +67,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
80
67
|
version: '0'
|
81
68
|
requirements: []
|
82
69
|
rubyforge_project:
|
83
|
-
rubygems_version: 1.8.
|
70
|
+
rubygems_version: 1.8.24
|
84
71
|
signing_key:
|
85
72
|
specification_version: 3
|
86
73
|
summary: null is a Null Object.
|
metadata.gz.sig
CHANGED
Binary file
|