utilities 0.0.18 → 0.0.19

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -25,6 +25,10 @@ Usage
25
25
 
26
26
  [1,8,3].reverse_sort #=> [8,3,1]
27
27
 
28
+ * map_with
29
+
30
+ [1,2,3].map_with([4,5,6]){|i,j| i * j } #=> [4,10,18]
31
+
28
32
  #### Enumerable
29
33
  * collect_first
30
34
 
@@ -43,6 +47,10 @@ Usage
43
47
 
44
48
  {"a"=>1, "b"=>2}.symbolize_keys #=> {:a=>1, :b=>2}
45
49
 
50
+ * stringify_keys
51
+
52
+ {:a=>1, :b=>2}.stringify_keys #=> {"a"=>1, "b"=>2}
53
+
46
54
  #### Kernel
47
55
  * raiser
48
56
 
@@ -77,6 +85,15 @@ Usage
77
85
 
78
86
  48.percentage_of(50) #=> 96
79
87
 
88
+ #### String
89
+ * hour_to_float
90
+
91
+ "14:30".hour_to_float #=> 14.5
92
+
93
+ * float?
94
+
95
+ "123.456".float? #=> true
96
+
80
97
  #### Utilities
81
98
  * Statistics
82
99
 
@@ -25,6 +25,11 @@ class Array
25
25
  end
26
26
  alias_method :rsort!, :reverse_sort!
27
27
 
28
+ # Zip *args then call &block
29
+ def map_with( *args, &block )
30
+ zip(*args).map{|i| yield i }
31
+ end
32
+
28
33
  # Returns a copy of self that includes the Statistics methods
29
34
  def to_stat
30
35
  dup.to_stat!
@@ -14,4 +14,9 @@ class String
14
14
  m, s = self.split(separator).map(&:to_f)
15
15
  m + (s / 60)
16
16
  end
17
+
18
+ # Check if String is a valid float
19
+ def float?
20
+ !!Float(self) rescue false
21
+ end
17
22
  end
data/lib/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  class Utilities
2
2
  MAJOR = 0
3
3
  MINOR = 0
4
- BUILD = 18
4
+ BUILD = 19
5
5
 
6
6
  VERSION = "#{MAJOR}.#{MINOR}.#{BUILD}"
7
7
  end
@@ -21,6 +21,15 @@ describe Array do
21
21
  ["f", "3", "z"].reverse_sort.should == ["z", "f", "3"]
22
22
  end
23
23
 
24
+ it "#map_with should zip *args together and yield &block on them" do
25
+ a = [1,2,3]
26
+ b = [4,5,6]
27
+ c = [7,8,9]
28
+
29
+ a.map_with(b){ |i,j| i*j }.should == [4,10,18]
30
+ a.map_with(b, c){ |i,j,k| i + j + k }.should == [12,15,18]
31
+ end
32
+
24
33
  it "#to_stat should extends given array with module Utilities::Statistics" do
25
34
  [].methods.include?(:statistics).should == false
26
35
  [].to_stat.methods.include?(:statistics).should == true
@@ -135,6 +144,16 @@ describe String do
135
144
  "14:30".hour_to_float.should == 14.5
136
145
  "03h12".hour_to_float('h').should == 3.2
137
146
  end
147
+
148
+ it "#float? check if self is a valid float or not" do
149
+ "123.456".float?.should == true
150
+ "1".float?.should == true
151
+ ".456".float?.should == true
152
+ "hello 123.456 world".float?.should == false
153
+ "hello world".float?.should == false
154
+ "123.456 hello".float?.should == false
155
+ "hello 123.456".float?.should == false
156
+ end
138
157
  end
139
158
 
140
159
  describe Utilities::Statistics do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: utilities
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.18
4
+ version: 0.0.19
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2011-09-06 00:00:00.000000000Z
14
+ date: 2011-09-23 00:00:00.000000000Z
15
15
  dependencies: []
16
16
  description: Few utilities include in all my projects, including a module for statistics,
17
17
  some to_date and to_time functions as well as intersection method for Range object.
@@ -38,7 +38,7 @@ files:
38
38
  - lib/utilities/utilities.rb
39
39
  - lib/version.rb
40
40
  - test/test_utilities.rb
41
- - utilities-0.0.17.gem
41
+ - utilities-0.0.19.gem
42
42
  - utilities.gemspec
43
43
  homepage: http://github.com/christianblais/utilities
44
44
  licenses: []
data/utilities-0.0.17.gem DELETED
Binary file