null 0.1 → 0.1.1
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/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
|