tbpgr_utils 0.0.150 → 0.0.151

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 (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