kibi 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/lib/kibi.rb +3 -0
  2. data/lib/kibi/kibi.rb +27 -0
  3. data/lib/kibi/units.rb +85 -0
  4. metadata +49 -0
@@ -0,0 +1,3 @@
1
+ # kibi
2
+ $:.unshift File.join File.dirname(__FILE__), 'kibi'
3
+ require 'kibi'
@@ -0,0 +1,27 @@
1
+ require 'units'
2
+
3
+ module Kibi
4
+ class << self
5
+ include Units
6
+
7
+ def humanize bytes
8
+ case
9
+ when bytes >= yobibyte
10
+ [bytes.to_f / yobibyte, :yb]
11
+ when bytes >= zebibyte
12
+ [bytes.to_f / zebibyte, :zb]
13
+ when bytes >= tebibyte
14
+ [bytes.to_f / tebibyte, :tb]
15
+ when bytes >= gibibyte
16
+ [bytes.to_f / gibibyte, :gb]
17
+ when bytes >= mebibyte
18
+ [bytes.to_f / mebibyte, :mb]
19
+ when bytes >= kibibyte
20
+ [bytes.to_f / kibibyte, :kb]
21
+ else
22
+ [bytes, :b]
23
+ end
24
+ end
25
+
26
+ end
27
+ end
@@ -0,0 +1,85 @@
1
+ module Kibi
2
+ module Units
3
+
4
+ def kibibyte
5
+ 2 ** 10
6
+ end
7
+ alias_method :kilobyte, :kibibyte
8
+
9
+ def kibibytes value
10
+ value * kibibyte
11
+ end
12
+ alias_method :kilobytes, :kibibytes
13
+
14
+ def mebibyte
15
+ 2 ** 20
16
+ end
17
+ alias_method :megabyte, :mebibyte
18
+
19
+ def mebibytes value
20
+ value * mebibyte
21
+ end
22
+ alias_method :megabytes, :mebibytes
23
+
24
+ def gibibyte
25
+ 2 ** 30
26
+ end
27
+ alias_method :gigabyte, :gibibyte
28
+
29
+ def gibibytes value
30
+ value * gibibyte
31
+ end
32
+ alias_method :gigabytes, :gibibytes
33
+
34
+ def tebibyte
35
+ 2 ** 40
36
+ end
37
+ alias_method :terabyte, :tebibyte
38
+
39
+ def tebibytes value
40
+ value * tebibyte
41
+ end
42
+ alias_method :terabytes, :tebibytes
43
+
44
+ def pebibyte
45
+ 2 ** 50
46
+ end
47
+ alias_method :petabyte, :pebibyte
48
+
49
+ def pebibytes value
50
+ value * pebibyte
51
+ end
52
+ alias_method :petabytes, :pebibytes
53
+
54
+ def exbibyte
55
+ 2 ** 60
56
+ end
57
+ alias_method :exabyte, :exbibyte
58
+
59
+ def exbibytes value
60
+ value * exbibyte
61
+ end
62
+ alias_method :exabytes, :exbibytes
63
+
64
+ def zebibyte
65
+ 2 ** 70
66
+ end
67
+ alias_method :zettabyte, :zebibyte
68
+
69
+ def zebibytes value
70
+ value * zebibyte
71
+ end
72
+ alias_method :zettabytes, :zebibytes
73
+
74
+ def yobibyte
75
+ 2 ** 80
76
+ end
77
+ alias_method :yottabyte, :yobibyte
78
+
79
+ def yobibytes value
80
+ value * yobibyte
81
+ end
82
+ alias_method :yottabytes, :yobibytes
83
+
84
+ end
85
+ end
metadata ADDED
@@ -0,0 +1,49 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: kibi
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - dallas marlow
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-04-30 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description:
15
+ email:
16
+ - dallasmarlow@gmail.com
17
+ executables: []
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - lib/kibi.rb
22
+ - lib/kibi/kibi.rb
23
+ - lib/kibi/units.rb
24
+ homepage: https://github.com/dallasmarlow/kibi
25
+ licenses: []
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - lib
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ required_rubygems_version: !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ! '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ requirements: []
43
+ rubyforge_project:
44
+ rubygems_version: 1.8.10
45
+ signing_key:
46
+ specification_version: 3
47
+ summary: byte units
48
+ test_files: []
49
+ has_rdoc: