nil_conditional 2.0.0 → 2.0.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.
- checksums.yaml +4 -4
- data/README.md +11 -12
- data/nil_conditional.gemspec +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 08e6158d09a04d23e86f9294a94739fcd1ab7e76
|
4
|
+
data.tar.gz: d4ca42ddc4fbedc67c1bff1bb3bb2f6494977b22
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a082dfe6dc36b98f22e651fa5954d5cc423e3540650dd89d0e22ce7e6f9a1706266665d235e900fb5a7c31d2617425b72b54c0a780e9e2857475ee8a1ac2e0b
|
7
|
+
data.tar.gz: 3c72dbe3691fc3972f94b66646219adfbe8508a5e98cbd9152427bc777e1ab3b14b0e1191da3acd06647e336e41efb845a9404ac92ba43e957d85e42fb49f4b4
|
data/README.md
CHANGED
@@ -16,7 +16,7 @@ Nil Conditional Operator is inspired by Null Conditional Operator introduced in
|
|
16
16
|
|
17
17
|
## Usage
|
18
18
|
|
19
|
-
Use
|
19
|
+
Use `_?` method as Nil Conditional Operator.
|
20
20
|
For example: `logger._?.log('some debug information')`
|
21
21
|
|
22
22
|
```ruby
|
@@ -29,37 +29,36 @@ NoMethodError: undefined method `foo` for #<NilClass>
|
|
29
29
|
logger._?.foo.bar.car.cow
|
30
30
|
=> #<NilConditional>
|
31
31
|
|
32
|
-
# logger
|
32
|
+
# logger is not nil and all corresponding methods exist
|
33
33
|
logger._?.foo.bar.car.cow
|
34
34
|
=> "moooo"
|
35
35
|
|
36
|
-
# logger
|
37
|
-
logger._?.foo.bar.car.cow
|
38
|
-
=> "moooo"
|
39
|
-
|
40
|
-
# logger exists but doesn't have warn method
|
36
|
+
# logger is not nil but doesn't have warn method
|
41
37
|
logger._?.warn('some warning')
|
42
38
|
=> #<NilConditional>
|
43
39
|
|
44
|
-
# logger
|
40
|
+
# logger is not nil and have warn method, but foo is invalid
|
41
|
+
# - first not nil value returned by receiver in train wreck breaks nil condition
|
45
42
|
logger._?.warn('some warning').foo
|
46
43
|
=> NoMethodError: undefined method `foo`
|
47
44
|
|
45
|
+
# ... but you can use nil conditional again
|
48
46
|
logger._?.warn('some warning')._?.foo
|
49
47
|
=> #<NilConditional>
|
50
48
|
|
51
|
-
|
49
|
+
# this works also with class methods
|
50
|
+
Object.non_existent_method
|
52
51
|
NoMethodError: undefined method `non_existent_method` for #<Object>
|
53
52
|
|
54
|
-
Object.
|
53
|
+
Object._?.non_existent_method
|
55
54
|
=> #<NilConditional>
|
56
55
|
|
56
|
+
# NilConditional object is eql to nil
|
57
57
|
Object.new._?.non_existent_method.nil?
|
58
58
|
=> true
|
59
59
|
```
|
60
60
|
|
61
|
-
`NilConditional` instances always return new NilConditional object if method is missing.
|
62
|
-
These objects are also `eql` to `nil`.
|
61
|
+
`NilConditional` instances always return new NilConditional object if method is missing. Those objects are also `eql` to `nil`.
|
63
62
|
|
64
63
|
|
65
64
|
## Changelog
|
data/nil_conditional.gemspec
CHANGED
@@ -4,11 +4,11 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'nil_conditional'
|
7
|
-
spec.version = '2.0.
|
7
|
+
spec.version = '2.0.1'
|
8
8
|
spec.authors = ['Grzegorz Bizon']
|
9
9
|
spec.email = ['grzegorz.bizon@ntsn.pl']
|
10
10
|
spec.summary = 'Nil Conditional Operator in Ruby'
|
11
|
-
spec.homepage = 'http://github.com/grzesiek/
|
11
|
+
spec.homepage = 'http://github.com/grzesiek/nil_conditional'
|
12
12
|
spec.license = 'MIT'
|
13
13
|
|
14
14
|
spec.files = `git ls-files -z`.split("\x0")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nil_conditional
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Grzegorz Bizon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -86,7 +86,7 @@ files:
|
|
86
86
|
- spec/nil_spec.rb
|
87
87
|
- spec/object_spec.rb
|
88
88
|
- spec/spec_helper.rb
|
89
|
-
homepage: http://github.com/grzesiek/
|
89
|
+
homepage: http://github.com/grzesiek/nil_conditional
|
90
90
|
licenses:
|
91
91
|
- MIT
|
92
92
|
metadata: {}
|