tbpgr_utils 0.0.116 → 0.0.117

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 (41) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +51 -0
  3. data/README.md +13 -1
  4. data/Rakefile +8 -8
  5. data/lib/attributes_initializable.rb +3 -3
  6. data/lib/eval_helper/attr_init_class_code.rb +1 -1
  7. data/lib/eval_helper/times_code.rb +2 -2
  8. data/lib/markdown/heading.rb +32 -32
  9. data/lib/open_classes/array/kernel_send.rb +15 -0
  10. data/lib/open_classes/array/to_table.rb +1 -1
  11. data/lib/open_classes/array.rb +1 -0
  12. data/lib/open_classes/kernel/aa_ancestors.rb +16 -16
  13. data/lib/open_classes/kernel/p_evals.rb +42 -42
  14. data/lib/open_classes/string/heading_helper.rb +1 -1
  15. data/lib/open_classes/string/stripe.rb +1 -1
  16. data/lib/open_classes/string/to_hatena_heading.rb +35 -35
  17. data/lib/open_classes/string/to_markdown_heading.rb +37 -37
  18. data/lib/open_classes/string/to_space2_heading.rb +35 -35
  19. data/lib/open_classes/string/to_space4_heading.rb +35 -35
  20. data/lib/open_classes/string/to_tab_heading.rb +35 -35
  21. data/lib/simple_tournament.rb +57 -57
  22. data/lib/tbpgr_utils/version.rb +1 -1
  23. data/rubocop-todo.yml +33 -33
  24. data/spec/markdown/heading_spec.rb +4 -4
  25. data/spec/markdown/ol_spec.rb +1 -1
  26. data/spec/markdown/ul_spec.rb +1 -1
  27. data/spec/open_classes/array/kernel_send_spec.rb +43 -0
  28. data/spec/open_classes/array/together_at_spec.rb +61 -61
  29. data/spec/open_classes/array/together_clear_spec.rb +51 -51
  30. data/spec/open_classes/array/together_concat_spec.rb +53 -53
  31. data/spec/open_classes/array/together_delete_at_spec.rb +78 -78
  32. data/spec/open_classes/array/together_delete_if_spec.rb +61 -61
  33. data/spec/open_classes/array/together_delete_spec.rb +80 -80
  34. data/spec/open_classes/array/together_fill_spec.rb +79 -79
  35. data/spec/open_classes/array/together_map_spec.rb +171 -171
  36. data/spec/open_classes/array/together_spec.rb +51 -51
  37. data/spec/open_classes/array/together_with_index_spec.rb +51 -51
  38. data/spec/open_classes/object/any_of_spec.rb +72 -72
  39. data/spec/set_variables_code_spec.rb +2 -1
  40. data/tbpgr_utils.gemspec +27 -27
  41. metadata +41 -26
@@ -1,35 +1,35 @@
1
- # encoding: utf-8
2
- require 'active_support/core_ext/object/inclusion'
3
- require 'open_classes/string/heading_helper'
4
-
5
- class String
6
- include HeadingHelper
7
- # Space4
8
- SPACE4 = ' '
9
-
10
- # create heading string with Emmet-like syntax.
11
- #
12
- # ==== Examples
13
- #
14
- # > case
15
- #
16
- # 'hoge>hige'.to_space4_heading # => 'hoge\n hige'
17
- #
18
- # + case
19
- #
20
- # 'hoge+hige'.to_space4_heading # => 'hoge\nhige'
21
- #
22
- # ^ case
23
- #
24
- # 'hoge>hige^hege'.to_space4_heading # => 'hoge\n hige\nhege'
25
- #
26
- def to_space4_heading
27
- heading = to_heading
28
- to_space4 heading
29
- end
30
-
31
- private
32
- def to_space4(heading)
33
- to_head(heading, SPACE4)
34
- end
35
- end
1
+ # encoding: utf-8
2
+ require 'active_support/core_ext/object/inclusion'
3
+ require 'open_classes/string/heading_helper'
4
+
5
+ class String
6
+ include HeadingHelper
7
+ # Space4
8
+ SPACE4 = ' '
9
+
10
+ # create heading string with Emmet-like syntax.
11
+ #
12
+ # ==== Examples
13
+ #
14
+ # > case
15
+ #
16
+ # 'hoge>hige'.to_space4_heading # => 'hoge\n hige'
17
+ #
18
+ # + case
19
+ #
20
+ # 'hoge+hige'.to_space4_heading # => 'hoge\nhige'
21
+ #
22
+ # ^ case
23
+ #
24
+ # 'hoge>hige^hege'.to_space4_heading # => 'hoge\n hige\nhege'
25
+ #
26
+ def to_space4_heading
27
+ heading = to_heading
28
+ to_space4 heading
29
+ end
30
+
31
+ private
32
+ def to_space4(heading)
33
+ to_head(heading, SPACE4)
34
+ end
35
+ end
@@ -1,35 +1,35 @@
1
- # encoding: utf-8
2
- require 'active_support/core_ext/object/inclusion'
3
- require 'open_classes/string/heading_helper'
4
-
5
- class String
6
- include HeadingHelper
7
- # Tab
8
- TAB = "\t"
9
-
10
- # create heading string with Emmet-like syntax.
11
- #
12
- # ==== Examples
13
- #
14
- # > case
15
- #
16
- # 'hoge>hige'.to_tab_heading # => 'hoge\n\thige'
17
- #
18
- # + case
19
- #
20
- # 'hoge+hige'.to_tab_heading # => 'hoge\nhige'
21
- #
22
- # ^ case
23
- #
24
- # 'hoge>hige^hege'.to_tab_heading # => 'hoge\n\thige\nhege'
25
- #
26
- def to_tab_heading
27
- heading = to_heading
28
- to_tab heading
29
- end
30
-
31
- private
32
- def to_tab(heading)
33
- to_head(heading, TAB)
34
- end
35
- end
1
+ # encoding: utf-8
2
+ require 'active_support/core_ext/object/inclusion'
3
+ require 'open_classes/string/heading_helper'
4
+
5
+ class String
6
+ include HeadingHelper
7
+ # Tab
8
+ TAB = "\t"
9
+
10
+ # create heading string with Emmet-like syntax.
11
+ #
12
+ # ==== Examples
13
+ #
14
+ # > case
15
+ #
16
+ # 'hoge>hige'.to_tab_heading # => 'hoge\n\thige'
17
+ #
18
+ # + case
19
+ #
20
+ # 'hoge+hige'.to_tab_heading # => 'hoge\nhige'
21
+ #
22
+ # ^ case
23
+ #
24
+ # 'hoge>hige^hege'.to_tab_heading # => 'hoge\n\thige\nhege'
25
+ #
26
+ def to_tab_heading
27
+ heading = to_heading
28
+ to_tab heading
29
+ end
30
+
31
+ private
32
+ def to_tab(heading)
33
+ to_head(heading, TAB)
34
+ end
35
+ end
@@ -1,57 +1,57 @@
1
- # encoding: utf-8
2
-
3
- # SimpleTournament
4
- class SimpleTournament
5
- attr_reader :tournament, :number, :matches
6
-
7
- # initialize tournament by number
8
- def initialize(number)
9
- @number = number
10
- @matches = []
11
- cnt = 0
12
- @tournament = []
13
- while number >= (2**cnt)
14
- tournament << Array.new(2**cnt)
15
- cnt += 1
16
- end
17
- diff = number - (2**(cnt - 1))
18
- @tournament << Array.new(diff * 2) unless (diff == 0)
19
- end
20
-
21
- # apply challengers to tournament
22
- def apply_challengers(challengers)
23
- fail 'incorrect challengers size. challengers must equals tournament.size' unless challengers.size == @number
24
- @tournament.reverse_each do |outer|
25
- outer.each_with_index do |v, i|
26
- poped = challengers.pop
27
- return @tournament if poped.nil?
28
- outer[i] = poped
29
- end
30
- end
31
- end
32
-
33
- # start tournament match. set result to tournament, matches
34
- def start_match(proc)
35
- @tournament.reverse_each.with_index do |outer, outer_index|
36
- outer.reverse_each.with_index do |inner, inner_index|
37
- next if inner_index.odd?
38
- next if inner_index == outer.size - 1
39
- rets = proc.call outer[-(inner_index + 1)], outer[-(inner_index + 2)], outer_index
40
- winner = rets.first
41
- @matches << rets.last
42
- set_winner(winner, outer_index)
43
- end
44
- end
45
- end
46
-
47
- private
48
-
49
- def set_winner(winner, outer_index)
50
- @tournament[0..-(outer_index + 1)].reverse_each do |replace_outer|
51
- replace_outer.reverse_each.with_index do |reverse_inner, reverse_inner_index|
52
- next unless reverse_inner.nil?
53
- return replace_outer[-(reverse_inner_index + 1)] = winner
54
- end
55
- end
56
- end
57
- end
1
+ # encoding: utf-8
2
+
3
+ # SimpleTournament
4
+ class SimpleTournament
5
+ attr_reader :tournament, :number, :matches
6
+
7
+ # initialize tournament by number
8
+ def initialize(number)
9
+ @number = number
10
+ @matches = []
11
+ cnt = 0
12
+ @tournament = []
13
+ while number >= (2**cnt)
14
+ tournament << Array.new(2**cnt)
15
+ cnt += 1
16
+ end
17
+ diff = number - (2**(cnt - 1))
18
+ @tournament << Array.new(diff * 2) unless (diff == 0)
19
+ end
20
+
21
+ # apply challengers to tournament
22
+ def apply_challengers(challengers)
23
+ fail 'incorrect challengers size. challengers must equals tournament.size' unless challengers.size == @number
24
+ @tournament.reverse_each do |outer|
25
+ outer.each_with_index do |v, i|
26
+ poped = challengers.pop
27
+ return @tournament if poped.nil?
28
+ outer[i] = poped
29
+ end
30
+ end
31
+ end
32
+
33
+ # start tournament match. set result to tournament, matches
34
+ def start_match(proc)
35
+ @tournament.reverse_each.with_index do |outer, outer_index|
36
+ outer.reverse_each.with_index do |inner, inner_index|
37
+ next if inner_index.odd?
38
+ next if inner_index == outer.size - 1
39
+ rets = proc.call outer[-(inner_index + 1)], outer[-(inner_index + 2)], outer_index
40
+ winner = rets.first
41
+ @matches << rets.last
42
+ set_winner(winner, outer_index)
43
+ end
44
+ end
45
+ end
46
+
47
+ private
48
+
49
+ def set_winner(winner, outer_index)
50
+ @tournament[0..-(outer_index + 1)].reverse_each do |replace_outer|
51
+ replace_outer.reverse_each.with_index do |reverse_inner, reverse_inner_index|
52
+ next unless reverse_inner.nil?
53
+ return replace_outer[-(reverse_inner_index + 1)] = winner
54
+ end
55
+ end
56
+ end
57
+ end
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Tbpgr Utilities
4
4
  module TbpgrUtils
5
- VERSION = '0.0.116'
5
+ VERSION = '0.0.117'
6
6
  end
data/rubocop-todo.yml CHANGED
@@ -1,57 +1,57 @@
1
- # This configuration was generated by `rubocop --auto-gen-config`.
1
+ # This configuration was generated by `rubocop --auto-gen-config`
2
+ # on 2014-05-04 11:22:42 +0900 using RuboCop version 0.21.0.
2
3
  # The point is for the user to remove these configuration records
3
- # one by one as the offences are removed from the code base.
4
+ # one by one as the offenses are removed from the code base.
5
+ # Note that changes in the inspected code, or installation of new
6
+ # versions of RuboCop, may require this file to be generated again.
4
7
 
5
- AccessModifierIndentation:
8
+ # Offense count: 2
9
+ AccessorMethodName:
6
10
  Enabled: false
7
11
 
8
- AsciiComments:
12
+ # Offense count: 4
13
+ AmbiguousRegexpLiteral:
9
14
  Enabled: false
10
15
 
11
- Documentation:
16
+ # Offense count: 1
17
+ DoubleNegation:
12
18
  Enabled: false
13
19
 
14
- EmptyLineBetweenDefs:
20
+ # Offense count: 3
21
+ # Configuration parameters: NamePrefixBlacklist.
22
+ PredicateName:
15
23
  Enabled: false
16
24
 
17
- EmptyLines:
18
- Enabled: false
19
-
20
- EmptyLinesAroundAccessModifier:
21
- Enabled: false
22
-
23
- Encoding:
24
- Enabled: false
25
-
26
- Eval:
27
- Enabled: false
28
-
29
- Lambda:
30
- Enabled: false
31
-
32
- MethodLength:
33
- Enabled: false
34
-
35
- NestedTernaryOperator:
36
- Enabled: false
25
+ # Offense count: 2
26
+ RegexpLiteral:
27
+ MaxSlashes: 0
37
28
 
38
- ParenthesesAroundCondition:
29
+ # Offense count: 2
30
+ SelfAssignment:
39
31
  Enabled: false
40
32
 
41
- RaiseArgs:
33
+ # Offense count: 11
34
+ # Configuration parameters: Methods.
35
+ SingleLineBlockParams:
42
36
  Enabled: false
43
37
 
44
- ReduceArguments:
38
+ # Offense count: 2
39
+ SpaceBeforeFirstArg:
45
40
  Enabled: false
46
41
 
47
- ShadowingOuterLocalVariable:
42
+ # Offense count: 447
43
+ # Configuration parameters: EnforcedStyleForMultiline, SupportedStyles.
44
+ TrailingComma:
48
45
  Enabled: false
49
46
 
50
- UselessAssignment:
47
+ # Offense count: 33
48
+ UnusedBlockArgument:
51
49
  Enabled: false
52
50
 
53
- WordArray:
51
+ # Offense count: 276
52
+ UnusedMethodArgument:
54
53
  Enabled: false
55
54
 
56
- OpMethod:
55
+ # Offense count: 1
56
+ UselessAccessModifier:
57
57
  Enabled: false
@@ -4,13 +4,13 @@ require 'markdown/heading'
4
4
 
5
5
  describe MarkdownString do
6
6
  [*1..6].each do |i|
7
- context "heading#{i.to_s}" do
7
+ context "heading#{i}" do
8
8
  cases = [
9
9
  {
10
10
  case_no: 1,
11
11
  case_title: 'normal case',
12
- input: "heading#{i.to_s}",
13
- expected: "#{'#' * i} heading#{i.to_s}",
12
+ input: "heading#{i}",
13
+ expected: "#{'#' * i} heading#{i}",
14
14
  },
15
15
  {
16
16
  case_no: 2,
@@ -41,7 +41,7 @@ describe MarkdownString do
41
41
  # nothing
42
42
 
43
43
  # -- when --
44
- actual = MarkdownString.send "heading#{i.to_s}", c[:input]
44
+ actual = MarkdownString.send "heading#{i}", c[:input]
45
45
 
46
46
  # -- then --
47
47
  expect(actual).to eq(c[:expected])
@@ -8,7 +8,7 @@ describe MarkdownString do
8
8
  {
9
9
  case_no: 1,
10
10
  case_title: 'array case',
11
- input: %w{a b c},
11
+ input: %w(a b c),
12
12
  expected: <<-EOS
13
13
  1. a
14
14
  1. b
@@ -8,7 +8,7 @@ describe MarkdownString do
8
8
  {
9
9
  case_no: 1,
10
10
  case_title: 'array case',
11
- input: %w{a b c},
11
+ input: %w(a b c),
12
12
  expected: <<-EOS
13
13
  * a
14
14
  * b
@@ -0,0 +1,43 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+ require 'tbpgr_utils'
4
+
5
+ describe Array do
6
+ context :kernel_send do
7
+ cases = [
8
+ {
9
+ case_no: 1,
10
+ case_title: 'valid case',
11
+ input: [*1..3],
12
+ method_name: :Rational,
13
+ expected: [(1 / 1), (2 / 1), (3 / 1)],
14
+ },
15
+ ]
16
+
17
+ cases.each do |c|
18
+ it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
19
+ begin
20
+ case_before c
21
+
22
+ # -- given --
23
+ # nothing
24
+
25
+ # -- when/then --
26
+ actual = c[:input].kernel_send c[:method_name]
27
+
28
+ expect(actual).to eq(c[:expected])
29
+ ensure
30
+ case_after c
31
+ end
32
+ end
33
+
34
+ def case_before(c)
35
+ # implement each case before
36
+ end
37
+
38
+ def case_after(c)
39
+ # implement each case after
40
+ end
41
+ end
42
+ end
43
+ end
@@ -1,61 +1,61 @@
1
- # encoding: utf-8
2
- require 'spec_helper'
3
- require 'tbpgr_utils'
4
-
5
- describe Array do
6
- context :together_at do
7
- cases = [
8
- {
9
- case_no: 1,
10
- case_title: 'valid case',
11
- inputs: [[1, 2, 3], %w{one two three}],
12
- index: 2,
13
- method_name: :together_at,
14
- expected: [3, 'three'],
15
- },
16
- {
17
- case_no: 2,
18
- case_title: 'contain nil case',
19
- inputs: [[1, 2, 3], %w{one two}],
20
- index: 2,
21
- method_name: :together_at,
22
- expected: [3, nil],
23
- },
24
- {
25
- case_no: 3,
26
- case_title: 'valid case',
27
- inputs: [[1, 2, 3], %w{one two three}],
28
- index: 2,
29
- method_name: :tat,
30
- expected: [3, 'three'],
31
- },
32
- ]
33
-
34
- cases.each do |c|
35
- it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
36
- begin
37
- case_before c
38
-
39
- # -- given --
40
- # nothing
41
-
42
- # -- when --
43
- actual = c[:inputs].send c[:method_name], c[:index]
44
-
45
- # -- then --
46
- expect(actual).to eq(c[:expected])
47
- ensure
48
- case_after c
49
- end
50
- end
51
-
52
- def case_before(c)
53
- # implement each case before
54
- end
55
-
56
- def case_after(c)
57
- # implement each case after
58
- end
59
- end
60
- end
61
- end
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+ require 'tbpgr_utils'
4
+
5
+ describe Array do
6
+ context :together_at do
7
+ cases = [
8
+ {
9
+ case_no: 1,
10
+ case_title: 'valid case',
11
+ inputs: [[1, 2, 3], %w(one two three)],
12
+ index: 2,
13
+ method_name: :together_at,
14
+ expected: [3, 'three'],
15
+ },
16
+ {
17
+ case_no: 2,
18
+ case_title: 'contain nil case',
19
+ inputs: [[1, 2, 3], %w(one two)],
20
+ index: 2,
21
+ method_name: :together_at,
22
+ expected: [3, nil],
23
+ },
24
+ {
25
+ case_no: 3,
26
+ case_title: 'valid case',
27
+ inputs: [[1, 2, 3], %w(one two three)],
28
+ index: 2,
29
+ method_name: :tat,
30
+ expected: [3, 'three'],
31
+ },
32
+ ]
33
+
34
+ cases.each do |c|
35
+ it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
36
+ begin
37
+ case_before c
38
+
39
+ # -- given --
40
+ # nothing
41
+
42
+ # -- when --
43
+ actual = c[:inputs].send c[:method_name], c[:index]
44
+
45
+ # -- then --
46
+ expect(actual).to eq(c[:expected])
47
+ ensure
48
+ case_after c
49
+ end
50
+ end
51
+
52
+ def case_before(c)
53
+ # implement each case before
54
+ end
55
+
56
+ def case_after(c)
57
+ # implement each case after
58
+ end
59
+ end
60
+ end
61
+ end
@@ -1,51 +1,51 @@
1
- # encoding: utf-8
2
- require 'spec_helper'
3
- require 'tbpgr_utils'
4
-
5
- describe Array do
6
- context :together_clear do
7
- cases = [
8
- {
9
- case_no: 1,
10
- case_title: 'valid case',
11
- inputs: [[1, 2, 3], %w{one two three}],
12
- method_name: :together_clear,
13
- expected: [[], []],
14
- },
15
- {
16
- case_no: 2,
17
- case_title: 'valid case',
18
- inputs: [[1, 2, 3], %w{one two three}],
19
- method_name: :tclear,
20
- expected: [[], []],
21
- },
22
- ]
23
-
24
- cases.each do |c|
25
- it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
26
- begin
27
- case_before c
28
-
29
- # -- given --
30
- # nothing
31
-
32
- # -- when --
33
- actual = c[:inputs].send c[:method_name]
34
-
35
- # -- then --
36
- expect(actual).to eq(c[:expected])
37
- ensure
38
- case_after c
39
- end
40
- end
41
-
42
- def case_before(c)
43
- # implement each case before
44
- end
45
-
46
- def case_after(c)
47
- # implement each case after
48
- end
49
- end
50
- end
51
- end
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+ require 'tbpgr_utils'
4
+
5
+ describe Array do
6
+ context :together_clear do
7
+ cases = [
8
+ {
9
+ case_no: 1,
10
+ case_title: 'valid case',
11
+ inputs: [[1, 2, 3], %w(one two three)],
12
+ method_name: :together_clear,
13
+ expected: [[], []],
14
+ },
15
+ {
16
+ case_no: 2,
17
+ case_title: 'valid case',
18
+ inputs: [[1, 2, 3], %w(one two three)],
19
+ method_name: :tclear,
20
+ expected: [[], []],
21
+ },
22
+ ]
23
+
24
+ cases.each do |c|
25
+ it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
26
+ begin
27
+ case_before c
28
+
29
+ # -- given --
30
+ # nothing
31
+
32
+ # -- when --
33
+ actual = c[:inputs].send c[:method_name]
34
+
35
+ # -- then --
36
+ expect(actual).to eq(c[:expected])
37
+ ensure
38
+ case_after c
39
+ end
40
+ end
41
+
42
+ def case_before(c)
43
+ # implement each case before
44
+ end
45
+
46
+ def case_after(c)
47
+ # implement each case after
48
+ end
49
+ end
50
+ end
51
+ end