null 0.1 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. data/lib/null.rb +13 -3
  2. data/test/null.rb +12 -0
  3. data.tar.gz.sig +2 -2
  4. metadata +31 -44
  5. 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 &(obj) false end
57
- def |(obj) !!obj end
58
- def ^(obj) !!obj end
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
- �'a���"��X�b�!�qc�P{,���]aR�Н���n����DB��DKX�%�R��o�0�E�|�� N�~��?��|�"�������z�<��&q��(檦%�_ יK4���Ji��A*�<��Y*�Mdm�@�J>9��_����9W8@��%�r�]u -r�?(<HJ*��;y`�ƅ�"1�-��w�O,wa��DŽs
2
- 6iP����id�\\�,6���\����4_��c�[f�����
1
+ Z����c�S�Hv���gQ1LK���H�J��p��R8=1��j ��f�!Q���4�3|$דC���<�Q{쓇��ĭr&�)�&�o��\���Q��Ѩ3��;�}��Qun�Zy��5��K�屇.6o���LI
2
+ TRk�|�
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: '0.1'
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
- - ! '-----BEGIN CERTIFICATE-----
13
-
14
- MIIDQDCCAiigAwIBAgIBADANBgkqhkiG9w0BAQUFADBGMRgwFgYDVQQDDA90aGUu
15
-
16
- bWFnaWNhbC5rYXQxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixk
17
-
18
- ARkWA2NvbTAeFw0xMTA4MjEyMjMyMDFaFw0xMjA4MjAyMjMyMDFaMEYxGDAWBgNV
19
-
20
- BAMMD3RoZS5tYWdpY2FsLmthdDEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYK
21
-
22
- CZImiZPyLGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
23
-
24
- pBt20nwjs5W03djpRN6FAbpiio286NHMTk6HhmjV6GZKOi5ZUX5onTnKUg2Vc35z
25
-
26
- /nK+aIPReyRfBgIcfSjhoXh1A1Dp+2laNgTtU/3eMupruatgORAPCSaG9Ns+HSyR
27
-
28
- vySbz1QUrwvlvF0qkhhApNQ6dsLl2LMOV3QcluY+Y3CVccOWOSHdQcnAbPuzM9Hf
29
-
30
- 4ChI4OGL7+DwLA5OK2S5uewRAa2iLkJSN0WugnQlJqMT59GRaqTDOtnYQpiyKEBy
31
-
32
- QjVPO4LNk7iDsJP22YBrveIzm8/YYRBTU4LTHMEMOyCszrYqD2S1Lwp2rtCJzQCl
33
-
34
- BA0LtBKrZl5mwZm7qyj+TwIDAQABozkwNzAJBgNVHRMEAjAAMB0GA1UdDgQWBBSm
35
-
36
- s5arhjp61kmGl6wsmLYkqerdqDALBgNVHQ8EBAMCBLAwDQYJKoZIhvcNAQEFBQAD
37
-
38
- ggEBAA6cQNQMOPRy4yrj7Nh5Mb9qq8t/8ho/JQvjzVof9qRd+kfKrOoOhXfEO+Rm
39
-
40
- sWcaOnBCVC4DnZuNDSLygVhCDtMnHjg/JsfO/GBF/QlNTJOO1jkoQiS6w0KARlBm
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.10
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