utiles 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock ADDED
@@ -0,0 +1,42 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ utiles (0.0.3)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ diff-lcs (1.1.3)
10
+ ffi (1.0.11)
11
+ guard (1.2.3)
12
+ listen (>= 0.4.2)
13
+ thor (>= 0.14.6)
14
+ guard-rspec (1.1.0)
15
+ guard (>= 1.1)
16
+ listen (0.4.7)
17
+ rb-fchange (~> 0.0.5)
18
+ rb-fsevent (~> 0.9.1)
19
+ rb-inotify (~> 0.8.8)
20
+ rb-fchange (0.0.5)
21
+ ffi
22
+ rb-fsevent (0.9.1)
23
+ rb-inotify (0.8.8)
24
+ ffi (>= 0.5.0)
25
+ rspec (2.10.0)
26
+ rspec-core (~> 2.10.0)
27
+ rspec-expectations (~> 2.10.0)
28
+ rspec-mocks (~> 2.10.0)
29
+ rspec-core (2.10.1)
30
+ rspec-expectations (2.10.0)
31
+ diff-lcs (~> 1.1.3)
32
+ rspec-mocks (2.10.1)
33
+ thor (0.15.4)
34
+
35
+ PLATFORMS
36
+ ruby
37
+
38
+ DEPENDENCIES
39
+ guard
40
+ guard-rspec
41
+ rspec
42
+ utiles!
data/Guardfile ADDED
@@ -0,0 +1,8 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard 'rspec' do
5
+ watch(%r{^spec/.+_spec\.rb$})
6
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
7
+ watch('spec/spec_helper.rb') { "spec" }
8
+ end
data/README.md CHANGED
File without changes
@@ -2,5 +2,5 @@
2
2
  module Utiles
3
3
 
4
4
  # Gem version
5
- VERSION = "0.0.2"
5
+ VERSION = "0.0.3"
6
6
  end
@@ -22,25 +22,7 @@ class Integer
22
22
  # 18539311.to_date_vol => "185 MB"
23
23
  # 18532.to_date_vol => "18,5 kB"
24
24
  def to_data_vol
25
- if self > 1000000000
26
- gb = self / 1000000000
27
- rest = self % 1000000000
28
- s = gb < 10 ? "#{gb},#{rest.to_s[0,2]}" : gb < 100 ? "#{gb},#{(rest.to_s)[0,1]}" : "#{gb}"
29
- "#{s} GB"
30
- elsif self > 1000000
31
- mb = self / 1000000
32
- rest = self % 1000000
33
- s = mb < 10 ? "#{mb},#{rest.to_s[0,2]}" : mb < 100 ? "#{mb},#{(rest.to_s)[0,1]}" : "#{mb}"
34
- "#{s} MB"
35
- elsif self > 1000
36
- kb = self / 1000
37
- rest = self % 1000
38
- s = kb < 10 ? "#{kb},#{rest.to_s[0,2]}" : kb < 100 ? "#{kb},#{(rest.to_s)[0,1]}" : "#{kb}"
39
- "#{s} kB"
40
- elsif self > 0
41
- "#{self} B"
42
- else
43
- "0"
44
- end
45
- end
25
+ to_s.to_data_vol
26
+ end
27
+
46
28
  end
data/lib/utiles_string.rb CHANGED
@@ -32,7 +32,25 @@ class String
32
32
  # "18539311".to_date_vol => "185 MB"
33
33
  # "18532".to_date_vol => "18,5 kB"
34
34
  def to_data_vol
35
- to_i.to_data_vol
35
+ case
36
+ when length > 9
37
+ label = "GB"
38
+ border = 9
39
+ when length > 6
40
+ label = "MB"
41
+ border = 6
42
+ when length > 3
43
+ label = "kB"
44
+ border = 3
45
+ else
46
+ label = "B"
47
+ return self == "0" ? "0" : "#{self} #{label}"
48
+ end
49
+ int = self[0,length-border].to_i
50
+ rest = self[-border,border]
51
+ sets = int < 10 ? rest[0,2] : int < 100 ? rest[0,1] : ""
52
+ setss = int < 100 ? sets.to_i.zero? ? "" : ",#{sets}" : ""
53
+ "#{int}#{setss} #{label}"
36
54
  end
37
55
 
38
56
  end
@@ -1,4 +1,4 @@
1
- require 'utiles'
1
+ require 'lib/utiles'
2
2
 
3
3
  describe NilClass do
4
4
 
@@ -67,6 +67,18 @@ describe String do
67
67
  it "Data in 185 GB" do
68
68
  "185393114721".to_data_vol.should eq("185 GB")
69
69
  end
70
+
71
+ it "Data in 18 GB" do
72
+ "18093114721".to_data_vol.should eq("18 GB")
73
+ end
74
+
75
+ it "Data in 1,05 GB" do
76
+ "1053114721".to_data_vol.should eq("1,05 GB")
77
+ end
78
+
79
+ it "Data in 1 GB" do
80
+ "1003114721".to_data_vol.should eq("1 GB")
81
+ end
70
82
 
71
83
  it "Data in 18 GB" do
72
84
  "18539311472".to_data_vol.should eq("18,5 GB")
@@ -92,6 +104,10 @@ describe String do
92
104
  "18532".to_data_vol.should eq("18,5 kB")
93
105
  end
94
106
 
107
+ it "Data in 1,08 kB" do
108
+ "1080".to_data_vol.should eq("1,08 kB")
109
+ end
110
+
95
111
  it "Data in 185 B" do
96
112
  "185".to_data_vol.should eq("185 B")
97
113
  end
@@ -138,6 +154,58 @@ describe Integer do
138
154
  a = 2
139
155
  a.is_blank?.should be_false
140
156
  end
157
+
158
+ it "Data in 185 GB" do
159
+ 185393114721.to_data_vol.should eq("185 GB")
160
+ end
161
+
162
+ it "Data in 18 GB" do
163
+ 18093114721.to_data_vol.should eq("18 GB")
164
+ end
165
+
166
+ it "Data in 1,05 GB" do
167
+ 1053114721.to_data_vol.should eq("1,05 GB")
168
+ end
169
+
170
+ it "Data in 1 GB" do
171
+ 1003114721.to_data_vol.should eq("1 GB")
172
+ end
173
+
174
+ it "Data in 18 GB" do
175
+ 18539311472.to_data_vol.should eq("18,5 GB")
176
+ end
177
+
178
+ it "Data in 185 MB" do
179
+ 185393114.to_data_vol.should eq("185 MB")
180
+ end
181
+
182
+ it "Data in 18 MB" do
183
+ 18539311.to_data_vol.should eq("18,5 MB")
184
+ end
185
+
186
+ it "Data in 1 MB" do
187
+ 1853931.to_data_vol.should eq("1,85 MB")
188
+ end
189
+
190
+ it "Data in 185 kB" do
191
+ 185322.to_data_vol.should eq("185 kB")
192
+ end
193
+
194
+ it "Data in 18 kB" do
195
+ 18532.to_data_vol.should eq("18,5 kB")
196
+ end
197
+
198
+ it "Data in 1,08 kB" do
199
+ 1080.to_data_vol.should eq("1,08 kB")
200
+ end
201
+
202
+ it "Data in 185 B" do
203
+ 185.to_data_vol.should eq("185 B")
204
+ end
205
+
206
+ it "Data in 0" do
207
+ 0.to_data_vol.should eq("0")
208
+ end
141
209
 
142
210
  end
143
211
 
data/utiles.gemspec CHANGED
@@ -19,4 +19,6 @@ Gem::Specification.new do |s|
19
19
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
20
  s.require_paths = ["lib"]
21
21
  s.add_development_dependency "rspec", [">= 0"]
22
+ s.add_development_dependency "guard", [">= 0"]
23
+ s.add_development_dependency "guard-rspec", [">= 0"]
22
24
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: utiles
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Wojciech Todryk
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-07-05 00:00:00 Z
18
+ date: 2012-07-09 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: rspec
@@ -31,6 +31,34 @@ dependencies:
31
31
  version: "0"
32
32
  type: :development
33
33
  version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: guard
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
45
+ version: "0"
46
+ type: :development
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: guard-rspec
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
60
+ type: :development
61
+ version_requirements: *id003
34
62
  description: Extends standard classes
35
63
  email:
36
64
  - wojciech@todryk.pl
@@ -42,6 +70,8 @@ extra_rdoc_files: []
42
70
 
43
71
  files:
44
72
  - Gemfile
73
+ - Gemfile.lock
74
+ - Guardfile
45
75
  - README.md
46
76
  - Rakefile
47
77
  - lib/utiles.rb
@@ -50,7 +80,7 @@ files:
50
80
  - lib/utiles_integer.rb
51
81
  - lib/utiles_nil.rb
52
82
  - lib/utiles_string.rb
53
- - test/utiles_spec.rb
83
+ - spec/utiles_spec.rb
54
84
  - utiles.gemspec
55
85
  homepage: http://todryk.pl/utiles
56
86
  licenses: []
@@ -86,5 +116,4 @@ signing_key:
86
116
  specification_version: 3
87
117
  summary: Utiles
88
118
  test_files:
89
- - test/utiles_spec.rb
90
- has_rdoc:
119
+ - spec/utiles_spec.rb