tbpgr_utils 0.0.150 → 0.0.151

Sign up to get free protection for your applications and to get access to all the features.
Files changed (194) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -9
  3. data/README.md +95 -32
  4. data/lib/attr_enumerable/attr_enumerable_helper.rb +52 -52
  5. data/lib/attr_enumerable/map_attr.rb +1 -1
  6. data/lib/eval_helper/attr_accessor_init_code.rb +3 -3
  7. data/lib/eval_helper/each_do_code.rb +26 -26
  8. data/lib/eval_helper/each_with_index_do_code.rb +26 -26
  9. data/lib/eval_helper/require_code.rb +1 -1
  10. data/lib/eval_helper/require_relative_code.rb +1 -1
  11. data/lib/eval_helper/set_variable_code.rb +1 -1
  12. data/lib/eval_helper/set_variables_code.rb +1 -1
  13. data/lib/eval_helper/times_code.rb +1 -1
  14. data/lib/ghostable.rb +1 -1
  15. data/lib/open_classes/array.rb +0 -2
  16. data/lib/open_classes/array/average.rb +17 -17
  17. data/lib/open_classes/array/gte_gte.rb +1 -1
  18. data/lib/open_classes/array/to_table.rb +1 -1
  19. data/lib/open_classes/array/together_clear.rb +24 -24
  20. data/lib/open_classes/array/together_compact.rb +44 -44
  21. data/lib/open_classes/array/together_empty.rb +1 -1
  22. data/lib/open_classes/array/together_include.rb +1 -1
  23. data/lib/open_classes/enumerable.rb +4 -0
  24. data/lib/open_classes/enumerable/if_else_map.rb +12 -0
  25. data/lib/open_classes/{array → enumerable}/kernel_send.rb +15 -15
  26. data/lib/open_classes/{array → enumerable}/sum.rb +3 -3
  27. data/lib/open_classes/hash/gte_gte.rb +45 -45
  28. data/lib/open_classes/integer/each_digit.rb +13 -13
  29. data/lib/open_classes/integer/each_digit_with_index.rb +13 -13
  30. data/lib/open_classes/integer/reverse_each_digit.rb +13 -13
  31. data/lib/open_classes/kernel/aa_ancestors.rb +1 -1
  32. data/lib/open_classes/numeric/is_ascii.rb +4 -4
  33. data/lib/open_classes/object/any_of.rb +1 -2
  34. data/lib/open_classes/object/to_bool.rb +1 -1
  35. data/lib/open_classes/string/ascii_unicode_html_table.rb +1 -1
  36. data/lib/open_classes/string/ascii_unicode_table.rb +1 -1
  37. data/lib/open_classes/string/is_meta_variable.rb +7 -7
  38. data/lib/open_classes/string/justify_table.rb +2 -2
  39. data/lib/open_classes/string/surround.rb +2 -2
  40. data/lib/open_classes/symbol/is_meta_variable.rb +6 -6
  41. data/lib/tbpgr_utils.rb +1 -0
  42. data/lib/tbpgr_utils/version.rb +1 -1
  43. data/lib/templatable.rb +1 -1
  44. data/rubocop-todo.yml +2 -36
  45. data/spec/attr_enumerable/each_attr_spec.rb +1 -1
  46. data/spec/attr_enumerable/each_attr_with_index_spec.rb +1 -1
  47. data/spec/attr_enumerable/first_attr_spec.rb +107 -107
  48. data/spec/attr_enumerable/include_attr_spec.rb +4 -4
  49. data/spec/attr_enumerable/last_attr_spec.rb +4 -4
  50. data/spec/attr_enumerable/map_attr_spec.rb +3 -3
  51. data/spec/attr_enumerable/reduce_attr_spec.rb +3 -3
  52. data/spec/attr_enumerable/reverse_attr_spec.rb +1 -1
  53. data/spec/attr_enumerable/sample_attr_spec.rb +3 -3
  54. data/spec/attr_enumerable/select_attr_spec.rb +2 -2
  55. data/spec/attr_enumerable/shuffle_attr_spec.rb +1 -1
  56. data/spec/attr_enumerable/slice_attr_spec.rb +1 -1
  57. data/spec/attributes_hashable_spec.rb +1 -1
  58. data/spec/attributes_initializable_spec.rb +21 -21
  59. data/spec/eval_helper/attr_accessor_init_code_spec.rb +1 -1
  60. data/spec/eval_helper/attr_init_class_code_spec.rb +1 -1
  61. data/spec/eval_helper/each_brace_code_spec.rb +2 -2
  62. data/spec/eval_helper/each_do_code_spec.rb +1 -1
  63. data/spec/eval_helper/each_with_index_brace_code_spec.rb +2 -2
  64. data/spec/eval_helper/each_with_index_do_code_spec.rb +2 -2
  65. data/spec/eval_helper/if_code_after_spec.rb +3 -3
  66. data/spec/eval_helper/if_code_spec.rb +3 -3
  67. data/spec/eval_helper/require_code_spec.rb +3 -3
  68. data/spec/eval_helper/require_relative_code_spec.rb +3 -3
  69. data/spec/eval_helper/set_variable_code_spec.rb +3 -3
  70. data/spec/{set_variables_code_spec.rb → eval_helper/set_variables_code_spec.rb} +15 -15
  71. data/spec/eval_helper/ternary_operator_spec.rb +5 -5
  72. data/spec/eval_helper/times_code_spec.rb +1 -1
  73. data/spec/eval_helper/unless_code_after_spec.rb +3 -3
  74. data/spec/eval_helper/unless_code_spec.rb +3 -3
  75. data/spec/familyable/familyable_spec.rb +6 -6
  76. data/spec/ghostable_spec.rb +5 -5
  77. data/spec/markdown/backquotes_spec.rb +4 -4
  78. data/spec/markdown/bold_spec.rb +4 -4
  79. data/spec/markdown/code_spec.rb +3 -3
  80. data/spec/markdown/codes_spec.rb +2 -2
  81. data/spec/markdown/heading_spec.rb +5 -5
  82. data/spec/markdown/hr_spec.rb +1 -1
  83. data/spec/markdown/italic_spec.rb +4 -4
  84. data/spec/markdown/link_spec.rb +1 -1
  85. data/spec/markdown/ol_spec.rb +3 -3
  86. data/spec/markdown/ul_spec.rb +3 -3
  87. data/spec/metasyntactic_variable_spec.rb +4 -4
  88. data/spec/open_classes/array/average_spec.rb +4 -4
  89. data/spec/open_classes/array/exchange_spec.rb +6 -6
  90. data/spec/open_classes/array/gte_gte_spec.rb +4 -4
  91. data/spec/open_classes/array/to_html_table_spec.rb +3 -3
  92. data/spec/open_classes/array/to_table_spec.rb +2 -2
  93. data/spec/open_classes/array/together_at_spec.rb +4 -4
  94. data/spec/open_classes/array/together_clear_spec.rb +3 -3
  95. data/spec/open_classes/array/together_compact_spec.rb +6 -6
  96. data/spec/open_classes/array/together_concat_spec.rb +3 -3
  97. data/spec/open_classes/array/together_delete_at_spec.rb +5 -5
  98. data/spec/open_classes/array/together_delete_if_spec.rb +4 -4
  99. data/spec/open_classes/array/together_delete_spec.rb +5 -5
  100. data/spec/open_classes/array/together_empty_spec.rb +4 -4
  101. data/spec/open_classes/array/together_fill_spec.rb +5 -5
  102. data/spec/open_classes/array/together_first_spec.rb +6 -6
  103. data/spec/open_classes/array/together_include_spec.rb +8 -8
  104. data/spec/open_classes/array/together_index_spec.rb +5 -5
  105. data/spec/open_classes/array/together_insert_spec.rb +5 -5
  106. data/spec/open_classes/array/together_last_spec.rb +6 -6
  107. data/spec/open_classes/array/together_map_spec.rb +14 -14
  108. data/spec/open_classes/array/together_pop_spec.rb +8 -8
  109. data/spec/open_classes/array/together_reduce_spec.rb +8 -8
  110. data/spec/open_classes/array/together_reverse_spec.rb +119 -119
  111. data/spec/open_classes/array/together_sample_spec.rb +8 -8
  112. data/spec/open_classes/array/together_select_spec.rb +6 -6
  113. data/spec/open_classes/array/together_shift_spec.rb +8 -8
  114. data/spec/open_classes/array/together_shuffle_spec.rb +3 -3
  115. data/spec/open_classes/array/together_slice_spec.rb +5 -5
  116. data/spec/open_classes/array/together_spec.rb +3 -3
  117. data/spec/open_classes/array/together_with_index_spec.rb +3 -3
  118. data/spec/open_classes/array/uniq_size_spec.rb +4 -4
  119. data/spec/open_classes/enumerable/if_else_map_spec.rb +45 -0
  120. data/spec/open_classes/{array → enumerable}/kernel_send_spec.rb +50 -43
  121. data/spec/open_classes/{array → enumerable}/sum_spec.rb +8 -2
  122. data/spec/open_classes/fixnum/to_fixnum_html_table_spec.rb +1 -1
  123. data/spec/open_classes/fixnum/to_fixnum_table_spec.rb +1 -1
  124. data/spec/open_classes/hash/gte_gte_spec.rb +4 -4
  125. data/spec/open_classes/hash/html_table_spec.rb +2 -2
  126. data/spec/open_classes/hash/table_spec.rb +2 -2
  127. data/spec/open_classes/integer/each_digit_spec.rb +2 -2
  128. data/spec/open_classes/integer/each_digit_with_index_spec.rb +2 -2
  129. data/spec/open_classes/integer/palindromic_prime_spec.rb +6 -6
  130. data/spec/open_classes/integer/reverse_each_digit_spec.rb +2 -2
  131. data/spec/open_classes/kernel/aa_ancestors_spec.rb +1 -1
  132. data/spec/open_classes/kernel/booleans_spec.rb +1 -1
  133. data/spec/open_classes/kernel/bulk_define_methods_spec.rb +5 -5
  134. data/spec/open_classes/kernel/bulk_puts_eval_spec.rb +1 -1
  135. data/spec/open_classes/kernel/evalb_spec.rb +2 -2
  136. data/spec/open_classes/kernel/exchange_spec.rb +2 -2
  137. data/spec/open_classes/kernel/hash_to_attributes_spec.rb +3 -3
  138. data/spec/open_classes/kernel/null_spec.rb +1 -1
  139. data/spec/open_classes/kernel/print_eval_spec.rb +3 -3
  140. data/spec/open_classes/kernel/puts_eval_spec.rb +3 -3
  141. data/spec/open_classes/module_spec.rb +3 -3
  142. data/spec/open_classes/numeric/dice_back_spec.rb +8 -8
  143. data/spec/open_classes/numeric/dozen_spec.rb +4 -4
  144. data/spec/open_classes/numeric/is_ascii_spec.rb +6 -6
  145. data/spec/open_classes/numeric/to_binary_html_table_spec.rb +1 -1
  146. data/spec/open_classes/numeric/to_binary_table_spec.rb +1 -1
  147. data/spec/open_classes/numeric/to_digit_html_table_spec.rb +1 -1
  148. data/spec/open_classes/numeric/to_digit_table_spec.rb +1 -1
  149. data/spec/open_classes/numeric/to_hex_html_table_spec.rb +1 -1
  150. data/spec/open_classes/numeric/to_hex_table_spec.rb +1 -1
  151. data/spec/open_classes/numeric/to_oct_html_table_spec.rb +1 -1
  152. data/spec/open_classes/numeric/to_oct_table_spec.rb +1 -1
  153. data/spec/open_classes/object/any_of_spec.rb +6 -6
  154. data/spec/open_classes/object/boolean_spec.rb +6 -6
  155. data/spec/open_classes/object/grep_instance_method_spec.rb +15 -15
  156. data/spec/open_classes/object/grep_method_spec.rb +6 -6
  157. data/spec/open_classes/object/guard_spec.rb +8 -8
  158. data/spec/open_classes/object/method_nameable_spec.rb +4 -4
  159. data/spec/open_classes/object/my_methods_spec.rb +2 -2
  160. data/spec/open_classes/object/null_spec.rb +1 -1
  161. data/spec/open_classes/object/to_bool_spec.rb +7 -7
  162. data/spec/open_classes/string/ascii1_other2_size_spec.rb +5 -5
  163. data/spec/open_classes/string/ascii_unicode_html_table_spec.rb +1 -1
  164. data/spec/open_classes/string/ascii_unicode_table_spec.rb +1 -1
  165. data/spec/open_classes/string/comma_to_a_spec.rb +1 -1
  166. data/spec/open_classes/string/cygwinpath_to_winpath_spec.rb +3 -3
  167. data/spec/open_classes/string/escape_double_quote_spec.rb +3 -3
  168. data/spec/open_classes/string/escape_quote_spec.rb +3 -3
  169. data/spec/open_classes/string/gte_gte_spec.rb +3 -3
  170. data/spec/open_classes/string/hyphen_to_a_spec.rb +1 -1
  171. data/spec/open_classes/string/is_meta_variable_spec.rb +3 -3
  172. data/spec/open_classes/string/justify_char_spec.rb +6 -6
  173. data/spec/open_classes/string/justify_table_spec.rb +6 -6
  174. data/spec/open_classes/string/say_spec.rb +2 -2
  175. data/spec/open_classes/string/spacing_spec.rb +6 -6
  176. data/spec/open_classes/string/surround_spec.rb +1 -1
  177. data/spec/open_classes/string/table_to_array_spec.rb +1 -1
  178. data/spec/open_classes/string/to_hatena_heading_spec.rb +5 -5
  179. data/spec/open_classes/string/to_markdown_heading_spec.rb +5 -5
  180. data/spec/open_classes/string/to_space2_heading_spec.rb +5 -5
  181. data/spec/open_classes/string/to_space4_heading_spec.rb +5 -5
  182. data/spec/open_classes/string/to_tab_heading_spec.rb +5 -5
  183. data/spec/open_classes/string/unescape_double_quote_spec.rb +3 -3
  184. data/spec/open_classes/string/unescape_quote_spec.rb +3 -3
  185. data/spec/open_classes/string/uniq_size_spec.rb +4 -4
  186. data/spec/open_classes/string/uniq_spec.rb +4 -4
  187. data/spec/open_classes/string/winpath_to_cygwinpath_spec.rb +3 -3
  188. data/spec/open_classes/symbol/is_meta_variable_spec.rb +3 -3
  189. data/spec/simple_tournament_spec.rb +9 -9
  190. data/spec/templatable_spec.rb +2 -2
  191. data/spec/template_methodable_spec.rb +1 -1
  192. data/spec/test_toolbox/kernel_spec.rb +7 -7
  193. data/tbpgr_utils.gemspec +4 -4
  194. metadata +15 -11
@@ -1,13 +1,13 @@
1
- # encoding: utf-8
2
-
3
- class Integer
4
- # provide iterator for number's each digit with index
5
- #
6
- # === Example
7
- #
8
- # ret=[];12_345.each_digit_with_index { |v, i|ret << v + i };print ret # => [1, 3, 5, 7, 9]
9
- #
10
- def each_digit_with_index
11
- abs.to_s.split('').map { |v|v.to_i }.each_with_index { |v, i|yield(v, i) }
12
- end
13
- end
1
+ # encoding: utf-8
2
+
3
+ class Integer
4
+ # provide iterator for number's each digit with index
5
+ #
6
+ # === Example
7
+ #
8
+ # ret=[];12_345.each_digit_with_index { |v, i|ret << v + i };print ret # => [1, 3, 5, 7, 9]
9
+ #
10
+ def each_digit_with_index
11
+ abs.to_s.split('').map(&:to_i).each_with_index { |v, i|yield(v, i) }
12
+ end
13
+ end
@@ -1,13 +1,13 @@
1
- # encoding: utf-8
2
-
3
- class Integer
4
- # provide reverse iterator for number's each digit
5
- #
6
- # === Example
7
- #
8
- # ret=[];12345.reverse_each_digit { |v|ret << v+1 };print ret # => [6, 5, 4, 3, 2]
9
- #
10
- def reverse_each_digit
11
- abs.to_s.split('').reverse.map { |v|v.to_i }.each { |v|yield(v) }
12
- end
13
- end
1
+ # encoding: utf-8
2
+
3
+ class Integer
4
+ # provide reverse iterator for number's each digit
5
+ #
6
+ # === Example
7
+ #
8
+ # ret=[];12345.reverse_each_digit { |v|ret << v+1 };print ret # => [6, 5, 4, 3, 2]
9
+ #
10
+ def reverse_each_digit
11
+ abs.to_s.split('').reverse.map(&:to_i).each { |v|yield(v) }
12
+ end
13
+ end
@@ -56,7 +56,7 @@ module Kernel
56
56
  end
57
57
 
58
58
  def surrounded_ancestors(ca)
59
- ca.reduce([]) { |ret, k|ret << k.surround }
59
+ ca.reduce([]) { |a, e|a << e.surround }
60
60
  end
61
61
 
62
62
  def connected_box_ancestors(ba, max)
@@ -8,11 +8,11 @@ class Numeric
8
8
  #
9
9
  # 1,127,128 case
10
10
  #
11
- # 1.is_ascii? # => return true
12
- # 127.is_ascii? # => return true
13
- # 128.is_ascii? # => return false
11
+ # 1.ascii? # => return true
12
+ # 127.ascii? # => return true
13
+ # 128.ascii? # => return false
14
14
  #
15
- def is_ascii?
15
+ def ascii?
16
16
  self < 128
17
17
  end
18
18
  end
@@ -8,7 +8,6 @@ class Object
8
8
  # "hige".any_of? %w{hoge hige} # => true
9
9
  # "hege".any_of? %w{hoge hige} # => false
10
10
  def any_of?(*args)
11
- args.each { |value|return true if self == value }
12
- false
11
+ args.include?(self)
13
12
  end
14
13
  end
@@ -13,6 +13,6 @@ class Object
13
13
  # 'false'.to_bool # => true
14
14
  # nil.to_bool # => false
15
15
  def to_bool
16
- !!self
16
+ !!self # rubocop:disable DoubleNegation
17
17
  end
18
18
  end
@@ -45,7 +45,7 @@ class String
45
45
  chars.each do |c|
46
46
  each_ret = []
47
47
  each_ret << " <tr>\n <td>#{c}</td>"
48
- if c.ord.is_ascii?
48
+ if c.ord.ascii?
49
49
  each_ret << " <td>#{c.ord}</td>"
50
50
  each_ret << " <td>#{c.ord.to_s(2)}</td>"
51
51
  each_ret << " <td>--</td>\n </tr>"
@@ -24,7 +24,7 @@ class String
24
24
  chars.each do |c|
25
25
  each_ret = []
26
26
  each_ret << "|#{c}"
27
- if c.ord.is_ascii?
27
+ if c.ord.ascii?
28
28
  each_ret << c.ord
29
29
  each_ret << c.ord.to_s(2)
30
30
  each_ret << '--'
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
- require'metasyntactic_variable'
2
+ require 'metasyntactic_variable'
3
3
 
4
4
  # String
5
5
  class String
@@ -7,13 +7,13 @@ class String
7
7
  #
8
8
  # ==== Examples
9
9
  #
10
- # 'foo'.is_meta_variable? # => true
11
- # 'bar'.is_meta_variable? # => true
12
- # 'baz'.is_meta_variable? # => true
13
- # ''.is_meta_variable? # => false
14
- # 'aaa'.is_meta_variable? # => false
10
+ # 'foo'.meta_variable? # => true
11
+ # 'bar'.meta_variable? # => true
12
+ # 'baz'.meta_variable? # => true
13
+ # ''.meta_variable? # => false
14
+ # 'aaa'.meta_variable? # => false
15
15
  #
16
- def is_meta_variable?
16
+ def meta_variable?
17
17
  MetasyntacticVariable.meta_variables.include? to_sym
18
18
  end
19
19
  end
@@ -20,14 +20,14 @@ class String
20
20
  # |yusei |matsui |
21
21
  def justify_table(position = :left)
22
22
  return self if self.empty?
23
- max_sizes = get_column_maxes_table
23
+ max_sizes = column_maxes_table
24
24
  return self if max_sizes.nil?
25
25
  justify_lines_table max_sizes, position
26
26
  end
27
27
 
28
28
  private
29
29
 
30
- def get_column_maxes_table
30
+ def column_maxes_table
31
31
  max_sizes = []
32
32
  each_line do |line|
33
33
  return nil unless table? line
@@ -47,7 +47,7 @@ class String
47
47
  side = init_side(options)
48
48
  inner_width = line_max
49
49
  top_bottom = top_bottoms(top_bottom, inner_width)
50
- ret = *each_line.reduce(["#{top_bottom}"]) { |ret, line|ret << "#{side}#{line.chomp.ljust(inner_width)}#{side}" }
50
+ ret = *each_line.reduce(["#{top_bottom}"]) { |a, e|a << "#{side}#{e.chomp.ljust(inner_width)}#{side}" }
51
51
  ret.push("#{top_bottom}").join("\n")
52
52
  end
53
53
 
@@ -67,6 +67,6 @@ class String
67
67
 
68
68
  def line_max
69
69
  return 0 if self.empty?
70
- each_line.max_by { |v|v.size }.chomp.size
70
+ each_line.max_by(&:size).chomp.size
71
71
  end
72
72
  end
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
- require'metasyntactic_variable'
2
+ require 'metasyntactic_variable'
3
3
 
4
4
  # Symbol
5
5
  class Symbol
@@ -7,12 +7,12 @@ class Symbol
7
7
  #
8
8
  # ==== Examples
9
9
  #
10
- # :foo.is_meta_variable? # => true
11
- # :bar.is_meta_variable? # => true
12
- # :baz.is_meta_variable? # => true
13
- # :aaa.is_meta_variable? # => false
10
+ # :foo.meta_variable? # => true
11
+ # :bar.meta_variable? # => true
12
+ # :baz.meta_variable? # => true
13
+ # :aaa.meta_variable? # => false
14
14
  #
15
- def is_meta_variable?
15
+ def meta_variable?
16
16
  MetasyntacticVariable.meta_variables.include? self
17
17
  end
18
18
  end
@@ -4,6 +4,7 @@ require 'tbpgr_utils/version'
4
4
  # Tbpgr Utilities
5
5
  module TbpgrUtils
6
6
  require 'open_classes/array'
7
+ require 'open_classes/enumerable'
7
8
  require 'open_classes/fixnum'
8
9
  require 'open_classes/hash'
9
10
  require 'open_classes/integer'
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Tbpgr Utilities
4
4
  module TbpgrUtils
5
- VERSION = '0.0.150'
5
+ VERSION = '0.0.151'
6
6
  end
@@ -12,7 +12,7 @@ module Templatable
12
12
  end
13
13
 
14
14
  define_method :get_placeholders do
15
- ret = template.scan /<%=placeholders\[:(.*)\]%>/
15
+ ret = template.scan(/<%=placeholders\[:(.*)\]%>/)
16
16
  ret_hash = {}
17
17
  ret.each { |v| ret_hash[v.first.to_sym] = v.first }
18
18
  ret_hash
@@ -5,44 +5,10 @@
5
5
  # Note that changes in the inspected code, or installation of new
6
6
  # versions of RuboCop, may require this file to be generated again.
7
7
 
8
- # Offense count: 2
9
- AccessorMethodName:
10
- Enabled: false
11
-
12
- # Offense count: 4
13
- AmbiguousRegexpLiteral:
14
- Enabled: false
15
-
16
- # Offense count: 1
17
- DoubleNegation:
18
- Enabled: false
19
-
20
- # Offense count: 3
21
- # Configuration parameters: NamePrefixBlacklist.
22
- PredicateName:
23
- Enabled: false
24
-
25
- # Offense count: 2
26
- RegexpLiteral:
27
- MaxSlashes: 0
28
-
29
- # Offense count: 2
30
- SelfAssignment:
31
- Enabled: false
32
-
33
- # Offense count: 11
34
- # Configuration parameters: Methods.
35
- SingleLineBlockParams:
36
- Enabled: false
37
-
38
- # Offense count: 2
39
- SpaceBeforeFirstArg:
40
- Enabled: false
41
-
42
8
  # Offense count: 447
43
9
  # Configuration parameters: EnforcedStyleForMultiline, SupportedStyles.
44
- TrailingComma:
45
- Enabled: false
10
+ # TrailingComma:
11
+ # Enabled: false
46
12
 
47
13
  # Offense count: 33
48
14
  UnusedBlockArgument:
@@ -47,7 +47,7 @@ describe AttrEnumerable do
47
47
  ),
48
48
  method: :each_age,
49
49
  expected: [84, 103]
50
- },
50
+ }
51
51
  ]
52
52
 
53
53
  cases.each do |c|
@@ -47,7 +47,7 @@ describe AttrEnumerable do
47
47
  ),
48
48
  method: :each_age_with_index,
49
49
  expected: ['84:0', '103:1']
50
- },
50
+ }
51
51
  ]
52
52
 
53
53
  cases.each do |c|
@@ -1,107 +1,107 @@
1
- # encoding: utf-8
2
- require 'spec_helper'
3
- require 'attr_enumerable'
4
-
5
- describe AttrEnumerable do
6
- context :first_attr do
7
- class AttrEnumerablePerson
8
- attr_reader :name, :age
9
- def initialize(name, age)
10
- @name, @age = name, age
11
- end
12
- end
13
-
14
- class AttrEnumerablePersons
15
- attr_reader :attr_enumerable_persons
16
- include AttrEnumerable
17
- def initialize(attr_enumerable_persons = [])
18
- @attr_enumerable_persons = attr_enumerable_persons
19
- end
20
-
21
- def <<(person)
22
- @attr_enumerable_persons << attr_enumerable_persons
23
- end
24
- end
25
-
26
- cases = [
27
- {
28
- case_no: 1,
29
- case_title: 'name case',
30
- klass: AttrEnumerablePersons.new(
31
- [
32
- AttrEnumerablePerson.new('tanaka', 84),
33
- AttrEnumerablePerson.new('tanaka', 20),
34
- AttrEnumerablePerson.new('suzuki', 20)
35
- ]
36
- ),
37
- method: :first_name,
38
- first: nil,
39
- expected: ['tanaka'],
40
- },
41
- {
42
- case_no: 2,
43
- case_title: 'age case',
44
- klass: AttrEnumerablePersons.new(
45
- [
46
- AttrEnumerablePerson.new('tanaka', 84),
47
- AttrEnumerablePerson.new('tanaka', 20),
48
- AttrEnumerablePerson.new('suzuki', 20)
49
- ]
50
- ),
51
- method: :first_age,
52
- first: 2,
53
- expected: [84, 20],
54
- },
55
- {
56
- case_no: 3,
57
- case_title: 'over index case',
58
- klass: AttrEnumerablePersons.new(
59
- [
60
- AttrEnumerablePerson.new('tanaka', 84),
61
- AttrEnumerablePerson.new('tanaka', 20),
62
- AttrEnumerablePerson.new('suzuki', 20)
63
- ]
64
- ),
65
- method: :first_age,
66
- first: 4,
67
- expected: [84, 20, 20],
68
- },
69
- {
70
- case_no: 4,
71
- case_title: 'empty case',
72
- klass: AttrEnumerablePersons.new([]),
73
- method: :first_name,
74
- first: nil,
75
- expected: [],
76
- }
77
- ]
78
-
79
- cases.each do |c|
80
- it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
81
- begin
82
- case_before c
83
-
84
- # -- given --
85
- # nothing
86
- ary = c[:klass]
87
-
88
- # -- when --
89
- actual = c[:first] ? ary.send(c[:method], c[:first]) : ary.send(c[:method])
90
-
91
- # -- then --
92
- expect(Array(actual)).to match_array(c[:expected])
93
- ensure
94
- case_after c
95
- end
96
- end
97
-
98
- def case_before(c)
99
- # implement each case before
100
- end
101
-
102
- def case_after(c)
103
- # implement each case after
104
- end
105
- end
106
- end
107
- end
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+ require 'attr_enumerable'
4
+
5
+ describe AttrEnumerable do
6
+ context :first_attr do
7
+ class AttrEnumerablePerson
8
+ attr_reader :name, :age
9
+ def initialize(name, age)
10
+ @name, @age = name, age
11
+ end
12
+ end
13
+
14
+ class AttrEnumerablePersons
15
+ attr_reader :attr_enumerable_persons
16
+ include AttrEnumerable
17
+ def initialize(attr_enumerable_persons = [])
18
+ @attr_enumerable_persons = attr_enumerable_persons
19
+ end
20
+
21
+ def <<(person)
22
+ @attr_enumerable_persons << attr_enumerable_persons
23
+ end
24
+ end
25
+
26
+ cases = [
27
+ {
28
+ case_no: 1,
29
+ case_title: 'name case',
30
+ klass: AttrEnumerablePersons.new(
31
+ [
32
+ AttrEnumerablePerson.new('tanaka', 84),
33
+ AttrEnumerablePerson.new('tanaka', 20),
34
+ AttrEnumerablePerson.new('suzuki', 20)
35
+ ]
36
+ ),
37
+ method: :first_name,
38
+ first: nil,
39
+ expected: ['tanaka']
40
+ },
41
+ {
42
+ case_no: 2,
43
+ case_title: 'age case',
44
+ klass: AttrEnumerablePersons.new(
45
+ [
46
+ AttrEnumerablePerson.new('tanaka', 84),
47
+ AttrEnumerablePerson.new('tanaka', 20),
48
+ AttrEnumerablePerson.new('suzuki', 20)
49
+ ]
50
+ ),
51
+ method: :first_age,
52
+ first: 2,
53
+ expected: [84, 20]
54
+ },
55
+ {
56
+ case_no: 3,
57
+ case_title: 'over index case',
58
+ klass: AttrEnumerablePersons.new(
59
+ [
60
+ AttrEnumerablePerson.new('tanaka', 84),
61
+ AttrEnumerablePerson.new('tanaka', 20),
62
+ AttrEnumerablePerson.new('suzuki', 20)
63
+ ]
64
+ ),
65
+ method: :first_age,
66
+ first: 4,
67
+ expected: [84, 20, 20]
68
+ },
69
+ {
70
+ case_no: 4,
71
+ case_title: 'empty case',
72
+ klass: AttrEnumerablePersons.new([]),
73
+ method: :first_name,
74
+ first: nil,
75
+ expected: []
76
+ }
77
+ ]
78
+
79
+ cases.each do |c|
80
+ it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
81
+ begin
82
+ case_before c
83
+
84
+ # -- given --
85
+ # nothing
86
+ ary = c[:klass]
87
+
88
+ # -- when --
89
+ actual = c[:first] ? ary.send(c[:method], c[:first]) : ary.send(c[:method])
90
+
91
+ # -- then --
92
+ expect(Array(actual)).to match_array(c[:expected])
93
+ ensure
94
+ case_after c
95
+ end
96
+ end
97
+
98
+ def case_before(c)
99
+ # implement each case before
100
+ end
101
+
102
+ def case_after(c)
103
+ # implement each case after
104
+ end
105
+ end
106
+ end
107
+ end