sungemm 0.0.2 → 0.0.3
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 +8 -8
- data/.gitignore +1 -0
- data/.travis.yml +4 -0
- data/.yardopts +1 -1
- data/Gemfile +1 -0
- data/README.md +2 -1
- data/lib/sungemm.rb +8 -55
- data/lib/sungemm/character.rb +5 -0
- data/lib/sungemm/hash.rb +24 -0
- data/lib/sungemm/methods.rb +105 -0
- data/lib/sungemm/person.rb +32 -0
- data/lib/sungemm/point.rb +9 -0
- data/lib/sungemm/queue.rb +22 -0
- data/lib/sungemm/rectangle.rb +13 -0
- data/lib/sungemm/stack.rb +22 -0
- data/lib/sungemm/version.rb +1 -1
- data/test/lib/sungemm_methods_test.rb +88 -0
- data/test/lib/sungemm_test.rb +63 -19
- data/test/test_helper.rb +11 -5
- metadata +13 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NmExMTA5Y2RhMjZlYjM1Y2U5NjM1NmZmZmMyZjQ4MmU3MWZjODc1MA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NmQxMWQ1ZTdjYzc3MzBkYzRiNmI4ZmExM2ZjNTg4YjhlYTdmZTczZA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OTMwMTg4N2ZiODRkMzA5NWExYTk2ZmI1MDNmOGIwNGQwNDZkNDMwOTZmOTli
|
10
|
+
MTlhYTQ1MWJhY2E3YTQ1ZDQyZTYxYjJiZjY2NTE5YzYwZWQ1MWM0ODJkMDdl
|
11
|
+
NjI3OTMyM2Q5MmFmODhmNjcwN2ZjNjdkMjE2ZWYyZjYzMDAyMTM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NzVhZTU1MjgwYzQxNmJkNDVhMTUyZjM5YzdmODg2NDk2ZWJhNDFlODAzZjNm
|
14
|
+
NTBjYTY3ZTA5NmRhZDU3NThmZWNhMzVkNTk5MGZkNDJlMThkMjdhOTI4OTNl
|
15
|
+
ZTFkZDMwMzVhNTcwNzdiMzEzOWNkOTU4MmRkNWE5ZDkyMjVjYTU=
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/.yardopts
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# Sungemm
|
2
2
|
|
3
|
-
|
3
|
+
[](https://rubygems.org/gems/sungemm)
|
4
|
+
[](https://coveralls.io/r/sitnikovme/sungemm?branch=master)
|
4
5
|
|
5
6
|
## Installation
|
6
7
|
|
data/lib/sungemm.rb
CHANGED
@@ -1,56 +1,9 @@
|
|
1
1
|
require "sungemm/version"
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
else
|
11
|
-
fibo_finder(n-2)+fibo_finder(n-1)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
class Stack
|
16
|
-
def initialize(array)
|
17
|
-
@array = array
|
18
|
-
end
|
19
|
-
|
20
|
-
def pop(count = 1)
|
21
|
-
r=@array.pop(count).reverse
|
22
|
-
r=r.last if count==1
|
23
|
-
r
|
24
|
-
end
|
25
|
-
|
26
|
-
def push(values)
|
27
|
-
values.each {|x| @array << x}
|
28
|
-
true
|
29
|
-
end
|
30
|
-
|
31
|
-
def to_a
|
32
|
-
@array
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
class Queue
|
37
|
-
def initialize(array)
|
38
|
-
@array = array
|
39
|
-
end
|
40
|
-
|
41
|
-
def pop(count = 1)
|
42
|
-
r = @array.shift(count)
|
43
|
-
r = r.first if count == 1
|
44
|
-
r
|
45
|
-
end
|
46
|
-
|
47
|
-
def push(values)
|
48
|
-
values.each { |x| @array << x }
|
49
|
-
true
|
50
|
-
end
|
51
|
-
|
52
|
-
def to_a
|
53
|
-
@array
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
2
|
+
require "sungemm/methods"
|
3
|
+
require "sungemm/queue"
|
4
|
+
require "sungemm/stack"
|
5
|
+
require "sungemm/person"
|
6
|
+
require "sungemm/character"
|
7
|
+
require "sungemm/hash"
|
8
|
+
require "sungemm/point"
|
9
|
+
require "sungemm/rectangle"
|
data/lib/sungemm/hash.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
module Sungemm
|
2
|
+
class HashWithIndifferentAccess
|
3
|
+
def initialize(args = [])
|
4
|
+
@hash = {}
|
5
|
+
args.each_slice(2) do |x|
|
6
|
+
k = x[0].to_sym
|
7
|
+
v = x[1].nil? ? nil : x[1]
|
8
|
+
@hash[k] = v
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.[](*args)
|
13
|
+
new(args)
|
14
|
+
end
|
15
|
+
|
16
|
+
def []=(key, value)
|
17
|
+
@hash[key.to_sym] = value
|
18
|
+
end
|
19
|
+
|
20
|
+
def [](key)
|
21
|
+
@hash[key.to_sym]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,105 @@
|
|
1
|
+
module Sungemm
|
2
|
+
# Finds the n-th fibonachi number.
|
3
|
+
# @param n [Fixnum] element number in the fibonachi sequence.
|
4
|
+
# @return [Fixnum] N-th fibo number.
|
5
|
+
def self.fibo_finder(n)
|
6
|
+
if (0..1).include?(n)
|
7
|
+
n
|
8
|
+
else
|
9
|
+
fibo_finder(n - 2) + fibo_finder(n - 1)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.longest_palindrome(str)
|
14
|
+
len = str.length
|
15
|
+
while len > 0
|
16
|
+
offset = str.length - len
|
17
|
+
while offset > 0
|
18
|
+
substr = str[offset, len]
|
19
|
+
return substr if substr == substr.reverse
|
20
|
+
offset -= 1
|
21
|
+
end
|
22
|
+
len -= 1
|
23
|
+
end
|
24
|
+
""
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.count(array)
|
28
|
+
h = Hash.new(0)
|
29
|
+
array.each { |el| h[el] += 1 }
|
30
|
+
h
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.even_sum(arr)
|
34
|
+
arr.each_with_object([]) do |item, obj|
|
35
|
+
if !item.nil? && item.length.even?
|
36
|
+
obj << item.reverse
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.join_params(link, url_parameters)
|
42
|
+
link + "?" + url_parameters.map { |(k, v)| "#{k}=#{v}" }.join("&")
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.pretty_date(date)
|
46
|
+
month_strings = %w(January February March April May June July August
|
47
|
+
Sepetember October November December)
|
48
|
+
invalid_date = false
|
49
|
+
case
|
50
|
+
when m = /\A(\d{2})-(\d{2})-(\d{4})\z/.match(date)
|
51
|
+
year = m[3]
|
52
|
+
month_int = m[1].to_i - 1
|
53
|
+
month = month_strings[month_int][0, 3]
|
54
|
+
day = m[2]
|
55
|
+
when m = /\A(\w+)[ ](\d{1,2}),[ ](\d{4})\z/.match(date)
|
56
|
+
month_match = m[1]
|
57
|
+
if !month_strings.include?(month_match)
|
58
|
+
invalid_date = true
|
59
|
+
else
|
60
|
+
month = month_match[0, 3]
|
61
|
+
year = m[3]
|
62
|
+
day = m[2]
|
63
|
+
end
|
64
|
+
when m = /\A(\d{4})-(\d{2})-(\d{2})\z/.match(date)
|
65
|
+
year = m[1]
|
66
|
+
month_int = m[2].to_i - 1
|
67
|
+
month = month_strings[month_int][0, 3]
|
68
|
+
day = m[3]
|
69
|
+
when m = %r{\A(\d{1,2})/(\d{2})/(\d{4})\z}.match(date)
|
70
|
+
year = m[3]
|
71
|
+
month_int = m[1].to_i - 1
|
72
|
+
month = month_strings[month_int][0, 3]
|
73
|
+
day = m[2]
|
74
|
+
else
|
75
|
+
invalid_date = true
|
76
|
+
end
|
77
|
+
raise "Invalid date format" if invalid_date
|
78
|
+
"#{month} #{day}, #{year}"
|
79
|
+
end
|
80
|
+
|
81
|
+
def self.random_boolean
|
82
|
+
rand(2) == 1
|
83
|
+
end
|
84
|
+
|
85
|
+
def self.reverse_each_word(sentence)
|
86
|
+
sentence.split(" ").map { |x| x.reverse }.join(" ")
|
87
|
+
end
|
88
|
+
|
89
|
+
def self.separate_with_comma(number)
|
90
|
+
str = number.to_s
|
91
|
+
if str.length > 3
|
92
|
+
str.gsub!(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1,")
|
93
|
+
else
|
94
|
+
str
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
def self.simple_sub(str, pattern, replace)
|
99
|
+
str.gsub(pattern, pattern => replace)
|
100
|
+
end
|
101
|
+
|
102
|
+
def self.key_for_min_value(hash)
|
103
|
+
hash.key(hash.values.min)
|
104
|
+
end
|
105
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Sungemm
|
2
|
+
class Person
|
3
|
+
def initialize(name, age, incoming_race)
|
4
|
+
@name = name
|
5
|
+
@age = age
|
6
|
+
self.race = incoming_race
|
7
|
+
end
|
8
|
+
|
9
|
+
def nam
|
10
|
+
@name.split.map(&:capitalize).join(" ")
|
11
|
+
end
|
12
|
+
|
13
|
+
def ag
|
14
|
+
@age
|
15
|
+
end
|
16
|
+
|
17
|
+
def method_missing(m, *args)
|
18
|
+
case m
|
19
|
+
when :name
|
20
|
+
nam
|
21
|
+
when :age
|
22
|
+
ag
|
23
|
+
when :race=
|
24
|
+
@race = args[0]
|
25
|
+
when :race
|
26
|
+
@race.capitalize
|
27
|
+
else
|
28
|
+
super
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Sungemm
|
2
|
+
class Queue
|
3
|
+
def initialize(array)
|
4
|
+
@array = array
|
5
|
+
end
|
6
|
+
|
7
|
+
def pop(count = 1)
|
8
|
+
r = @array.shift(count)
|
9
|
+
r = r.first if count == 1
|
10
|
+
r
|
11
|
+
end
|
12
|
+
|
13
|
+
def push(values)
|
14
|
+
values.each { |x| @array << x }
|
15
|
+
true
|
16
|
+
end
|
17
|
+
|
18
|
+
def to_a
|
19
|
+
@array
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Sungemm
|
2
|
+
class Rectangle
|
3
|
+
attr_accessor :upper_left, :lower_right
|
4
|
+
|
5
|
+
def initialize(upper_left, lower_right)
|
6
|
+
self.upper_left, self.lower_right = upper_left, lower_right
|
7
|
+
end
|
8
|
+
|
9
|
+
def area
|
10
|
+
(lower_right.x - upper_left.x) * (lower_right.y - upper_left.y)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Sungemm
|
2
|
+
class Stack
|
3
|
+
def initialize(array)
|
4
|
+
@array = array
|
5
|
+
end
|
6
|
+
|
7
|
+
def pop(count = 1)
|
8
|
+
r = @array.pop(count).reverse
|
9
|
+
r = r.last if count == 1
|
10
|
+
r
|
11
|
+
end
|
12
|
+
|
13
|
+
def push(values)
|
14
|
+
values.each { |x| @array << x }
|
15
|
+
true
|
16
|
+
end
|
17
|
+
|
18
|
+
def to_a
|
19
|
+
@array
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/sungemm/version.rb
CHANGED
@@ -0,0 +1,88 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
|
3
|
+
class MethodsTest < MiniTest::Test
|
4
|
+
def test_fibo_finder
|
5
|
+
assert_equal 0, Sungemm.fibo_finder(0)
|
6
|
+
assert_equal 1, Sungemm.fibo_finder(1)
|
7
|
+
assert_equal 3, Sungemm.fibo_finder(4)
|
8
|
+
assert_equal 13, Sungemm.fibo_finder(7)
|
9
|
+
assert_equal 55, Sungemm.fibo_finder(10)
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_longest_palindrome
|
13
|
+
assert_equal "yzzy", Sungemm.longest_palindrome("xyzzy")
|
14
|
+
assert_equal "dhfdkjfffhhfffjkdfhd", Sungemm.longest_palindrome("afbbbfj"\
|
15
|
+
"djklgdfdhfdkjfffhhfffjkdfhdhkyejejfjkd")
|
16
|
+
assert_equal "racecar", Sungemm.longest_palindrome("bartarcarracecarbart"\
|
17
|
+
"ar")
|
18
|
+
assert_equal "46264", Sungemm.longest_palindrome("3.14159265358979323846"\
|
19
|
+
"264338327950288419716939937510582097494459230781640628620899862803482"\
|
20
|
+
"5342117067982")
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_count
|
24
|
+
test = %w(cat dog fish fish)
|
25
|
+
assert_equal ({ 'cat' => 1, 'dog' => 1, 'fish' => 2 }), Sungemm.count(test)
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_even_sum
|
29
|
+
arr = ["cat", "dog", "bird", "fish"]
|
30
|
+
assert_equal ["drib", "hsif"], Sungemm.even_sum(arr)
|
31
|
+
arr = ["why", "chunky", nil, "lucky", "stiff"]
|
32
|
+
assert_equal ["yknuhc"], Sungemm.even_sum(arr)
|
33
|
+
arr = ["rewsna", "hitch hiker", "si", "guide", "galaxies ", "24"]
|
34
|
+
assert_equal ["answer", "is", "42"], Sungemm.even_sum(arr)
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_join_params
|
38
|
+
url_params = {
|
39
|
+
'first_param' => 123,
|
40
|
+
'second_param' => 456,
|
41
|
+
'third_param' => 678
|
42
|
+
}
|
43
|
+
url = 'http://www.foobar.com'
|
44
|
+
test_url = 'http://www.foobar.com?'\
|
45
|
+
'first_param=123&second_param=456&third_param=678'
|
46
|
+
assert_equal test_url, Sungemm.join_params(url, url_params)
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_pretty_date
|
50
|
+
assert_equal "Nov 30, 1835", Sungemm.pretty_date("11-30-1835")
|
51
|
+
assert_equal "Jul 20, 1933", Sungemm.pretty_date("July 20, 1933")
|
52
|
+
assert_equal "Nov 11, 1922", Sungemm.pretty_date("1922-11-11")
|
53
|
+
assert_equal "Sep 20, 1978", Sungemm.pretty_date("9/20/1978")
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_random_boolean
|
57
|
+
array = []
|
58
|
+
|
59
|
+
100.times do
|
60
|
+
array << :dummy if Sungemm.random_boolean
|
61
|
+
end
|
62
|
+
|
63
|
+
assert_equal true, (1..100) === array.size
|
64
|
+
assert_equal true, array.size != 100
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_separate_with_comma
|
68
|
+
assert_equal "1", Sungemm.separate_with_comma(1)
|
69
|
+
assert_equal "10", Sungemm.separate_with_comma(10)
|
70
|
+
assert_equal "100", Sungemm.separate_with_comma(100)
|
71
|
+
assert_equal "1,000", Sungemm.separate_with_comma(1000)
|
72
|
+
assert_equal "10,000", Sungemm.separate_with_comma(10000)
|
73
|
+
assert_equal "100,000", Sungemm.separate_with_comma(100000)
|
74
|
+
assert_equal "1,000,000", Sungemm.separate_with_comma(1000000)
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_simple_sub
|
78
|
+
str = "?? == ??"
|
79
|
+
|
80
|
+
assert_equal "?? <= ??", Sungemm.simple_sub(str, "==", "<=")
|
81
|
+
assert_equal "?? == ??", Sungemm.simple_sub(str, "abc", "def")
|
82
|
+
assert_equal "fun?? == fun??", Sungemm.simple_sub(str, "??", "fun??")
|
83
|
+
naruse_answer = "Date.parse(date.sub(/(\d+)[-\/](\d\d)."\
|
84
|
+
"(\d{4})/,'\\3-\\1-\\2')).strftime('%b %d, %Y')"
|
85
|
+
right_answer = "#{naruse_answer} == #{naruse_answer}"
|
86
|
+
assert_equal right_answer, Sungemm.simple_sub(str, "??", naruse_answer)
|
87
|
+
end
|
88
|
+
end
|
data/test/lib/sungemm_test.rb
CHANGED
@@ -1,31 +1,75 @@
|
|
1
1
|
require "test_helper"
|
2
2
|
|
3
|
-
class SungemmTest < MiniTest::
|
4
|
-
def test_fibo_finder
|
5
|
-
assert_equal 0, Sungemm.fibo_finder(0)
|
6
|
-
assert_equal 1, Sungemm.fibo_finder(1)
|
7
|
-
assert_equal 3, Sungemm.fibo_finder(4)
|
8
|
-
assert_equal 13, Sungemm.fibo_finder(7)
|
9
|
-
assert_equal 55, Sungemm.fibo_finder(10)
|
10
|
-
end
|
11
|
-
|
3
|
+
class SungemmTest < MiniTest::Test
|
12
4
|
def test_stack
|
13
5
|
stack = Sungemm::Stack.new([5, 6, 7, 8])
|
14
6
|
|
15
|
-
assert_equal stack.pop
|
16
|
-
assert_equal stack.pop
|
17
|
-
assert_equal stack.push([4, 2])
|
18
|
-
assert_equal
|
19
|
-
assert_equal stack.to_a
|
7
|
+
assert_equal 8, stack.pop
|
8
|
+
assert_equal 7, stack.pop
|
9
|
+
assert_equal true, stack.push([4, 2])
|
10
|
+
assert_equal [2, 4, 6], stack.pop(3)
|
11
|
+
assert_equal [5], stack.to_a
|
20
12
|
end
|
21
13
|
|
22
14
|
def test_queue
|
23
15
|
queue = Sungemm::Queue.new([5, 6, 7, 8])
|
24
16
|
|
25
|
-
assert_equal queue.pop
|
26
|
-
assert_equal queue.pop
|
27
|
-
assert_equal queue.push([4, 2])
|
28
|
-
assert_equal queue.pop(2)
|
29
|
-
assert_equal
|
17
|
+
assert_equal 5, queue.pop
|
18
|
+
assert_equal 6, queue.pop
|
19
|
+
assert_equal true, queue.push([4, 2])
|
20
|
+
assert_equal [7, 8], queue.pop(2)
|
21
|
+
assert_equal [4, 2], queue.to_a
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_person
|
25
|
+
person = Sungemm::Person.new("kurt vonnegut", 89, "caucasian")
|
26
|
+
assert_equal "Kurt Vonnegut", person.name
|
27
|
+
assert_equal "Caucasian", person.race
|
28
|
+
assert_equal 89, person.age
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_character
|
32
|
+
thorin = Sungemm::Character.new
|
33
|
+
thorin.name = "Thorin Oakenshield"
|
34
|
+
thorin.quote = "Some courage and some wisdom, blended in measure. If more
|
35
|
+
of us valued food and cheer and song above hoarded gold, it would be a
|
36
|
+
merrier world"
|
37
|
+
|
38
|
+
stephen = Sungemm::Character.new
|
39
|
+
stephen.name = "Stephen Dedalus"
|
40
|
+
|
41
|
+
assert_equal "Thorin Oakenshield", thorin.name
|
42
|
+
assert_equal "Stephen Dedalus", stephen.name
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_hash
|
46
|
+
composers = Sungemm::HashWithIndifferentAccess.new
|
47
|
+
composers[:Janacek] = "Leos Janacek"
|
48
|
+
composers["Sweelinck"] = "Jan Pieterszoon Sweelinck"
|
49
|
+
|
50
|
+
mathematicians = Sungemm::HashWithIndifferentAccess["Yutaka", "Taniyama",
|
51
|
+
:Alonzo, "Church"]
|
52
|
+
|
53
|
+
assert_equal "Leos Janacek", composers["Janacek"]
|
54
|
+
assert_equal "Jan Pieterszoon Sweelinck", composers[:Sweelinck]
|
55
|
+
assert_equal "Taniyama", mathematicians[:Yutaka]
|
56
|
+
assert_equal true, (mathematicians["Alonzo"] == mathematicians[:Alonzo])
|
57
|
+
end
|
58
|
+
|
59
|
+
def test_key_for_min_value
|
60
|
+
input = {"k" => 2, "h" => 3, "j" => 1}
|
61
|
+
assert_equal "j", Sungemm.key_for_min_value(input)
|
62
|
+
input = {"o" => 0, "z" => -2, "j" => 1}
|
63
|
+
assert_equal "z", Sungemm.key_for_min_value(input)
|
64
|
+
input = {}
|
65
|
+
assert_equal nil, Sungemm.key_for_min_value(input)
|
66
|
+
end
|
67
|
+
|
68
|
+
def test_point_and_rectangle
|
69
|
+
p1 = Sungemm::Point.new(0, 0)
|
70
|
+
p2 = Sungemm::Point.new(3, 4)
|
71
|
+
assert_equal 12, Sungemm::Rectangle.new(p1, p2).area
|
72
|
+
assert_equal 12, Sungemm::Rectangle.new(p2, p1).area
|
73
|
+
assert_equal 10, Sungemm::Rectangle.new(Sungemm::Point.new(13, 5), p2).area
|
30
74
|
end
|
31
75
|
end
|
data/test/test_helper.rb
CHANGED
@@ -1,13 +1,19 @@
|
|
1
|
+
require 'simplecov'
|
2
|
+
require 'coveralls'
|
3
|
+
|
4
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
5
|
+
SimpleCov::Formatter::HTMLFormatter,
|
6
|
+
Coveralls::SimpleCov::Formatter
|
7
|
+
]
|
8
|
+
SimpleCov.start do
|
9
|
+
add_filter "/test/"
|
10
|
+
end
|
11
|
+
|
1
12
|
require 'bundler/setup'
|
2
13
|
Bundler.require
|
3
14
|
|
4
15
|
require "minitest/autorun"
|
5
16
|
|
6
|
-
if ENV['TRAVIS']
|
7
|
-
require 'coveralls'
|
8
|
-
Coveralls.wear!
|
9
|
-
end
|
10
|
-
|
11
17
|
class TestCase < MiniTest::Test
|
12
18
|
def load_fixture(filename)
|
13
19
|
File.read(File.dirname(__FILE__) + "/fixtures/#{filename}")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sungemm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maksim Sitnikov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -74,14 +74,24 @@ extensions: []
|
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
76
|
- .gitignore
|
77
|
+
- .travis.yml
|
77
78
|
- .yardopts
|
78
79
|
- Gemfile
|
79
80
|
- LICENSE.txt
|
80
81
|
- README.md
|
81
82
|
- Rakefile
|
82
83
|
- lib/sungemm.rb
|
84
|
+
- lib/sungemm/character.rb
|
85
|
+
- lib/sungemm/hash.rb
|
86
|
+
- lib/sungemm/methods.rb
|
87
|
+
- lib/sungemm/person.rb
|
88
|
+
- lib/sungemm/point.rb
|
89
|
+
- lib/sungemm/queue.rb
|
90
|
+
- lib/sungemm/rectangle.rb
|
91
|
+
- lib/sungemm/stack.rb
|
83
92
|
- lib/sungemm/version.rb
|
84
93
|
- sungemm.gemspec
|
94
|
+
- test/lib/sungemm_methods_test.rb
|
85
95
|
- test/lib/sungemm_test.rb
|
86
96
|
- test/test_helper.rb
|
87
97
|
homepage: ''
|
@@ -109,6 +119,7 @@ signing_key:
|
|
109
119
|
specification_version: 4
|
110
120
|
summary: sample gem
|
111
121
|
test_files:
|
122
|
+
- test/lib/sungemm_methods_test.rb
|
112
123
|
- test/lib/sungemm_test.rb
|
113
124
|
- test/test_helper.rb
|
114
125
|
has_rdoc:
|