kibi 0.0.1

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.
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: