nutella 0.7 → 0.8

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.
@@ -0,0 +1,51 @@
1
+ class File
2
+ # Gives the size of a file as a string including the unit. It will choose the
3
+ # unit to use based on how big the file is. Decimals will be rounded to the
4
+ # tenths. +size+ is either a Numeric containing the size in bytes, a File
5
+ # object, or a String with the name of the file.
6
+ #
7
+ # @example Calculates size from several numbers
8
+ # File.human_size 120 # => "120 Bytes"
9
+ # File.human_size 1234 # => "1.2 KB"
10
+ # File.human_size 1234567 # => "1.2 MB"
11
+ # File.human_size 1234567890 # => "1.1 GB"
12
+ #
13
+ # @example Calculates the size of a 3 kilobyte file "foo.txt"
14
+ # File.human_size "foo.txt" # => "3 KB"
15
+ #
16
+ # @see File#human_size
17
+ #
18
+ # @param [String, File, Numeric] size the file to measure or size in bytes
19
+ # @return [String] the human readable size
20
+ def self.human_size(size)
21
+ bytes = size.is_a?(Numeric) ? size : File.size(size) rescue nil
22
+
23
+ return "Empty" if bytes.blank? || bytes.zero?
24
+ return "1 Byte" if bytes == 1
25
+
26
+ divisor, unit =
27
+ if bytes < Numeric::KILOBYTE
28
+ [1, "Bytes"]
29
+ elsif bytes < Numeric::MEGABYTE
30
+ [Numeric::KILOBYTE, "KB"]
31
+ elsif bytes < Numeric::GIGABYTE
32
+ [Numeric::MEGABYTE, "MB"]
33
+ else
34
+ [Numeric::GIGABYTE, "GB"]
35
+ end
36
+
37
+ "%g #{unit}" % (bytes.to_f / divisor).round(1)
38
+ end
39
+
40
+ # Returns the human readable form of the file's size.
41
+ #
42
+ # @example Calculates the size of a 4.2 megabyte file object
43
+ # f.human_size # => "4.2 MB"
44
+ #
45
+ # @see File::human_size
46
+ #
47
+ # @return [String] the human readable size
48
+ def human_size
49
+ File.human_size self
50
+ end
51
+ end
@@ -0,0 +1,43 @@
1
+ class Numeric
2
+ KILOBYTE = 1024
3
+ MEGABYTE = KILOBYTE * 1024
4
+ GIGABYTE = MEGABYTE * 1024
5
+ TERABYTE = GIGABYTE * 1024
6
+ PETABYTE = TERABYTE * 1024
7
+ EXABYTE = PETABYTE * 1024
8
+
9
+ def bytes
10
+ self
11
+ end
12
+ alias_method :byte, :bytes
13
+
14
+ def kilobytes
15
+ self * KILOBYTE
16
+ end
17
+ alias_method :kilobyte, :kilobytes
18
+
19
+ def megabytes
20
+ self * MEGABYTE
21
+ end
22
+ alias_method :megabyte, :megabytes
23
+
24
+ def gigabytes
25
+ self * GIGABYTE
26
+ end
27
+ alias_method :gigabyte, :gigabytes
28
+
29
+ def terabytes
30
+ self * TERABYTE
31
+ end
32
+ alias_method :terabyte, :terabytes
33
+
34
+ def petabytes
35
+ self * PETABYTE
36
+ end
37
+ alias_method :petabyte, :petabytes
38
+
39
+ def exabytes
40
+ self * EXABYTE
41
+ end
42
+ alias_method :exabyte, :exabytes
43
+ end
@@ -1,4 +1,4 @@
1
1
  module Nutella
2
2
  # The current version of Nutella.
3
- VERSION = "0.7"
3
+ VERSION = "0.8"
4
4
  end
@@ -9,38 +9,38 @@ describe Enumerable do
9
9
  end
10
10
 
11
11
  describe "#exclude?" do
12
- it "should return true if the collection does not contain the input" do
12
+ it "returns true if the collection does not contain the input" do
13
13
  [1, 2, 3].exclude?(4).should be_true
14
14
  end
15
15
 
16
- it "should return false if the collection contains the input" do
16
+ it "returns false if the collection contains the input" do
17
17
  [1, 2, 3].exclude?(2).should be_false
18
18
  end
19
19
  end
20
20
 
21
21
  describe "#group" do
22
- it "should group elements" do
22
+ it "groups elements" do
23
23
  [].group(2).should == []
24
24
  [1, 2].group(2).should == [[1, 2]]
25
25
  (1..4).group(2).should == [[1, 2], [3, 4]]
26
26
  (1..9).group(3).should == [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
27
27
  end
28
28
 
29
- it "should put all excess into the last group" do
29
+ it "puts all excess into the last group" do
30
30
  [1, 2].group(4).should == [[1, 2]]
31
31
  (1..8).group(3).should == [[1, 2, 3], [4, 5, 6], [7, 8]]
32
32
  end
33
33
 
34
- it "should discard all excess if instructed to" do
34
+ it "discards all excess if instructed to" do
35
35
  (1..3).group(2, true).should == [[1, 2]]
36
36
  (1..8).group(3, true).should == [[1, 2, 3], [4, 5, 6]]
37
37
  end
38
38
 
39
- it "should not discard anything if there is no excess" do
39
+ it "does not discard anything if there is no excess" do
40
40
  (1..4).group(2, true).should == [[1, 2], [3, 4]]
41
41
  end
42
42
 
43
- it "should not modify in place" do
43
+ it "does not modify in place" do
44
44
  arr = (1..10).to_a
45
45
  arr.group 2
46
46
  arr.should == (1..10).to_a
@@ -50,48 +50,48 @@ describe Enumerable do
50
50
  describe "#group!" do
51
51
  let(:arr) { (1..10).to_a }
52
52
 
53
- it "should modify in place" do
53
+ it "modifies in place" do
54
54
  arr.group! 2
55
55
  arr.should == (1..10).group(2)
56
56
  end
57
57
 
58
- it "should return the modified string" do
58
+ it "returns the modified string" do
59
59
  return_catcher = arr.group! 2
60
60
  return_catcher.should == arr
61
61
  end
62
62
 
63
- it "should return nil if nothing was modified" do
63
+ it "returns nil if nothing was modified" do
64
64
  return_catcher = [].group! 2
65
65
  return_catcher.should be_nil
66
66
  end
67
67
  end
68
68
 
69
69
  describe "#sum" do
70
- it "should return the sum of elements" do
70
+ it "returns the sum of elements" do
71
71
  [].sum.should == 0
72
72
  [5].sum.should == 5
73
73
  [1, 2, 3].sum.should == 6
74
74
  (1..4).sum.should == 10
75
75
  end
76
76
 
77
- it "should flatten the elements before adding" do
77
+ it "flattens the elements before adding" do
78
78
  [[4, 5], 1].sum.should == 10
79
79
  [[1, 2, 3], [4, 5]].sum.should == 15
80
80
  end
81
81
 
82
- it "should filter out all non-numbers" do
82
+ it "filters out all non-numbers" do
83
83
  { a: 2, b: 4 }.sum.should == 6
84
84
  [1, "str", 4].sum.should == 5
85
85
  ["no numbers"].sum.should == 0
86
86
  end
87
87
 
88
88
  context "with a block" do
89
- it "should return the sum of the elements that pass the filter block" do
89
+ it "returns the sum of the elements that pass the filter block" do
90
90
  (1..10).sum(&:even?).should == 30
91
91
  (1..10).sum { |n| n % 3 == 0 }.should == 18
92
92
  end
93
93
 
94
- it "should still filter out all non-numbers" do
94
+ it "still filters out all non-numbers" do
95
95
  { a: 1, b: 2, c: 3 }.sum(&:odd?).should == 4
96
96
  [2, "str", 4, 7].sum(&:even?).should == 6
97
97
  end
@@ -0,0 +1,106 @@
1
+ require "spec_helper"
2
+ require "nutella/core_ext/file"
3
+ require "nutella/core_ext/numeric"
4
+
5
+ describe File do
6
+ describe "::human_size" do
7
+ context "when given a Numeric" do
8
+ it "does not change bytes" do
9
+ File.human_size(150.bytes).should == "150 Bytes"
10
+ end
11
+
12
+ it "changes kilobytes" do
13
+ File.human_size(1.5.kilobytes).should == "1.5 KB"
14
+ end
15
+
16
+ it "changes megabytes" do
17
+ File.human_size(1.5.megabytes).should == "1.5 MB"
18
+ end
19
+
20
+ it "changes gigabytes" do
21
+ File.human_size(1.5.gigabytes).should == "1.5 GB"
22
+ end
23
+
24
+ it "rounds down properly to the tenths" do
25
+ File.human_size(1.72.megabytes).should == "1.7 MB"
26
+ end
27
+
28
+ it "rounds up properly to the tenths" do
29
+ File.human_size(1.78.megabytes).should == "1.8 MB"
30
+ end
31
+
32
+ it "has a singular unit for 1 byte" do
33
+ File.human_size(1.byte).should == "1 Byte"
34
+ end
35
+
36
+ it "returns 'Empty' for an empty file or a blank parameter" do
37
+ File.human_size(0).should == "Empty"
38
+ File.human_size(nil).should == "Empty"
39
+ end
40
+
41
+ it "displays whole numbers without a decimal" do
42
+ File.human_size(1.megabyte).should == "1 MB"
43
+ File.human_size(24.gigabytes).should == "24 GB"
44
+ end
45
+ end
46
+
47
+ context "when given a File" do
48
+ it "detects empty files properly" do
49
+ begin
50
+ f = File.new("temp", "w")
51
+ File.human_size(f).should == "Empty"
52
+ ensure
53
+ File.delete "temp"
54
+ end
55
+ end
56
+
57
+ it "detects the file size properly" do
58
+ begin
59
+ File.truncate(f = File.new("temp", "w"), 1.5.kilobytes)
60
+ File.human_size(f).should == "1.5 KB"
61
+
62
+ File.truncate(f = File.new("temp", "w"), 3.kilobytes)
63
+ File.human_size(f).should == "3 KB"
64
+ ensure
65
+ File.delete "temp"
66
+ end
67
+ end
68
+ end
69
+
70
+ context "when given a String" do
71
+ it "detects the file size properly" do
72
+ begin
73
+ File.truncate(f = File.new("temp", "w"), 1.5.kilobytes)
74
+ File.human_size("temp").should == "1.5 KB"
75
+
76
+ File.truncate(f = File.new("temp", "w"), 3.kilobytes)
77
+ File.human_size("temp").should == "3 KB"
78
+ ensure
79
+ File.delete "temp"
80
+ end
81
+ end
82
+ end
83
+ end
84
+
85
+ describe "#human_size" do
86
+ it "detects empty files properly" do
87
+ begin
88
+ File.new("temp", "w").human_size.should == "Empty"
89
+ ensure
90
+ File.delete "temp"
91
+ end
92
+ end
93
+
94
+ it "detects the file size properly" do
95
+ begin
96
+ File.truncate(f = File.new("temp", "w"), 1.5.kilobytes)
97
+ f.human_size.should == "1.5 KB"
98
+
99
+ File.truncate(f = File.new("temp", "w"), 3.kilobytes)
100
+ f.human_size.should == "3 KB"
101
+ ensure
102
+ File.delete "temp"
103
+ end
104
+ end
105
+ end
106
+ end
@@ -10,15 +10,15 @@ describe Hash do
10
10
  end
11
11
 
12
12
  describe "#grab" do
13
- it "should select the given items from a hash" do
13
+ it "selects the given items from a hash" do
14
14
  hash.slice(:a, :c).should == { a: 1, c: 3 }
15
15
  end
16
16
 
17
- it "should skip items that do not exist in the hash" do
17
+ it "skips items that do not exist in the hash" do
18
18
  hash.slice(:a, :d, :f).should == { a: 1, d: 4 }
19
19
  end
20
20
 
21
- it "should not modify in place" do
21
+ it "does not modify in place" do
22
22
  start = hash
23
23
  hash.slice :a, :b
24
24
  hash.should == start
@@ -26,16 +26,16 @@ describe Hash do
26
26
  end
27
27
 
28
28
  describe "#grab!" do
29
- it "should modify in place" do
29
+ it "modifies in place" do
30
30
  hash.slice! :a, :c
31
31
  hash.should == { a: 1, c: 3 }
32
32
  end
33
33
 
34
- it "should return the removed pairs" do
34
+ it "returns the removed pairs" do
35
35
  hash.slice!(:a, :c).should == { b: 2, d: 4 }
36
36
  end
37
37
 
38
- it "should ignore pairs that did not affect the hash" do
38
+ it "ignores pairs that did not affect the hash" do
39
39
  hash.slice!(:a, :c, :g).should == { b: 2, d: 4 }
40
40
  hash.should == { a: 1, c: 3 }
41
41
  end
@@ -8,7 +8,7 @@ describe Integer do
8
8
  end
9
9
 
10
10
  describe "#ordinalize" do
11
- it "should return the ordinal form of the integer" do
11
+ it "returns the ordinal form of the integer" do
12
12
  NUMBER_FORMATS.each do |cardinal, ordinal|
13
13
  cardinal.ordinalize.should == ordinal
14
14
  end
@@ -16,41 +16,41 @@ describe Integer do
16
16
  end
17
17
 
18
18
  describe "#goes_into?" do
19
- it "should return true if the number goes evenly into the argument" do
19
+ it "returns true if the number goes evenly into the argument" do
20
20
  5.goes_into?(10).should be_true
21
21
  3.goes_into?(21).should be_true
22
22
  25.goes_into?(100).should be_true
23
23
  end
24
24
 
25
- it "should return false if the number does not go evenly in" do
25
+ it "returns false if the number does not go evenly in" do
26
26
  3.goes_into?(10).should be_false
27
27
  9.goes_into?(40).should be_false
28
28
  10.goes_into?(5).should be_false
29
29
  end
30
30
 
31
31
  context "when passing in zero" do
32
- it "should return false if one tries to divide by zero" do
32
+ it "returns false if one tries to divide by zero" do
33
33
  0.goes_into?(20).should be_false
34
34
  0.goes_into?(30).should be_false
35
35
  end
36
36
 
37
- it "should allow zero to go into zero" do
37
+ it "allows zero to go into zero" do
38
38
  0.goes_into?(0).should be_true
39
39
  end
40
40
  end
41
41
 
42
42
  context "with multiple arguments" do
43
- it "should return true if all arguments succeed" do
43
+ it "returns true if all arguments succeed" do
44
44
  5.goes_into?(10, 15, 50).should be_true
45
45
  2.goes_into?(2, 4, 10).should be_true
46
46
  end
47
47
 
48
- it "should return false if only some arguments succeed" do
48
+ it "returns false if only some arguments succeed" do
49
49
  5.goes_into?(10, 12, 15).should be_false
50
50
  8.goes_into?(4, 16).should be_false
51
51
  end
52
52
 
53
- it "should return false if no arguments succeed" do
53
+ it "returns false if no arguments succeed" do
54
54
  3.goes_into?(8, 16, 20).should be_false
55
55
  6.goes_into?(5, 10, 15).should be_false
56
56
  end
@@ -58,31 +58,31 @@ describe Integer do
58
58
  end
59
59
 
60
60
  describe "#goes_into_any?" do
61
- it "should return true if all arguments succeed" do
61
+ it "returns true if all arguments succeed" do
62
62
  5.goes_into_any?(10, 15, 50).should be_true
63
63
  2.goes_into_any?(2, 4, 10).should be_true
64
64
  end
65
65
 
66
- it "should return true if only some arguments succeed" do
66
+ it "returns true if only some arguments succeed" do
67
67
  5.goes_into_any?(10, 12, 15).should be_true
68
68
  8.goes_into_any?(4, 16).should be_true
69
69
  end
70
70
 
71
- it "should return false if no arguments succeed" do
71
+ it "returns false if no arguments succeed" do
72
72
  3.goes_into_any?(8, 16, 20).should be_false
73
73
  6.goes_into_any?(5, 10, 15).should be_false
74
74
  end
75
75
  end
76
76
 
77
77
  describe "#multiple_of?" do
78
- it "should return true if the number is evenly divisible" do
78
+ it "returns true if the number is evenly divisible" do
79
79
  5.multiple_of?(5).should be_true
80
80
  15.multiple_of?(5).should be_true
81
81
  10.multiple_of?(2).should be_true
82
82
  6000.multiple_of?(6).should be_true
83
83
  end
84
84
 
85
- it "should return false if the number is not evenly divisible" do
85
+ it "returns false if the number is not evenly divisible" do
86
86
  20.multiple_of?(7).should be_false
87
87
  4.multiple_of?(3).should be_false
88
88
  5.multiple_of?(15).should be_false
@@ -90,30 +90,30 @@ describe Integer do
90
90
  end
91
91
 
92
92
  context "when passing in zero" do
93
- it "should return false if one tries to divide by zero" do
93
+ it "returns false if one tries to divide by zero" do
94
94
  20.multiple_of?(0).should be_false
95
95
  30.multiple_of?(0).should be_false
96
96
  end
97
97
 
98
- it "should allow zero to go into zero" do
98
+ it "allows zero to go into zero" do
99
99
  0.multiple_of?(0).should be_true
100
100
  end
101
101
  end
102
102
 
103
103
  context "with multiple arguments" do
104
- it "should return true if evenly divisible by all arguments" do
104
+ it "returns true if evenly divisible by all arguments" do
105
105
  15.multiple_of?(3, 15).should be_true
106
106
  100.multiple_of?(2, 5, 25).should be_true
107
107
  0.multiple_of?(0, 1, 2).should be_true
108
108
  end
109
109
 
110
- it "should return false if evenly divisible by only some arguments" do
110
+ it "returns false if evenly divisible by only some arguments" do
111
111
  15.multiple_of?(2, 3).should be_false
112
112
  12.multiple_of?(3, 4, 6, 8).should be_false
113
113
  10.multiple_of?(0, 5).should be_false
114
114
  end
115
115
 
116
- it "should return false if evenly divisible by none of the arguments" do
116
+ it "returns false if evenly divisible by none of the arguments" do
117
117
  6.multiple_of?(4, 5).should be_false
118
118
  17.multiple_of?(2, 4).should be_false
119
119
  end
@@ -121,19 +121,19 @@ describe Integer do
121
121
  end
122
122
 
123
123
  describe "#multiple_of_any?" do
124
- it "should return true if evenly divisible by all arguments" do
124
+ it "returns true if evenly divisible by all arguments" do
125
125
  15.multiple_of_any?(3, 15).should be_true
126
126
  100.multiple_of_any?(2, 5, 25).should be_true
127
127
  0.multiple_of_any?(0, 1, 2).should be_true
128
128
  end
129
129
 
130
- it "should return true if evenly divisible by only some arguments" do
130
+ it "returns true if evenly divisible by only some arguments" do
131
131
  15.multiple_of_any?(2, 3).should be_true
132
132
  12.multiple_of_any?(3, 4, 6, 8).should be_true
133
133
  10.multiple_of_any?(0, 5).should be_true
134
134
  end
135
135
 
136
- it "should return false if evenly divisible by none of the arguments" do
136
+ it "returns false if evenly divisible by none of the arguments" do
137
137
  6.multiple_of_any?(4, 5).should be_false
138
138
  17.multiple_of_any?(2, 4).should be_false
139
139
  end
@@ -0,0 +1,11 @@
1
+ require "spec_helper"
2
+ require "nutella/core_ext/numeric"
3
+
4
+ describe Numeric do
5
+ describe "aliases" do
6
+ # Test the singular aliases- byte for bytes, kilobyte for kilobytes, etc.
7
+ ([""] + %w[kilo mega giga tera peta exa]).each do |prefix|
8
+ test_alias Numeric, (name = "#{prefix}byte").to_sym, "#{name}s".to_sym
9
+ end
10
+ end
11
+ end
@@ -7,43 +7,43 @@ describe Object do
7
7
  end
8
8
 
9
9
  describe "#blank?" do
10
- it "should be blank when nil" do
10
+ it "is blank when nil" do
11
11
  nil.blank?.should be_true
12
12
  end
13
13
 
14
- it "should be blank when false" do
14
+ it "is blank when false" do
15
15
  false.blank?.should be_true
16
16
  end
17
17
 
18
- it "should not be blank when true" do
18
+ it "is not blank when true" do
19
19
  true.blank?.should be_false
20
20
  end
21
21
 
22
- it "should not be blank when numeric" do
22
+ it "is not blank when numeric" do
23
23
  [0, 1].each { |n| n.blank?.should be_false }
24
24
  end
25
25
 
26
26
  context "when a string" do
27
- it "should be blank if the string is empty" do
27
+ it "is blank if the string is empty" do
28
28
  "".blank?.should be_true
29
29
  end
30
30
 
31
- it "should be blank if only whitespace" do
31
+ it "is blank if only whitespace" do
32
32
  [" ", "\n \t"].each { |str| str.blank?.should be_true }
33
33
  " something here ".blank?.should be_false
34
34
  end
35
35
 
36
- it "should not be blank if the string has content" do
36
+ it "is not blank if the string has content" do
37
37
  "string".blank?.should be_false
38
38
  end
39
39
  end
40
40
 
41
41
  context "when a collection" do
42
- it "should be blank if the collection is empty" do
42
+ it "is blank if the collection is empty" do
43
43
  [[], {}].each { |collection| collection.blank?.should be_true }
44
44
  end
45
45
 
46
- it "should not be blank if there are elements in the collection" do
46
+ it "is not blank if there are elements in the collection" do
47
47
  [[1, 2, 3], { 1 => 2, 3 => 4 }].each do |collection|
48
48
  collection.blank?.should be_false
49
49
  end
@@ -52,7 +52,7 @@ describe Object do
52
52
  end
53
53
 
54
54
  describe "#present?" do
55
- it "should be the inverse of #blank?" do
55
+ it "is the inverse of #blank?" do
56
56
  [0, 1].each { |n| n.present?.should be_true }
57
57
  [[], {}].each { |collection| collection.present?.should be_false }
58
58
  ["", " "].each { |str| str.present?.should be_false }
@@ -61,12 +61,12 @@ describe Object do
61
61
  end
62
62
 
63
63
  describe "#presence" do
64
- it "should return the object if the object is present" do
64
+ it "returns the object if the object is present" do
65
65
  1.presence.should == 1
66
66
  "str".presence.should == "str"
67
67
  end
68
68
 
69
- it "should return nil if the object is not present" do
69
+ it "returns nil if the object is not present" do
70
70
  "".presence.should be_nil
71
71
  false.presence.should be_nil
72
72
  end
@@ -14,11 +14,11 @@ describe Enumerable do
14
14
  end
15
15
 
16
16
  describe "#exclude?" do
17
- it "should return true if the string does not contain the input string" do
17
+ it "returns true if the string does not contain the input string" do
18
18
  "hello".exclude?("test").should be_true
19
19
  end
20
20
 
21
- it "should return false if the string contains the input string" do
21
+ it "returns false if the string contains the input string" do
22
22
  "hello".exclude?("llo").should be_false
23
23
  end
24
24
  end
@@ -48,7 +48,7 @@ Left-aligned again.
48
48
  EOS
49
49
  end
50
50
 
51
- it "should strip all excess whitespace from the left" do
51
+ it "strips all excess whitespace from the left" do
52
52
  test.should == expected
53
53
  end
54
54
  end
@@ -1,7 +1,7 @@
1
1
  # Tests if +method_a+ is an alias to +method_b+ in the class +cls+.
2
2
  def test_alias(cls, method_a, method_b)
3
3
  describe "##{method_a.to_s}" do
4
- it "should be an alias of ##{method_b.to_s}" do
4
+ it "is an alias of ##{method_b.to_s}" do
5
5
  cls.instance_method(method_a).should === cls.instance_method(method_b)
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nutella
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.7'
4
+ version: '0.8'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-22 00:00:00.000000000 Z
12
+ date: 2012-10-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fuubar
@@ -116,10 +116,12 @@ files:
116
116
  - lib/nutella.rb
117
117
  - lib/nutella/version.rb
118
118
  - lib/nutella/input.rb
119
+ - lib/nutella/core_ext/numeric.rb
119
120
  - lib/nutella/core_ext/integer/multiples.rb
120
121
  - lib/nutella/core_ext/integer/format.rb
121
122
  - lib/nutella/core_ext/object.rb
122
123
  - lib/nutella/core_ext/string.rb
124
+ - lib/nutella/core_ext/file.rb
123
125
  - lib/nutella/core_ext/integer.rb
124
126
  - lib/nutella/core_ext/hash.rb
125
127
  - lib/nutella/core_ext/object/blank.rb
@@ -130,9 +132,11 @@ files:
130
132
  - spec/support/number_formats.rb
131
133
  - spec/nutella/core_ext/object_spec.rb
132
134
  - spec/nutella/core_ext/hash_spec.rb
135
+ - spec/nutella/core_ext/numeric_spec.rb
133
136
  - spec/nutella/core_ext/enumerable_spec.rb
134
137
  - spec/nutella/core_ext/integer_spec.rb
135
138
  - spec/nutella/core_ext/string_spec.rb
139
+ - spec/nutella/core_ext/file_spec.rb
136
140
  - spec/spec_helper.rb
137
141
  - .rspec
138
142
  - LICENSE
@@ -160,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
164
  version: '0'
161
165
  segments:
162
166
  - 0
163
- hash: -3181334132306800521
167
+ hash: 2449410360859195033
164
168
  requirements: []
165
169
  rubyforge_project:
166
170
  rubygems_version: 1.8.24
@@ -172,8 +176,10 @@ test_files:
172
176
  - spec/support/number_formats.rb
173
177
  - spec/nutella/core_ext/object_spec.rb
174
178
  - spec/nutella/core_ext/hash_spec.rb
179
+ - spec/nutella/core_ext/numeric_spec.rb
175
180
  - spec/nutella/core_ext/enumerable_spec.rb
176
181
  - spec/nutella/core_ext/integer_spec.rb
177
182
  - spec/nutella/core_ext/string_spec.rb
183
+ - spec/nutella/core_ext/file_spec.rb
178
184
  - spec/spec_helper.rb
179
185
  has_rdoc: