humanize-bytes 1.0.0 → 2.0.0
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 +7 -0
- data/.gitignore +4 -2
- data/.rspec +1 -1
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +7 -0
- data/{LICENSE → LICENSE.md} +0 -0
- data/README.md +4 -4
- data/humanize-bytes.gemspec +14 -12
- data/lib/humanize-bytes.rb +5 -18
- data/lib/humanize/byte.rb +32 -0
- data/lib/humanize/bytes.rb +5 -0
- data/lib/humanize/giga.rb +32 -0
- data/lib/humanize/kilo.rb +32 -0
- data/lib/humanize/mega.rb +32 -0
- data/spec/humanize/byte_spec.rb +62 -0
- data/spec/humanize/giga_spec.rb +62 -0
- data/spec/humanize/kilo_spec.rb +62 -0
- data/spec/humanize/mega_spec.rb +58 -0
- data/spec/spec_helper.rb +1 -3
- metadata +37 -48
- data/.rvmrc +0 -1
- data/lib/humanize-bytes/byte.rb +0 -39
- data/lib/humanize-bytes/gbyte.rb +0 -39
- data/lib/humanize-bytes/kbyte.rb +0 -39
- data/lib/humanize-bytes/mbyte.rb +0 -39
- data/lib/humanize-bytes/version.rb +0 -5
- data/spec/humanize_bytes/byte_spec.rb +0 -58
- data/spec/humanize_bytes/gbyte_spec.rb +0 -58
- data/spec/humanize_bytes/kbyte_spec.rb +0 -58
- data/spec/humanize_bytes/mbyte_spec.rb +0 -58
- data/spec/humanize_bytes_spec.rb +0 -65
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f822f2ca03aaef2328c13d7695900d9a8c56a410
|
4
|
+
data.tar.gz: ec6452119bbedd0ed6bf35d78904c0a35fb29081
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2ccc4c753f4801f4fb244d3c5b758e52b44d27d93552e7772415222c0682ce34ab56f9297fa52202de8e070cf2a174263c9585bec206678a0fda646e1a353051
|
7
|
+
data.tar.gz: 8bc447ae715d88ca0e1c7ceb7b93f184108cb94c2d9af77c1ac1f23df046aa0672b6ed061c004867fed50a6e0d669a13af61125c5c9152866689ab89b87c44d5
|
data/.gitignore
CHANGED
data/.rspec
CHANGED
@@ -1 +1 @@
|
|
1
|
-
--colour --format documentation
|
1
|
+
--colour --format documentation --profile
|
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
humanize-bytes
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.1.2
|
data/.travis.yml
ADDED
data/{LICENSE → LICENSE.md}
RENAMED
File without changes
|
data/README.md
CHANGED
@@ -18,11 +18,11 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
## Usage
|
20
20
|
|
21
|
-
Initialize
|
21
|
+
Initialize a New Byte Object with
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
23
|
+
```ruby
|
24
|
+
Humanize::Byte.new(1024)
|
25
|
+
```
|
26
26
|
|
27
27
|
Then call one of the methods: to_b, to_k, to_m, to_g.
|
28
28
|
|
data/humanize-bytes.gemspec
CHANGED
@@ -1,20 +1,22 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'humanize/bytes'
|
3
5
|
|
4
6
|
Gem::Specification.new do |gem|
|
5
|
-
gem.
|
6
|
-
gem.
|
7
|
-
gem.
|
8
|
-
gem.
|
9
|
-
gem.
|
7
|
+
gem.name = 'humanize-bytes'
|
8
|
+
gem.version = Humanize::Bytes::VERSION
|
9
|
+
gem.authors = %q{Paulo Henrique Lopes Ribeiro}
|
10
|
+
gem.email = %q{plribeiro3000@gmail.com}
|
11
|
+
gem.summary = %q{Convert Byte, Kbyte, MByte, Gbyte into each other}
|
10
12
|
|
11
13
|
gem.files = `git ls-files`.split($\)
|
12
|
-
gem.
|
13
|
-
gem.
|
14
|
-
gem.name = "humanize-bytes"
|
14
|
+
gem.test_files = `git ls-files -- {test,spec,features,examples,gemfiles}/*`.split("\n")
|
15
|
+
gem.executables = `git ls-files -- bin/*`.split('\n').map{ |f| File.basename(f) }
|
15
16
|
gem.require_paths = %w(lib)
|
16
|
-
gem.version = Humanize::Bytes::VERSION
|
17
17
|
|
18
|
-
gem.
|
19
|
-
|
18
|
+
gem.license = 'MIT'
|
19
|
+
|
20
|
+
gem.add_development_dependency 'rake'
|
21
|
+
gem.add_development_dependency 'rspec'
|
20
22
|
end
|
data/lib/humanize-bytes.rb
CHANGED
@@ -1,20 +1,7 @@
|
|
1
|
-
require "humanize-bytes/version"
|
2
|
-
|
3
1
|
module Humanize
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
def self.initialize(value, unit = 'b')
|
11
|
-
case unit.to_s
|
12
|
-
when 'b' then Humanize::Bytes::Byte.new(value)
|
13
|
-
when 'k' then Humanize::Bytes::Kilo.new(value)
|
14
|
-
when 'm' then Humanize::Bytes::Mega.new(value)
|
15
|
-
when 'g' then Humanize::Bytes::Giga.new(value)
|
16
|
-
else nil
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
2
|
+
autoload :Bytes, 'humanize/bytes'
|
3
|
+
autoload :Byte, 'humanize/byte'
|
4
|
+
autoload :Kilo, 'humanize/kilo'
|
5
|
+
autoload :Mega, 'humanize/mega'
|
6
|
+
autoload :Giga, 'humanize/giga'
|
20
7
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Humanize
|
2
|
+
class Byte
|
3
|
+
def initialize(value)
|
4
|
+
@value = value
|
5
|
+
end
|
6
|
+
|
7
|
+
def value
|
8
|
+
@value
|
9
|
+
end
|
10
|
+
|
11
|
+
def to_b
|
12
|
+
self
|
13
|
+
end
|
14
|
+
|
15
|
+
def to_k
|
16
|
+
Kilo.new @value / 1024.0
|
17
|
+
end
|
18
|
+
|
19
|
+
def to_m
|
20
|
+
Mega.new @value / 1024.0 / 1024
|
21
|
+
end
|
22
|
+
|
23
|
+
def to_g
|
24
|
+
Giga.new @value / 1024.0 / 1024 / 1024
|
25
|
+
end
|
26
|
+
|
27
|
+
def to_s(options = {})
|
28
|
+
size = options.fetch(:decimal_digits, value.to_s.size)
|
29
|
+
("%.#{size}f" % value).to_f
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Humanize
|
2
|
+
class Giga
|
3
|
+
def initialize(value)
|
4
|
+
@value = value
|
5
|
+
end
|
6
|
+
|
7
|
+
def value
|
8
|
+
@value
|
9
|
+
end
|
10
|
+
|
11
|
+
def to_b
|
12
|
+
Byte.new @value * 1024 * 1024 * 1024
|
13
|
+
end
|
14
|
+
|
15
|
+
def to_k
|
16
|
+
Kilo.new @value * 1024 * 1024
|
17
|
+
end
|
18
|
+
|
19
|
+
def to_m
|
20
|
+
Mega.new @value * 1024
|
21
|
+
end
|
22
|
+
|
23
|
+
def to_g
|
24
|
+
self
|
25
|
+
end
|
26
|
+
|
27
|
+
def to_s(options = {})
|
28
|
+
size = options.fetch(:decimal_digits, value.to_s.size)
|
29
|
+
("%.#{size}f" % value).to_f
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Humanize
|
2
|
+
class Kilo
|
3
|
+
def initialize(value)
|
4
|
+
@value = value
|
5
|
+
end
|
6
|
+
|
7
|
+
def value
|
8
|
+
@value
|
9
|
+
end
|
10
|
+
|
11
|
+
def to_b
|
12
|
+
Byte.new @value * 1024
|
13
|
+
end
|
14
|
+
|
15
|
+
def to_k
|
16
|
+
self
|
17
|
+
end
|
18
|
+
|
19
|
+
def to_m
|
20
|
+
Mega.new @value / 1024.0
|
21
|
+
end
|
22
|
+
|
23
|
+
def to_g
|
24
|
+
Giga.new @value / 1024.0 / 1024
|
25
|
+
end
|
26
|
+
|
27
|
+
def to_s(options = {})
|
28
|
+
size = options.fetch(:decimal_digits, value.to_s.size)
|
29
|
+
("%.#{size}f" % value).to_f
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Humanize
|
2
|
+
class Mega
|
3
|
+
def initialize(value)
|
4
|
+
@value = value
|
5
|
+
end
|
6
|
+
|
7
|
+
def value
|
8
|
+
@value
|
9
|
+
end
|
10
|
+
|
11
|
+
def to_b
|
12
|
+
Byte.new @value * 1024 * 1024
|
13
|
+
end
|
14
|
+
|
15
|
+
def to_k
|
16
|
+
Kilo.new @value * 1024
|
17
|
+
end
|
18
|
+
|
19
|
+
def to_m
|
20
|
+
self
|
21
|
+
end
|
22
|
+
|
23
|
+
def to_g
|
24
|
+
Giga.new @value / 1024.0
|
25
|
+
end
|
26
|
+
|
27
|
+
def to_s(options = {})
|
28
|
+
size = options.fetch(:decimal_digits, value.to_s.size)
|
29
|
+
("%.#{size}f" % value).to_f
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Humanize::Byte do
|
4
|
+
let(:b) { Humanize::Byte.new(2147843648) }
|
5
|
+
|
6
|
+
context "#value" do
|
7
|
+
it "should return the value" do
|
8
|
+
expect(b.value).to eq(2147843648)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
context "#to_b" do
|
13
|
+
it "should return return self" do
|
14
|
+
expect(b.to_b).to be b
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
context "#to_k" do
|
19
|
+
it "should convert to Kilo bytes" do
|
20
|
+
expect(b.to_k).to be_an_instance_of(Humanize::Kilo)
|
21
|
+
end
|
22
|
+
it "should convert the value to Kilo bytes" do
|
23
|
+
expect(b.to_k.value).to eq(2097503.5625)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
context "#to_m" do
|
28
|
+
it "should convert to Mega bytes" do
|
29
|
+
expect(b.to_m).to be_an_instance_of(Humanize::Mega)
|
30
|
+
end
|
31
|
+
it "should convert the value to Mega bytes" do
|
32
|
+
expect(b.to_m.value).to eq(2048.3433227539062)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
context "#to_g" do
|
37
|
+
it "should convert to Giga bytes" do
|
38
|
+
expect(b.to_g).to be_an_instance_of(Humanize::Giga)
|
39
|
+
end
|
40
|
+
it "should convert the value to Giga bytes" do
|
41
|
+
expect(b.to_g.value).to eq(2.0003352761268616)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
context "#to_s" do
|
46
|
+
context 'without any specification' do
|
47
|
+
it "should return a float with all digits" do
|
48
|
+
expect(b.to_s).to eq(2147843648.0)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
context 'with decimal_digits specified' do
|
53
|
+
before :each do
|
54
|
+
@b = Humanize::Byte.new(2147843648.2345)
|
55
|
+
end
|
56
|
+
|
57
|
+
it "should return a float with specified digits" do
|
58
|
+
expect(@b.to_s(:decimal_digits => 2)).to eq(2147843648.23)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Humanize::Giga do
|
4
|
+
let(:g) { Humanize::Giga.new(3.25) }
|
5
|
+
|
6
|
+
context "#value" do
|
7
|
+
it "should return the value" do
|
8
|
+
expect(g.value).to eq(3.25)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
context "#to_b" do
|
13
|
+
it "should convert to Bytes" do
|
14
|
+
expect(g.to_b).to be_an_instance_of(Humanize::Byte)
|
15
|
+
end
|
16
|
+
it "should convert the value to Byte" do
|
17
|
+
expect(g.to_b.value).to eq(3489660928)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context "#to_k" do
|
22
|
+
it "should convert to Kilo bytes" do
|
23
|
+
expect(g.to_k).to be_an_instance_of(Humanize::Kilo)
|
24
|
+
end
|
25
|
+
it "should convert the value to Kilo bytes" do
|
26
|
+
expect(g.to_k.value).to eq(3407872)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context "#to_m" do
|
31
|
+
it "should convert to Mega bytes" do
|
32
|
+
expect(g.to_m).to be_an_instance_of(Humanize::Mega)
|
33
|
+
end
|
34
|
+
it "should convert the value to Mega bytes" do
|
35
|
+
expect(g.to_m.value).to eq(3328)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
context "#to_g" do
|
40
|
+
it "should return self" do
|
41
|
+
expect(g.to_g).to be g
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
context "#to_s" do
|
46
|
+
context 'without any specification' do
|
47
|
+
it "should return a float with all digits" do
|
48
|
+
expect(g.to_s).to eq(3.25)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
context 'with decimal_digits specified' do
|
53
|
+
before :each do
|
54
|
+
@g = Humanize::Giga.new 3.22
|
55
|
+
end
|
56
|
+
|
57
|
+
it "should return a float with specified digits" do
|
58
|
+
expect(@g.to_s(:decimal_digits => 1)).to eq(3.2)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Humanize::Kilo do
|
4
|
+
let(:k) { Humanize::Kilo.new(5000) }
|
5
|
+
|
6
|
+
context "#value" do
|
7
|
+
it "should return the value" do
|
8
|
+
expect(k.value).to eq(5000)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
context "#to_b" do
|
13
|
+
it "should convert to Byte" do
|
14
|
+
expect(k.to_b).to be_an_instance_of(Humanize::Byte)
|
15
|
+
end
|
16
|
+
it "should convert the value to Bytes" do
|
17
|
+
expect(k.to_b.value).to eq(5120000)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context "#to_k" do
|
22
|
+
it "should return self" do
|
23
|
+
expect(k.to_k).to be k
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
context "#to_m" do
|
28
|
+
it "should convert to Mega bytes" do
|
29
|
+
expect(k.to_m).to be_an_instance_of(Humanize::Mega)
|
30
|
+
end
|
31
|
+
it "should convert the value to Mega bytes" do
|
32
|
+
expect(k.to_m.value).to eq(4.8828125)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
context "#to_g" do
|
37
|
+
it "should convert to Giga bytes" do
|
38
|
+
expect(k.to_g).to be_an_instance_of(Humanize::Giga)
|
39
|
+
end
|
40
|
+
it "should convert the value to Giga bytes" do
|
41
|
+
expect(k.to_g.value).to eq(0.00476837158203125)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
context "#to_s" do
|
46
|
+
context 'without any specification' do
|
47
|
+
it "should return a float with all digits" do
|
48
|
+
expect(k.to_s).to eq(5000.0)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
context 'with decimal_digits specified' do
|
53
|
+
before :each do
|
54
|
+
@k = Humanize::Kilo.new(2147843648.2345)
|
55
|
+
end
|
56
|
+
|
57
|
+
it "should return a float with specified digits" do
|
58
|
+
expect(@k.to_s(:decimal_digits => 1)).to eq(2147843648.2)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Humanize::Mega do
|
4
|
+
let(:m) { Humanize::Mega.new(4.8828125) }
|
5
|
+
|
6
|
+
context "#value" do
|
7
|
+
it "should return the value" do
|
8
|
+
expect(m.value).to eq(4.8828125)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
context "#to_b" do
|
13
|
+
it "should convert to Byte" do
|
14
|
+
expect(m.to_b).to be_an_instance_of(Humanize::Byte)
|
15
|
+
end
|
16
|
+
it "should convert the value to Bytes" do
|
17
|
+
expect(m.to_b.value).to eq(5120000)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context "#to_k" do
|
22
|
+
it "should convert to Kilo bytes" do
|
23
|
+
expect(m.to_k).to be_an_instance_of(Humanize::Kilo)
|
24
|
+
end
|
25
|
+
it "should convert the value to Kilo bytes" do
|
26
|
+
expect(m.to_k.value).to eq(5000)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context "#to_m" do
|
31
|
+
it "should return self" do
|
32
|
+
expect(m.to_m).to be m
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
context "#to_g" do
|
37
|
+
it "should convert to Giga bytes" do
|
38
|
+
expect(m.to_g).to be_an_instance_of(Humanize::Giga)
|
39
|
+
end
|
40
|
+
it "should convert the value to Giga bytes" do
|
41
|
+
expect(m.to_g.value).to eq(0.00476837158203125)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
context "#to_s" do
|
46
|
+
context 'without any specification' do
|
47
|
+
it "should return a float with all digits" do
|
48
|
+
expect(m.to_s).to eq(4.8828125)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
context 'with decimal_digits specified' do
|
53
|
+
it "should return a float with specified digits" do
|
54
|
+
expect(m.to_s(:decimal_digits => 1)).to eq(4.9)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,108 +1,97 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: humanize-bytes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
5
|
-
prerelease:
|
4
|
+
version: 2.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Paulo Henrique Lopes Ribeiro
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-08-11 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rake
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rspec
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version:
|
33
|
+
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version:
|
46
|
-
description:
|
40
|
+
version: '0'
|
41
|
+
description:
|
47
42
|
email: plribeiro3000@gmail.com
|
48
43
|
executables: []
|
49
44
|
extensions: []
|
50
45
|
extra_rdoc_files: []
|
51
46
|
files:
|
52
|
-
- .gitignore
|
53
|
-
- .rspec
|
54
|
-
- .
|
47
|
+
- ".gitignore"
|
48
|
+
- ".rspec"
|
49
|
+
- ".ruby-gemset"
|
50
|
+
- ".ruby-version"
|
51
|
+
- ".travis.yml"
|
55
52
|
- Gemfile
|
56
|
-
- LICENSE
|
53
|
+
- LICENSE.md
|
57
54
|
- README.md
|
58
55
|
- Rakefile
|
59
56
|
- humanize-bytes.gemspec
|
60
57
|
- lib/humanize-bytes.rb
|
61
|
-
- lib/humanize
|
62
|
-
- lib/humanize
|
63
|
-
- lib/humanize
|
64
|
-
- lib/humanize
|
65
|
-
- lib/humanize
|
66
|
-
- spec/
|
67
|
-
- spec/
|
68
|
-
- spec/
|
69
|
-
- spec/
|
70
|
-
- spec/humanize_bytes_spec.rb
|
58
|
+
- lib/humanize/byte.rb
|
59
|
+
- lib/humanize/bytes.rb
|
60
|
+
- lib/humanize/giga.rb
|
61
|
+
- lib/humanize/kilo.rb
|
62
|
+
- lib/humanize/mega.rb
|
63
|
+
- spec/humanize/byte_spec.rb
|
64
|
+
- spec/humanize/giga_spec.rb
|
65
|
+
- spec/humanize/kilo_spec.rb
|
66
|
+
- spec/humanize/mega_spec.rb
|
71
67
|
- spec/spec_helper.rb
|
72
|
-
homepage:
|
73
|
-
licenses:
|
68
|
+
homepage:
|
69
|
+
licenses:
|
70
|
+
- MIT
|
71
|
+
metadata: {}
|
74
72
|
post_install_message:
|
75
73
|
rdoc_options: []
|
76
74
|
require_paths:
|
77
75
|
- lib
|
78
76
|
required_ruby_version: !ruby/object:Gem::Requirement
|
79
|
-
none: false
|
80
77
|
requirements:
|
81
|
-
- -
|
78
|
+
- - ">="
|
82
79
|
- !ruby/object:Gem::Version
|
83
80
|
version: '0'
|
84
|
-
segments:
|
85
|
-
- 0
|
86
|
-
hash: 2054005163981464363
|
87
81
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
|
-
none: false
|
89
82
|
requirements:
|
90
|
-
- -
|
83
|
+
- - ">="
|
91
84
|
- !ruby/object:Gem::Version
|
92
85
|
version: '0'
|
93
|
-
segments:
|
94
|
-
- 0
|
95
|
-
hash: 2054005163981464363
|
96
86
|
requirements: []
|
97
87
|
rubyforge_project:
|
98
|
-
rubygems_version:
|
88
|
+
rubygems_version: 2.2.2
|
99
89
|
signing_key:
|
100
|
-
specification_version:
|
101
|
-
summary:
|
90
|
+
specification_version: 4
|
91
|
+
summary: Convert Byte, Kbyte, MByte, Gbyte into each other
|
102
92
|
test_files:
|
103
|
-
- spec/
|
104
|
-
- spec/
|
105
|
-
- spec/
|
106
|
-
- spec/
|
107
|
-
- spec/humanize_bytes_spec.rb
|
93
|
+
- spec/humanize/byte_spec.rb
|
94
|
+
- spec/humanize/giga_spec.rb
|
95
|
+
- spec/humanize/kilo_spec.rb
|
96
|
+
- spec/humanize/mega_spec.rb
|
108
97
|
- spec/spec_helper.rb
|
data/.rvmrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
rvm use 1.9.3-p194@humanize_bytes --create
|
data/lib/humanize-bytes/byte.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
module Humanize
|
2
|
-
module Bytes
|
3
|
-
class Byte
|
4
|
-
def initialize(value)
|
5
|
-
@value = value
|
6
|
-
end
|
7
|
-
|
8
|
-
def value
|
9
|
-
@value
|
10
|
-
end
|
11
|
-
|
12
|
-
def to_b
|
13
|
-
self
|
14
|
-
end
|
15
|
-
|
16
|
-
def to_k
|
17
|
-
Kilo.new @value / 1024.0
|
18
|
-
end
|
19
|
-
|
20
|
-
def to_m
|
21
|
-
Mega.new @value / 1024.0 / 1024
|
22
|
-
end
|
23
|
-
|
24
|
-
def to_g
|
25
|
-
Giga.new @value / 1024.0 / 1024 / 1024
|
26
|
-
end
|
27
|
-
|
28
|
-
def to_s
|
29
|
-
@value.instance_of?(Float) ? formatted_float + ' bytes' : @value.to_s + ' bytes'
|
30
|
-
end
|
31
|
-
|
32
|
-
protected
|
33
|
-
|
34
|
-
def formatted_float
|
35
|
-
@value.to_s[0 .. @value.to_s.index('.') + 2]
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
data/lib/humanize-bytes/gbyte.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
module Humanize
|
2
|
-
module Bytes
|
3
|
-
class Giga
|
4
|
-
def initialize(value)
|
5
|
-
@value = value
|
6
|
-
end
|
7
|
-
|
8
|
-
def value
|
9
|
-
@value
|
10
|
-
end
|
11
|
-
|
12
|
-
def to_b
|
13
|
-
Byte.new @value * 1024 * 1024 * 1024
|
14
|
-
end
|
15
|
-
|
16
|
-
def to_k
|
17
|
-
Kilo.new @value * 1024 * 1024
|
18
|
-
end
|
19
|
-
|
20
|
-
def to_m
|
21
|
-
Mega.new @value * 1024
|
22
|
-
end
|
23
|
-
|
24
|
-
def to_g
|
25
|
-
self
|
26
|
-
end
|
27
|
-
|
28
|
-
def to_s
|
29
|
-
@value.instance_of?(Float) ? formatted_float + ' giga bytes' : @value.to_s + ' giga bytes'
|
30
|
-
end
|
31
|
-
|
32
|
-
protected
|
33
|
-
|
34
|
-
def formatted_float
|
35
|
-
@value.to_s[0 .. @value.to_s.index('.') + 2]
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
data/lib/humanize-bytes/kbyte.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
module Humanize
|
2
|
-
module Bytes
|
3
|
-
class Kilo
|
4
|
-
def initialize(value)
|
5
|
-
@value = value
|
6
|
-
end
|
7
|
-
|
8
|
-
def value
|
9
|
-
@value
|
10
|
-
end
|
11
|
-
|
12
|
-
def to_b
|
13
|
-
Byte.new @value * 1024
|
14
|
-
end
|
15
|
-
|
16
|
-
def to_k
|
17
|
-
self
|
18
|
-
end
|
19
|
-
|
20
|
-
def to_m
|
21
|
-
Mega.new @value / 1024.0
|
22
|
-
end
|
23
|
-
|
24
|
-
def to_g
|
25
|
-
Giga.new @value / 1024.0 / 1024
|
26
|
-
end
|
27
|
-
|
28
|
-
def to_s
|
29
|
-
@value.instance_of?(Float) ? formatted_float + ' kilo bytes' : @value.to_s + ' kilo bytes'
|
30
|
-
end
|
31
|
-
|
32
|
-
protected
|
33
|
-
|
34
|
-
def formatted_float
|
35
|
-
@value.to_s[0 .. @value.to_s.index('.') + 2]
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
data/lib/humanize-bytes/mbyte.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
module Humanize
|
2
|
-
module Bytes
|
3
|
-
class Mega
|
4
|
-
def initialize(value)
|
5
|
-
@value = value
|
6
|
-
end
|
7
|
-
|
8
|
-
def value
|
9
|
-
@value
|
10
|
-
end
|
11
|
-
|
12
|
-
def to_b
|
13
|
-
Byte.new @value * 1024 * 1024
|
14
|
-
end
|
15
|
-
|
16
|
-
def to_k
|
17
|
-
Kilo.new @value * 1024
|
18
|
-
end
|
19
|
-
|
20
|
-
def to_m
|
21
|
-
self
|
22
|
-
end
|
23
|
-
|
24
|
-
def to_g
|
25
|
-
Giga.new @value / 1024.0
|
26
|
-
end
|
27
|
-
|
28
|
-
def to_s
|
29
|
-
@value.instance_of?(Float) ? formatted_float + ' mega bytes' : @value.to_s + ' mega bytes'
|
30
|
-
end
|
31
|
-
|
32
|
-
protected
|
33
|
-
|
34
|
-
def formatted_float
|
35
|
-
@value.to_s[0 .. @value.to_s.index('.') + 2]
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,58 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Humanize::Bytes::Byte do
|
4
|
-
let(:b) { Humanize::Bytes::Byte.new(2147843648) }
|
5
|
-
|
6
|
-
context "#value" do
|
7
|
-
it "should return the value" do
|
8
|
-
b.value.should == 2147843648
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
context "#to_b" do
|
13
|
-
it "should return return self" do
|
14
|
-
b.to_b.should be b
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
context "#to_k" do
|
19
|
-
it "should convert to Kilo bytes" do
|
20
|
-
b.to_k.class.should be Kilo
|
21
|
-
end
|
22
|
-
it "should convert the value to Kilo bytes" do
|
23
|
-
b.to_k.value.should == 2097503.5625
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
context "#to_m" do
|
28
|
-
it "should convert to Mega bytes" do
|
29
|
-
b.to_m.class.should be Mega
|
30
|
-
end
|
31
|
-
it "should convert the value to Mega bytes" do
|
32
|
-
b.to_m.value.should == 2048.3433227539062
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
context "#to_g" do
|
37
|
-
it "should convert to Giga bytes" do
|
38
|
-
b.to_g.class.should be Giga
|
39
|
-
end
|
40
|
-
it "should convert the value to Giga bytes" do
|
41
|
-
b.to_g.value.should == 2.0003352761268616
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
context "#to_s" do
|
46
|
-
context "when value is an integer" do
|
47
|
-
it "should print a humanized version of the value" do
|
48
|
-
b.to_s.should == '2147843648 bytes'
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
context "when value is an integer" do
|
53
|
-
it "should print a humanized version of the value" do
|
54
|
-
Humanize::Bytes::Byte.new(4.997).to_s.should == '4.99 bytes'
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
@@ -1,58 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Humanize::Bytes::Giga do
|
4
|
-
let(:g) { Humanize::Bytes::Giga.new(3.25) }
|
5
|
-
|
6
|
-
context "#value" do
|
7
|
-
it "should return the value" do
|
8
|
-
g.value.should == 3.25
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
context "#to_b" do
|
13
|
-
it "should convert to Bytes" do
|
14
|
-
g.to_b.class.should be Byte
|
15
|
-
end
|
16
|
-
it "should convert the value to Byte" do
|
17
|
-
g.to_b.value.should == 3489660928
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
context "#to_k" do
|
22
|
-
it "should convert to Kilo bytes" do
|
23
|
-
g.to_k.class.should be Kilo
|
24
|
-
end
|
25
|
-
it "should convert the value to Kilo bytes" do
|
26
|
-
g.to_k.value.should == 3407872
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
context "#to_m" do
|
31
|
-
it "should convert to Mega bytes" do
|
32
|
-
g.to_m.class.should be Mega
|
33
|
-
end
|
34
|
-
it "should convert the value to Mega bytes" do
|
35
|
-
g.to_m.value.should == 3328
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
context "#to_g" do
|
40
|
-
it "should return self" do
|
41
|
-
g.to_g.should be g
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
context "#to_s" do
|
46
|
-
context "when value is a decimal" do
|
47
|
-
it "should print a humanized version of the value" do
|
48
|
-
g.to_s.should == '3.25 giga bytes'
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
context "when value is an integer" do
|
53
|
-
it "should print a humanized version of the value" do
|
54
|
-
Humanize::Bytes::Giga.new(4).to_s.should == '4 giga bytes'
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
@@ -1,58 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Humanize::Bytes::Kilo do
|
4
|
-
let(:k) { Humanize::Bytes::Kilo.new(5000) }
|
5
|
-
|
6
|
-
context "#value" do
|
7
|
-
it "should return the value" do
|
8
|
-
k.value.should == 5000
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
context "#to_b" do
|
13
|
-
it "should convert to Byte" do
|
14
|
-
k.to_b.class.should be Byte
|
15
|
-
end
|
16
|
-
it "should convert the value to Bytes" do
|
17
|
-
k.to_b.value.should == 5120000
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
context "#to_k" do
|
22
|
-
it "should return self" do
|
23
|
-
k.to_k.should be k
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
context "#to_m" do
|
28
|
-
it "should convert to Mega bytes" do
|
29
|
-
k.to_m.class.should be Mega
|
30
|
-
end
|
31
|
-
it "should convert the value to Mega bytes" do
|
32
|
-
k.to_m.value.should == 4.8828125
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
context "#to_g" do
|
37
|
-
it "should convert to Giga bytes" do
|
38
|
-
k.to_g.class.should be Giga
|
39
|
-
end
|
40
|
-
it "should convert the value to Giga bytes" do
|
41
|
-
k.to_g.value.should == 0.00476837158203125
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
context "#to_s" do
|
46
|
-
context "when value is an integer" do
|
47
|
-
it "should print a humanized version of the value" do
|
48
|
-
k.to_s.should == '5000 kilo bytes'
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
context "when value is an integer" do
|
53
|
-
it "should print a humanized version of the value" do
|
54
|
-
Humanize::Bytes::Kilo.new(4.997).to_s.should == '4.99 kilo bytes'
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
@@ -1,58 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Humanize::Bytes::Mega do
|
4
|
-
let(:m) { Humanize::Bytes::Mega.new(4.8828125) }
|
5
|
-
|
6
|
-
context "#value" do
|
7
|
-
it "should return the value" do
|
8
|
-
m.value.should == 4.8828125
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
context "#to_b" do
|
13
|
-
it "should convert to Byte" do
|
14
|
-
m.to_b.class.should be Byte
|
15
|
-
end
|
16
|
-
it "should convert the value to Bytes" do
|
17
|
-
m.to_b.value.should == 5120000
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
context "#to_k" do
|
22
|
-
it "should convert to Kilo bytes" do
|
23
|
-
m.to_k.class.should be Kilo
|
24
|
-
end
|
25
|
-
it "should convert the value to Kilo bytes" do
|
26
|
-
m.to_k.value.should == 5000
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
context "#to_m" do
|
31
|
-
it "should return self" do
|
32
|
-
m.to_m.should be m
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
context "#to_g" do
|
37
|
-
it "should convert to Giga bytes" do
|
38
|
-
m.to_g.class.should be Giga
|
39
|
-
end
|
40
|
-
it "should convert the value to Giga bytes" do
|
41
|
-
m.to_g.value.should == 0.00476837158203125
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
context "#to_s" do
|
46
|
-
context "when value is a decimal" do
|
47
|
-
it "should print a humanized version of the value" do
|
48
|
-
m.to_s.should == '4.88 mega bytes'
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
context "when value is an integer" do
|
53
|
-
it "should print a humanized version of the value" do
|
54
|
-
Humanize::Bytes::Mega.new(4).to_s.should == '4 mega bytes'
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
data/spec/humanize_bytes_spec.rb
DELETED
@@ -1,65 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Humanize::Bytes do
|
4
|
-
describe "#initialize" do
|
5
|
-
context "when the second parameter is nil" do
|
6
|
-
it "should return a new Byte instance" do
|
7
|
-
Humanize::Bytes.initialize(1024).should be_instance_of(Humanize::Bytes::Byte)
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
context "when the second parameter is 'b'" do
|
12
|
-
it "should return a new Kilo instance" do
|
13
|
-
Humanize::Bytes.initialize(1024, 'b').should be_instance_of(Humanize::Bytes::Byte)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
context "when the second parameter is 'k'" do
|
18
|
-
it "should return a new Kilo instance" do
|
19
|
-
Humanize::Bytes.initialize(1024, 'k').should be_instance_of(Humanize::Bytes::Kilo)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
context "when the second parameter is 'm'" do
|
24
|
-
it "should return a new Mega instance" do
|
25
|
-
Humanize::Bytes.initialize(1024, 'm').should be_instance_of(Humanize::Bytes::Mega)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
context "when the second parameter is 'g'" do
|
30
|
-
it "should return a new Giga instance" do
|
31
|
-
Humanize::Bytes.initialize(1024, 'g').should be_instance_of(Humanize::Bytes::Giga)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
context "when the second parameter is :b" do
|
36
|
-
it "should return a new Kilo instance" do
|
37
|
-
Humanize::Bytes.initialize(1024, :b).should be_instance_of(Humanize::Bytes::Byte)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
context "when the second parameter is :k" do
|
42
|
-
it "should return a new Kilo instance" do
|
43
|
-
Humanize::Bytes.initialize(1024, :k).should be_instance_of(Humanize::Bytes::Kilo)
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
context "when the second parameter is :m" do
|
48
|
-
it "should return a new Mega instance" do
|
49
|
-
Humanize::Bytes.initialize(1024, :m).should be_instance_of(Humanize::Bytes::Mega)
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
context "when the second parameter is :g" do
|
54
|
-
it "should return a new Giga instance" do
|
55
|
-
Humanize::Bytes.initialize(1024, :g).should be_instance_of(Humanize::Bytes::Giga)
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
context "when the second parameter is any other thing" do
|
60
|
-
it "should return nil" do
|
61
|
-
Humanize::Bytes.initialize(1024, :thing).should be_nil
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|