rubyhelper 0.6.4 → 0.6.5
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 +4 -4
- data/README.md +41 -0
- data/Rakefile +8 -0
- data/lib/rubyhelper/version.rb +4 -0
- data/rubyhelper.gemspec +34 -0
- data/test/test_arrayhelper.rb +42 -0
- data/test/test_hashhelper.rb +17 -0
- data/test/test_numerichelper.rb +24 -0
- data/test/test_stringhelper.rb +103 -0
- data/test/test_versionhelper.rb +58 -0
- metadata +21 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad26aad4e19650c436656640d87daf49439a26e0
|
4
|
+
data.tar.gz: 181537485327ea18811bc6939173359c57c15e07
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2991bef981598be1edea094817568d38022b9ca2171732faf6fd87f620fcc3dd7346839012c9336b302e19d57db1f52b19a103c158087c338e8e368d038c151a
|
7
|
+
data.tar.gz: 44177c3803f4905ddf5059cce17d41806735291e391287808ddcb1431486f8be26bc461500b1b01b0c06c375e91fda2b51bb8bdfb0d1dc8a3ff0de79e73cc8e8
|
data/README.md
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
# rubyhelper
|
2
|
+
|
3
|
+
[](http://badge.fury.io/rb/rubyhelper)
|
4
|
+
|
5
|
+
You can see the documentation here : https://www.omniref.com/ruby/gems/rubyhelper
|
6
|
+
|
7
|
+
## Wtf ?
|
8
|
+
This gem is my own creation. It is a compilation of shortcuts, improvement,
|
9
|
+
helpers about the basic classes, String, Array, ... to make your work easier.
|
10
|
+
I hope too help you with this gem.
|
11
|
+
|
12
|
+
|
13
|
+
## My favorites functions from this gem
|
14
|
+
- String.new.static(n) => String
|
15
|
+
Render a cool string with a static size. Few cool options tested and validated
|
16
|
+
- String.new.get_float => String
|
17
|
+
Usefull to extract a Numerical value from a stupid String
|
18
|
+
- Array.new.average /averagef
|
19
|
+
Simple and usefull integer/float average
|
20
|
+
- Array.new.sumf / sum
|
21
|
+
Simple and usefull float/integer sum
|
22
|
+
|
23
|
+
|
24
|
+
## Notes about the source code
|
25
|
+
The following sources code is not only my stuff, but also an implementation of idea found on stackoverflow, ...
|
26
|
+
|
27
|
+
|
28
|
+
# TODO
|
29
|
+
- Benchmark Hash.except with
|
30
|
+
```
|
31
|
+
h.delete_if{|k| [:a].include? k}
|
32
|
+
```
|
33
|
+
- Improve documentation
|
34
|
+
- Prepare the v1.0
|
35
|
+
- Improve VersionHelper tests
|
36
|
+
|
37
|
+
# Contributors
|
38
|
+
- poulet_a : Creator and main developper. Feel free to ask me a question by email.
|
39
|
+
email : arthur.poulet AT cryptolab.net
|
40
|
+
OpenPGP : 0x6D9EA34A
|
41
|
+
|
data/Rakefile
ADDED
data/rubyhelper.gemspec
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
require_relative "lib/rubyhelper/version"
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = 'rubyhelper'
|
5
|
+
s.version = RubyHelper::VERSION
|
6
|
+
s.date = Time.now.getgm.to_s.split.first
|
7
|
+
s.summary = "add tests and readme to gemspec"
|
8
|
+
s.description = "A list of utils for the basic Class of ruby."
|
9
|
+
s.authors = [
|
10
|
+
"poulet_a"
|
11
|
+
]
|
12
|
+
s.email = "poulet_a@epitech.eu",
|
13
|
+
s.files = [
|
14
|
+
"lib/rubyhelper.rb",
|
15
|
+
"lib/rubyhelper/version.rb",
|
16
|
+
"lib/rubyhelper/integerhelper.rb",
|
17
|
+
"lib/rubyhelper/numerichelper.rb",
|
18
|
+
"lib/rubyhelper/stringhelper.rb",
|
19
|
+
"lib/rubyhelper/arrayhelper.rb",
|
20
|
+
"lib/rubyhelper/timehelper.rb",
|
21
|
+
"lib/rubyhelper/hashhelper.rb",
|
22
|
+
"lib/rubyhelper/versionhelper.rb",
|
23
|
+
"README.md",
|
24
|
+
"Rakefile",
|
25
|
+
"rubyhelper.gemspec",
|
26
|
+
"test/test_arrayhelper.rb",
|
27
|
+
"test/test_hashhelper.rb",
|
28
|
+
"test/test_numerichelper.rb",
|
29
|
+
"test/test_stringhelper.rb",
|
30
|
+
"test/test_versionhelper.rb",
|
31
|
+
]
|
32
|
+
s.homepage = "https://gitlab.com/Sopheny/rubyhelper"
|
33
|
+
s.license = "GNU/GPLv3"
|
34
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
require 'minitest/autorun'
|
3
|
+
require_relative '../lib/rubyhelper'
|
4
|
+
|
5
|
+
class ArrayHelperTest < Minitest::Test
|
6
|
+
|
7
|
+
def test_joini
|
8
|
+
assert_equal("s,S.s", ["s","S","s"].joini([",", "."]))
|
9
|
+
assert_equal("s,S.s.S", ["s","S","s","S"].joini([",", ".", "."]))
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_sum
|
13
|
+
assert_equal(12, [1,2,9].sum)
|
14
|
+
assert_equal(0, [].sum)
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_sumf
|
18
|
+
assert_equal(12.0, [1,2, 9].sumf)
|
19
|
+
assert_equal(0.1, [0.01, 0.09, -0, -1, 1.1, -0.1].sumf.round(2))
|
20
|
+
assert_equal(0.0, [].sumf)
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_average
|
24
|
+
assert_equal(2, [1,2,3].average)
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_averagef
|
28
|
+
assert_equal(2.5, [2,3].averagef)
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_maxs
|
32
|
+
assert_equal([44], [2,3,1,14,44,-1,1,2].maxs(0))
|
33
|
+
assert_equal([44], [2,3,1,14,44,-1,1,2].maxs(1))
|
34
|
+
assert_equal([14,44], [2,3,1,14,44,-1,1,2].maxs(2))
|
35
|
+
assert_equal([-1,1,1,2,2,3,14,44], [2,3,1,14,44,-1,1,2].maxs(100))
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_compacti
|
39
|
+
assert_equal([" "], ["", " ", nil].compacti)
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
require 'minitest/autorun'
|
3
|
+
require_relative '../lib/rubyhelper'
|
4
|
+
|
5
|
+
class ArrayHelperTest < Minitest::Test
|
6
|
+
|
7
|
+
def test_joini
|
8
|
+
assert_equal({ :data => :a, :datb => :b },
|
9
|
+
{
|
10
|
+
:datx => :x,
|
11
|
+
:data => :a,
|
12
|
+
:datb => :b,
|
13
|
+
:datc => :c,
|
14
|
+
}.except!(:datx, :datc))
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'rubyhelper'
|
3
|
+
|
4
|
+
class NumericHelperTest < Minitest::Test
|
5
|
+
|
6
|
+
def test_min
|
7
|
+
assert_equal(2, 1.min(2))
|
8
|
+
assert_equal(1, 1.min(1))
|
9
|
+
assert_equal(1, 1.min(0))
|
10
|
+
assert_equal(0, (-1).min(0))
|
11
|
+
assert_equal(1, 0.min(1))
|
12
|
+
assert_equal(1.1, 1.min(1.1))
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_max
|
16
|
+
assert_equal(1, 1.max(2))
|
17
|
+
assert_equal(1, 1.max(1))
|
18
|
+
assert_equal(0, 1.max(0))
|
19
|
+
assert_equal(-1, (-1).max(0))
|
20
|
+
assert_equal(0, 0.max(1))
|
21
|
+
assert_equal(1, (2.2).max(1))
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
@@ -0,0 +1,103 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
require 'minitest/autorun'
|
3
|
+
require_relative '../lib/rubyhelper'
|
4
|
+
|
5
|
+
class StringHelperTest < Minitest::Test
|
6
|
+
|
7
|
+
def test_to_plain
|
8
|
+
assert_equal("bonjour".to_plain, "bonjour")
|
9
|
+
assert_equal("bonjouré".to_plain, "bonjoure")
|
10
|
+
assert_equal("bonjo\\AAAur".to_plain, "bonjo\\AAAur")
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_p
|
14
|
+
assert_equal("bonjour".p, "bonjour")
|
15
|
+
assert_equal("bonjouré".p, "bonjoure")
|
16
|
+
assert_equal("bonjo\\AAAur".p, "bonjo\\AAAur")
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_p!
|
20
|
+
assert_equal("bonjour".p!, "bonjour")
|
21
|
+
assert_equal("bonjouré".p!, "bonjoure")
|
22
|
+
assert_equal("bonjo\\AAAur".p!, "bonjo\\AAAur")
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_to_case
|
26
|
+
assert_equal("bonjour".to_case(:downcase), "bonjour")
|
27
|
+
assert_equal("bonJour".to_case(:upcase), "BONJOUR")
|
28
|
+
assert_equal("bonJour".to_case(:capitalize), "Bonjour")
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_to_case!
|
32
|
+
assert_equal("bonjour".to_case!(:downcase), "bonjour")
|
33
|
+
assert_equal("bonJour".to_case!(:upcase), "BONJOUR")
|
34
|
+
assert_equal("bonJour".to_case!(:capitalize), "Bonjour")
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_to_ascii
|
38
|
+
assert_equal("bonjoure".to_ascii(""), "bonjoure")
|
39
|
+
assert_equal("bonjouré".to_ascii(""), "bonjoure")
|
40
|
+
assert_equal("bonjouré".to_ascii("."), "bonjoure")
|
41
|
+
assert_equal("bonjour€".to_ascii(""), "bonjour")
|
42
|
+
assert_equal("bonjour€".to_ascii("."), "bonjour.")
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_to_f
|
46
|
+
assert_equal("bonjour".to_f, 0.0)
|
47
|
+
assert_equal("bonj1our".to_f, 0.0)
|
48
|
+
assert_equal("1.1.1".to_f, 1.1)
|
49
|
+
assert_equal("1.1".to_f, 1.1)
|
50
|
+
assert_equal("1,1".to_f, 1.1)
|
51
|
+
assert_equal(",1,1".to_f, 0.1)
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_to_ii
|
55
|
+
assert_equal("1 1".to_ii(), 11)
|
56
|
+
assert_equal("06.08.68".to_ii("."), 60868)
|
57
|
+
assert_equal("06.08.68".to_ii("\. \t\-"), 60868)
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_to_t
|
61
|
+
assert_equal("true".to_t, true)
|
62
|
+
assert_equal("false".to_t, false)
|
63
|
+
assert_equal("truex".to_t, nil)
|
64
|
+
assert_equal("xfalsex".to_t, nil)
|
65
|
+
assert_equal("".to_t, nil)
|
66
|
+
end
|
67
|
+
|
68
|
+
def test_static
|
69
|
+
assert_equal("r", "bonjour".static(1, " "))
|
70
|
+
assert_equal("our", "bonjour".static(3, " "))
|
71
|
+
assert_equal("bonjour ", "bonjour".static(10, " "))
|
72
|
+
assert_equal("b", "bonjour".static(1, " ", :front))
|
73
|
+
assert_equal("bon", "bonjour".static(3, " ", :front))
|
74
|
+
assert_equal(" bonjour", "bonjour".static(10, " ", :front))
|
75
|
+
assert_equal("j", "bonjour".static(1, " ", :center))
|
76
|
+
assert_equal("jo", "bonjour".static(2, " ", :center))
|
77
|
+
assert_equal("njo", "bonjour".static(3, " ", :center))
|
78
|
+
assert_equal("njou", "bonjour".static(4, " ", :center))
|
79
|
+
assert_equal("bonjour ", "bonjour".static(8, " ", :center))
|
80
|
+
assert_equal(" bonjour ", "bonjour".static(9, " ", :center))
|
81
|
+
assert_equal(" bonjour ", "bonjour".static(10, " ", :center))
|
82
|
+
assert_equal(" bonjour ", "bonjour".static(11, " ", :center))
|
83
|
+
end
|
84
|
+
|
85
|
+
def test_get_int
|
86
|
+
assert_equal("1312".get_int(), "1312")
|
87
|
+
assert_equal("ea -ze 13e12 à nnazdaz d".get_int(), "-1312")
|
88
|
+
assert_equal("ea\n ze +13\n12\n à nnazdaz\n\t\n\r d".get_int(), "+1312")
|
89
|
+
end
|
90
|
+
|
91
|
+
def test_get_int
|
92
|
+
assert_equal("13,12".get_float(), "13,12")
|
93
|
+
assert_equal("ea -ze 13e.12 à nnazdaz d".get_float(), "-13.12")
|
94
|
+
assert_equal("ea\n ze +13\n.12\n à nnazdaz\n\t\n\r d".get_float(), "+13.12")
|
95
|
+
end
|
96
|
+
|
97
|
+
def test_scapitalize
|
98
|
+
assert_equal("Bonjour Monsieur", "Bonjour Monsieur".scapitalize)
|
99
|
+
assert_equal("Bonjour M A D & A", "BONJOUR M A D & A".scapitalize)
|
100
|
+
assert_equal("1 And 1 Sontdesvoleurs", "1 and 1 sontdesvoleurs".scapitalize)
|
101
|
+
end
|
102
|
+
|
103
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'rubyhelper'
|
3
|
+
|
4
|
+
class VersionHelperTest < Minitest::Test
|
5
|
+
|
6
|
+
def test_new
|
7
|
+
v1 = VersionHelper::Version.new 1
|
8
|
+
v2 = VersionHelper::Version.new [1,2]
|
9
|
+
v3 = VersionHelper::Version.new "v1,2.3"
|
10
|
+
v4 = VersionHelper::Version.new 123
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_incr!
|
14
|
+
v1 = VersionHelper::Version.new 1
|
15
|
+
v2 = VersionHelper::Version.new 1,2
|
16
|
+
v3 = VersionHelper::Version.new 1,2,3
|
17
|
+
v1.incr!
|
18
|
+
v2.incr!
|
19
|
+
v3.incr!
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_decr!
|
23
|
+
v1 = VersionHelper::Version.new 1
|
24
|
+
v2 = VersionHelper::Version.new 1,2
|
25
|
+
v3 = VersionHelper::Version.new 1,2,3
|
26
|
+
v1.decr!
|
27
|
+
v2.decr!
|
28
|
+
v3.decr!
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_to_i
|
32
|
+
v1 = VersionHelper::Version.new 1
|
33
|
+
v2 = VersionHelper::Version.new 1,2
|
34
|
+
v3 = VersionHelper::Version.new 1,2,3
|
35
|
+
assert_equal(1, v1.to_i)
|
36
|
+
assert_equal(12, v2.to_i)
|
37
|
+
assert_equal(123, v3.to_i)
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_to_s
|
41
|
+
v1 = VersionHelper::Version.new 1
|
42
|
+
v2 = VersionHelper::Version.new 1,2
|
43
|
+
v3 = VersionHelper::Version.new 1,2,3
|
44
|
+
assert_equal("1", v1.to_s)
|
45
|
+
assert_equal("1.2", v2.to_s)
|
46
|
+
assert_equal("1.2.3", v3.to_s)
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_to_a
|
50
|
+
v1 = VersionHelper::Version.new 1
|
51
|
+
v2 = VersionHelper::Version.new 1,2
|
52
|
+
v3 = VersionHelper::Version.new 1,2,3
|
53
|
+
assert_equal([1], v1.to_a)
|
54
|
+
assert_equal([1,2], v2.to_a)
|
55
|
+
assert_equal([1,2,3], v3.to_a)
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
metadata
CHANGED
@@ -1,19 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubyhelper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- poulet_a
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-03 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A list of utils for the basic Class of ruby.
|
14
14
|
email:
|
15
15
|
- poulet_a@epitech.eu
|
16
16
|
- - lib/rubyhelper.rb
|
17
|
+
- lib/rubyhelper/version.rb
|
17
18
|
- lib/rubyhelper/integerhelper.rb
|
18
19
|
- lib/rubyhelper/numerichelper.rb
|
19
20
|
- lib/rubyhelper/stringhelper.rb
|
@@ -21,10 +22,20 @@ email:
|
|
21
22
|
- lib/rubyhelper/timehelper.rb
|
22
23
|
- lib/rubyhelper/hashhelper.rb
|
23
24
|
- lib/rubyhelper/versionhelper.rb
|
25
|
+
- README.md
|
26
|
+
- Rakefile
|
27
|
+
- rubyhelper.gemspec
|
28
|
+
- test/test_arrayhelper.rb
|
29
|
+
- test/test_hashhelper.rb
|
30
|
+
- test/test_numerichelper.rb
|
31
|
+
- test/test_stringhelper.rb
|
32
|
+
- test/test_versionhelper.rb
|
24
33
|
executables: []
|
25
34
|
extensions: []
|
26
35
|
extra_rdoc_files: []
|
27
36
|
files:
|
37
|
+
- README.md
|
38
|
+
- Rakefile
|
28
39
|
- lib/rubyhelper.rb
|
29
40
|
- lib/rubyhelper/arrayhelper.rb
|
30
41
|
- lib/rubyhelper/hashhelper.rb
|
@@ -32,7 +43,14 @@ files:
|
|
32
43
|
- lib/rubyhelper/numerichelper.rb
|
33
44
|
- lib/rubyhelper/stringhelper.rb
|
34
45
|
- lib/rubyhelper/timehelper.rb
|
46
|
+
- lib/rubyhelper/version.rb
|
35
47
|
- lib/rubyhelper/versionhelper.rb
|
48
|
+
- rubyhelper.gemspec
|
49
|
+
- test/test_arrayhelper.rb
|
50
|
+
- test/test_hashhelper.rb
|
51
|
+
- test/test_numerichelper.rb
|
52
|
+
- test/test_stringhelper.rb
|
53
|
+
- test/test_versionhelper.rb
|
36
54
|
homepage: https://gitlab.com/Sopheny/rubyhelper
|
37
55
|
licenses:
|
38
56
|
- GNU/GPLv3
|
@@ -56,6 +74,6 @@ rubyforge_project:
|
|
56
74
|
rubygems_version: 2.4.1
|
57
75
|
signing_key:
|
58
76
|
specification_version: 4
|
59
|
-
summary: add
|
77
|
+
summary: add tests and readme to gemspec
|
60
78
|
test_files: []
|
61
79
|
has_rdoc:
|