kuku 0.2 → 0.3
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 +8 -8
- data/lib/kuku.rb +30 -23
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YWUzMmMxOTIyYzI5NGUwZmJjZTZiMDk0MTMxMGU1MWZlOWRlMmRhZg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NDQxMjEyNWM4ZWY0ZTBmMzE4MzhlYTJiYTA4YTRkNTZjMWM3MDhlZg==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MTI5Y2EyOGMzZTZiZDU4ZDljZjI0NWU1ZGRmYzk4Y2E4ZjZhODdkMWFlZmRi
|
10
|
+
NDA2MjQ4NDhjNGJjM2QzMWJkYjA5M2U1YWZiMDI3NzhmM2U2ZGI4ZDBkNmQ0
|
11
|
+
OGZhZGE4OGU3NmQ4MjJmZWIyZDhkZDJmYjZlZTk0NTI3MTUxZGY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OGM5ZmQ2NTBhZDA4NTdjNWE1NDA3MzU0NmViYjE0M2YxYzdlODVlNjk5N2Zj
|
14
|
+
ZWY3ZDZmMjNhZWEzNDlkZTY1Njg4MDRiYjQ2YmMzMDU0MjU1YzE5YzliYzdh
|
15
|
+
NTg4MDc2NmJjYTEwZjZhYjM3YWY5ZWM3NWYxYjgwMzc1NDI5YTA=
|
data/lib/kuku.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
module ChainAnalysis
|
2
2
|
def stability method_name, n=8
|
3
|
-
elements(method_name, n).stability
|
3
|
+
elements(method_name, n).stats.stability
|
4
4
|
end
|
5
5
|
def average_growth method_name, n=8
|
6
|
-
elements(method_name, n).average_growth
|
6
|
+
elements(method_name, n).stats.average_growth
|
7
7
|
end
|
8
8
|
def mean method_name, n=8
|
9
|
-
elements(method_name, n).mean
|
9
|
+
elements(method_name, n).stats.mean
|
10
10
|
end
|
11
11
|
def elements method_name, n=8
|
12
12
|
as_unchained_array[0..(n-1)].map{|s| s.method(method_name).call}
|
@@ -15,7 +15,7 @@ end
|
|
15
15
|
|
16
16
|
|
17
17
|
class Object
|
18
|
-
include ChainAnalysis
|
18
|
+
# include ChainAnalysis
|
19
19
|
attr_accessor :next, :previous
|
20
20
|
def nvl v
|
21
21
|
v ? v : 0
|
@@ -65,23 +65,7 @@ class Object
|
|
65
65
|
end
|
66
66
|
end
|
67
67
|
|
68
|
-
|
69
|
-
class Array
|
70
|
-
def as_chain
|
71
|
-
self.size.times{|i|
|
72
|
-
a = self[i+1]
|
73
|
-
b = self[i-1]
|
74
|
-
(self[i].next = a) if a
|
75
|
-
(self[i].previous = b) if (b && i > 0)
|
76
|
-
}
|
77
|
-
self[0]
|
78
|
-
end
|
79
|
-
def rank
|
80
|
-
Rank.new self
|
81
|
-
end
|
82
|
-
def total
|
83
|
-
Totaler.new self
|
84
|
-
end
|
68
|
+
module Summary
|
85
69
|
def product
|
86
70
|
reduce{|k,v| k*v}
|
87
71
|
end
|
@@ -106,11 +90,34 @@ class Array
|
|
106
90
|
def growth
|
107
91
|
result = Array.new
|
108
92
|
(size-1).times {|i| result << ((self[i].to_f - self[i+1].to_f)/self[i+1].to_f) * 100 }
|
109
|
-
result
|
93
|
+
result.stats
|
110
94
|
end
|
111
95
|
def average_growth
|
112
96
|
growth.mean
|
113
|
-
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
class Array
|
101
|
+
def as_chain
|
102
|
+
self.size.times{|i|
|
103
|
+
a = self[i+1]
|
104
|
+
b = self[i-1]
|
105
|
+
(self[i].next = a) if a
|
106
|
+
(self[i].previous = b) if (b && i > 0)
|
107
|
+
self[i].extend(ChainAnalysis)
|
108
|
+
}
|
109
|
+
self[0]
|
110
|
+
end
|
111
|
+
def rank
|
112
|
+
Rank.new self
|
113
|
+
end
|
114
|
+
def total
|
115
|
+
Totaler.new self
|
116
|
+
end
|
117
|
+
def stats
|
118
|
+
extend(Summary)
|
119
|
+
self
|
120
|
+
end
|
114
121
|
end
|
115
122
|
|
116
123
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kuku
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.3'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Craig Davidson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: General helpers.
|
14
14
|
email: craig@craigdavidson.co.uk
|