possibly 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/possibly.rb +14 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 494ebf0409bc854ad643eac7d47bc06c848edb82
|
4
|
+
data.tar.gz: 560894d6b789761af101a2846de251a2816d198c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ae5673b0bfb281b789cbd72b9da9c317157e3c52aa0cf537e30fac91aa0ee4b871771962c31abc86ef0f155a29173676ca28cda5279b4acd3f47b1ead073477
|
7
|
+
data.tar.gz: 03431f43b337c772522e0443050daebda1681279f31c489ce332548fc0b2d034845790db70fec39cac9fb87fdc2b892e7fc41b8caf687738cee09ce714f115b1
|
data/lib/possibly.rb
CHANGED
@@ -6,6 +6,16 @@ module Maybe
|
|
6
6
|
if res.respond_to?(:each) then Maybe(res.first) else res end
|
7
7
|
}
|
8
8
|
end
|
9
|
+
|
10
|
+
def to_ary
|
11
|
+
__enumerable_value
|
12
|
+
end
|
13
|
+
alias_method :to_a, :to_ary
|
14
|
+
|
15
|
+
def ==(o)
|
16
|
+
o.class == self.class
|
17
|
+
end
|
18
|
+
alias_method :eql?, :==
|
9
19
|
end
|
10
20
|
|
11
21
|
class Some < Maybe
|
@@ -14,6 +24,10 @@ module Maybe
|
|
14
24
|
def some?() true; end
|
15
25
|
def none?() false; end
|
16
26
|
def initialize(value) @value = value; end
|
27
|
+
def ==(o)
|
28
|
+
super && get == o.get
|
29
|
+
end
|
30
|
+
alias_method :eql?, :==
|
17
31
|
def method_missing(method_sym, *args, &block)
|
18
32
|
map { |value| value.send(method_sym, *args, &block) }
|
19
33
|
end
|