senju_kan_non 0.0.1 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6ad1de44e749ddc6c62baf24a0e90897049afc50
4
- data.tar.gz: 32a5def8384fde04d97115b561a776d47a2a9a36
3
+ metadata.gz: '0479ee62434684cdc12975bceabd9176e5ed386b'
4
+ data.tar.gz: 629d966960d4c28d14f564a881395d9bf43b4ece
5
5
  SHA512:
6
- metadata.gz: ff8fe1904c1dad75935bbf9025757f52cc4a7b18c1cc142bd53793a108cc89533903f749c8042a4502c198a2ab869c143886840283a73a268895911fd21aa5e9
7
- data.tar.gz: 412645e6b8bfbac65c0e0866419a573a55435e79451c339426d21f2b9cc57e2ca40fc9dbded9f8191b857eb93c4c69b2a17c7aab64dc88ad8008934d61ec1c08
6
+ metadata.gz: 93d125f6fc360d6b248a49622381ec78a2b40d64db1650dfc8aaa483729ae840baefb4481c7273efc29c49f0d5e9b5ba06c73012e47e37c8de7428e0a00d6c3c
7
+ data.tar.gz: 6bfbfad75e513ba1fe102188d8506ce92b8537168fd10c07d36da9fe87afe49da84e6e4ff6e9fa55d2a79d27a9486357c154ed8f56aec1de9d5c8feb27f59373
@@ -1,3 +1,3 @@
1
1
  module SenjuKanNon
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.1"
3
3
  end
data/lib/senju_kan_non.rb CHANGED
@@ -1,36 +1,43 @@
1
1
  require "senju_kan_non/version"
2
2
 
3
3
  module SenjuKanNon
4
-
5
4
  class << self
6
- def redeem(issai)
7
- return false unless issai.kind_of?(Hash)
8
-
9
- keys = issai.keys
10
- idx = 0
11
-
12
- issai.each_value do |shujo|
13
- return false unless shujo.kind_of?(Array)
14
- neighbor = issai[keys[idx + 1]]
15
- return nil unless neighbor
5
+ def redeem(issai_shujo)
6
+ return false unless issai_shujo.kind_of?(Hash)
16
7
 
17
- # TODO: need fix for issai has 3 or more params
18
- return combine(shujo, neighbor)
19
- end
8
+ sekke(issai_shujo)
20
9
  end
21
10
 
22
11
  private
23
12
 
24
- def combine(base, values)
25
- return nil unless values.kind_of?(Array)
26
- combinations = []
27
- base.each do |item|
28
- values.each do |value|
29
- combinations << [item,value]
13
+ def sekke(issai_shujo)
14
+ keys = issai_shujo.keys
15
+ @riyaku = Hash.new { |h,k| h[k] = {} }
16
+
17
+ keys.each do |key|
18
+ @riyaku[key] = []
19
+ end
20
+
21
+ keys.combination(2) do |first_eye, second_eye|
22
+ first_hand = issai_shujo[first_eye]
23
+ second_hand = issai_shujo[second_eye]
24
+ gasshou(first_eye, first_hand, second_eye, second_hand)
25
+ end
26
+
27
+ parse_columns_to_row
28
+ end
29
+
30
+ def gasshou(first_eye, first_hand, second_eye, second_hand)
31
+ first_hand.each do |item|
32
+ second_hand.each do |value|
33
+ @riyaku[first_eye] << item
34
+ @riyaku[second_eye] << value
30
35
  end
31
36
  end
37
+ end
32
38
 
33
- combinations
39
+ def parse_columns_to_row
40
+ @riyaku.values.transpose
34
41
  end
35
42
  end
36
43
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: senju_kan_non
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - hanahiroAze
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-07-01 00:00:00.000000000 Z
11
+ date: 2017-07-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -94,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
94
94
  version: '0'
95
95
  requirements: []
96
96
  rubyforge_project:
97
- rubygems_version: 2.6.12
97
+ rubygems_version: 2.6.8
98
98
  signing_key:
99
99
  specification_version: 4
100
100
  summary: generate array for pairwise testing.