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
@@ -33,6 +33,6 @@ module EvalHelper
33
33
  #
34
34
  def require_code(*args)
35
35
  args = args.is_a?(Array) ? args.flatten : [args]
36
- args.reduce([]) { |ret, v|ret << "require '#{v}'\n" }.join
36
+ args.reduce([]) { |a, e|a << "require '#{e}'\n" }.join
37
37
  end
38
38
  end
@@ -33,6 +33,6 @@ module EvalHelper
33
33
  #
34
34
  def require_relative_code(*args)
35
35
  args = args.is_a?(Array) ? args.flatten : [args]
36
- args.reduce([]) { |ret, v|ret << "require_relative '#{v}'\n" }.join
36
+ args.reduce([]) { |a, e|a << "require_relative '#{e}'\n" }.join
37
37
  end
38
38
  end
@@ -45,7 +45,7 @@ module EvalHelper
45
45
  #
46
46
  # hoge_num = 1
47
47
  #
48
- def set_variable_code(name, value)
48
+ def setting_variable_code(name, value)
49
49
  "#{name} = #{value}"
50
50
  end
51
51
  end
@@ -32,7 +32,7 @@ module EvalHelper
32
32
  # name1 = "value1"
33
33
  # name2 = "value2"
34
34
  #
35
- def set_variables_code(variables)
35
+ def setting_variables_code(variables)
36
36
  fail TypeError, "invalid type #{variables.class}. you have to use Array" unless variables.is_a? Array
37
37
  variables.reduce([]) do |ret, variable|
38
38
  fail TypeError, "invalid type #{variable.class}. you have to use Hash" unless variable.is_a? Hash
@@ -50,7 +50,7 @@ module EvalHelper
50
50
  #
51
51
  def times_code(number, proc)
52
52
  return "#{number}.times { |i| #{proc} }" if proc.count('\n') == 0
53
- indented = proc.split('\n').reduce([]) { |ret, v|ret << " #{v}" ; ret }.join("\n")
53
+ indented = proc.split('\n').reduce([]) { |a, e|a << " #{e}"; a }.join("\n")
54
54
  <<-EOS
55
55
  #{number}.times do |i|
56
56
  #{indented}
@@ -21,7 +21,7 @@ module Ghostable
21
21
 
22
22
  def method_missing(method_name, *args, &block)
23
23
  get_patterns.each do |basename, pattern|
24
- return method(basename).call(method_name, *args, &block) if method_name.to_s.match /#{pattern}/
24
+ return method(basename).call(method_name, *args, &block) if method_name.to_s.match(/#{pattern}/)
25
25
  end
26
26
  super
27
27
  end
@@ -2,8 +2,6 @@
2
2
  require 'open_classes/array/average'
3
3
  require 'open_classes/array/exchange'
4
4
  require 'open_classes/array/gte_gte'
5
- require 'open_classes/array/kernel_send'
6
- require 'open_classes/array/sum'
7
5
  require 'open_classes/array/to_html_table'
8
6
  require 'open_classes/array/to_table'
9
7
  require 'open_classes/array/together'
@@ -1,17 +1,17 @@
1
- # encoding: utf-8
2
-
3
- # Array
4
- class Array
5
- # return average
6
- #
7
- # === Example
8
- #
9
- # [*1..6].average # => 3.5
10
- # [1.5, 2.5].average # => 2.0
11
- # [*'a'..'z'].average # => raise TypeError
12
- #
13
- def average
14
- fail TypeError, 'you have to use elements that is Numeric' if any? { |v|!v.is_a? Numeric }
15
- reduce(0.0) { |r, v|r = r + v.to_f; r } / size
16
- end
17
- end
1
+ # encoding: utf-8
2
+
3
+ # Array
4
+ class Array
5
+ # return average
6
+ #
7
+ # === Example
8
+ #
9
+ # [*1..6].average # => 3.5
10
+ # [1.5, 2.5].average # => 2.0
11
+ # [*'a'..'z'].average # => raise TypeError
12
+ #
13
+ def average
14
+ fail TypeError, 'you have to use elements that is Numeric' unless all? { |v|v.is_a? Numeric }
15
+ sum.to_f / size
16
+ end
17
+ end
@@ -7,7 +7,7 @@ class ArrayContext
7
7
  @receiver = receiver
8
8
  end
9
9
 
10
- def method_missing(method_name, *args , &block)
10
+ def method_missing(method_name, *args, &block)
11
11
  if args.size > 0
12
12
  receiver.map do |value|
13
13
  value.send method_name, *args
@@ -15,7 +15,7 @@ class Array
15
15
  #
16
16
  def to_table(position = :right)
17
17
  ret = reduce([]) do |rets, lines|
18
- ret = lines.reduce([]) { |ret, column|ret << column; ret }
18
+ ret = lines.reduce([]) { |a, e|a << e; a }
19
19
  rets << "|#{ret.join('|')}|"
20
20
  end.join("\n") + "\n"
21
21
  ret.justify_table(position)
@@ -1,24 +1,24 @@
1
- # encoding: utf-8
2
- require 'open_classes/object'
3
- require 'open_classes/module'
4
- require 'open_classes/array/together_helper'
5
-
6
- # Array
7
- class Array
8
- include TogetherHelper
9
-
10
- # Arrays bulk clear.
11
- #
12
- # together_clear has alias :tclear
13
- #
14
- # same elements size case
15
- # alpha = %w{one two three}
16
- # numbers = %w{1 2 3}
17
- # [alpha, numbers].together_clear # => output [[],[]]
18
- def together_clear
19
- if_not_contain_array_rails_type_error
20
- each { |list|list.clear }
21
- end
22
-
23
- alias_method :tclear, :together_clear
24
- end
1
+ # encoding: utf-8
2
+ require 'open_classes/object'
3
+ require 'open_classes/module'
4
+ require 'open_classes/array/together_helper'
5
+
6
+ # Array
7
+ class Array
8
+ include TogetherHelper
9
+
10
+ # Arrays bulk clear.
11
+ #
12
+ # together_clear has alias :tclear
13
+ #
14
+ # same elements size case
15
+ # alpha = %w{one two three}
16
+ # numbers = %w{1 2 3}
17
+ # [alpha, numbers].together_clear # => output [[],[]]
18
+ def together_clear
19
+ if_not_contain_array_rails_type_error
20
+ each(&:clear)
21
+ end
22
+
23
+ alias_method :tclear, :together_clear
24
+ end
@@ -1,44 +1,44 @@
1
- # encoding: utf-8
2
- require 'open_classes/object'
3
- require 'open_classes/module'
4
- require 'open_classes/array/together_helper'
5
-
6
- # Array
7
- class Array
8
- include TogetherHelper
9
-
10
- # Arrays bulk compact.(immutable)
11
- #
12
- # together_compact has alias :tcompact
13
- #
14
- # same elements size case
15
- # alpha = ['a','b','c', nil,'d']
16
- # numbers = [1, 2, nil, 3]
17
- # lists = [alpha, numbers]
18
- # ret = lists.together_compact
19
- # print lists # => output [['a','b','c', nil,'d'], [1, 2, nil, 3]]
20
- # print ret # => output [['a','b','c','d'], [1, 2, 3]]
21
- def together_compact
22
- if_not_contain_array_rails_type_error
23
- reduce([]) { |ret, list|ret << list.compact }
24
- end
25
-
26
- # Arrays bulk compact!.(mutable)
27
- #
28
- # together_compact! has alias :tcompact!
29
- #
30
- # same elements size case
31
- # alpha = ['a','b','c', nil,'d']
32
- # numbers = [1, 2, nil, 3]
33
- # lists = [alpha, numbers]
34
- # ret = lists.together_compact!
35
- # print lists # => output [['a','b','c','d'], [1, 2, 3]]
36
- # print ret # => output [['a','b','c','d'], [1, 2, 3]]
37
- def together_compact!
38
- if_not_contain_array_rails_type_error
39
- each { |list|list.compact! }
40
- end
41
-
42
- alias_method :tcompact, :together_compact
43
- alias_method :tcompact!, :together_compact!
44
- end
1
+ # encoding: utf-8
2
+ require 'open_classes/object'
3
+ require 'open_classes/module'
4
+ require 'open_classes/array/together_helper'
5
+
6
+ # Array
7
+ class Array
8
+ include TogetherHelper
9
+
10
+ # Arrays bulk compact.(immutable)
11
+ #
12
+ # together_compact has alias :tcompact
13
+ #
14
+ # same elements size case
15
+ # alpha = ['a','b','c', nil,'d']
16
+ # numbers = [1, 2, nil, 3]
17
+ # lists = [alpha, numbers]
18
+ # ret = lists.together_compact
19
+ # print lists # => output [['a','b','c', nil,'d'], [1, 2, nil, 3]]
20
+ # print ret # => output [['a','b','c','d'], [1, 2, 3]]
21
+ def together_compact
22
+ if_not_contain_array_rails_type_error
23
+ reduce([]) { |ret, list|ret << list.compact }
24
+ end
25
+
26
+ # Arrays bulk compact!.(mutable)
27
+ #
28
+ # together_compact! has alias :tcompact!
29
+ #
30
+ # same elements size case
31
+ # alpha = ['a','b','c', nil,'d']
32
+ # numbers = [1, 2, nil, 3]
33
+ # lists = [alpha, numbers]
34
+ # ret = lists.together_compact!
35
+ # print lists # => output [['a','b','c','d'], [1, 2, 3]]
36
+ # print ret # => output [['a','b','c','d'], [1, 2, 3]]
37
+ def together_compact!
38
+ if_not_contain_array_rails_type_error
39
+ each(&:compact!)
40
+ end
41
+
42
+ alias_method :tcompact, :together_compact
43
+ alias_method :tcompact!, :together_compact!
44
+ end
@@ -23,7 +23,7 @@ class Array
23
23
  def together_empty?
24
24
  if_not_contain_array_rails_type_error
25
25
  is_empty = true
26
- each { |list|is_empty = is_empty && list.empty? }
26
+ each { |list|is_empty &&= list.empty? }
27
27
  is_empty
28
28
  end
29
29
 
@@ -43,7 +43,7 @@ class Array
43
43
  def together_include?(value, is_multi = false)
44
44
  if_not_contain_array_rails_type_error
45
45
  return reduce([]) { |ret, list|ret << list.include?(value) } if is_multi
46
- reduce(false) { |ret, list|ret = ret || list.include?(value) }
46
+ reduce(false) { |ret, list|ret ||= list.include?(value) }
47
47
  end
48
48
 
49
49
  alias_method :tinclude?, :together_include?
@@ -0,0 +1,4 @@
1
+ # encoding: utf-8
2
+ require 'open_classes/enumerable/if_else_map'
3
+ require 'open_classes/enumerable/kernel_send'
4
+ require 'open_classes/enumerable/sum'
@@ -0,0 +1,12 @@
1
+ # encoding: utf-8
2
+
3
+ # Enumerable
4
+ module Enumerable
5
+ # === Example
6
+ #
7
+ # [*1..4].if_else_map(:odd?.to_proc,->(odd){'奇数'},->(even){'偶数'}) # => ['奇数','偶数','奇数','偶数']
8
+ #
9
+ def if_else_map(predicate, proc_t, proc_f)
10
+ map { |e|predicate.call(e) ? proc_t.call(e) : proc_f.call(e) }
11
+ end
12
+ end
@@ -1,15 +1,15 @@
1
- # encoding: utf-8
2
-
3
- # Array
4
- class Array
5
- # alias of map {|v|send :some_kernel_method, v}
6
- #
7
- # === Example
8
- #
9
- # [*1..3].kernel_send:Rational # => [(1/1), (2/1), (3/1)]
10
- #
11
- def kernel_send(method_name)
12
- return self unless [Symbol, String].include? method_name.class
13
- map { |v|send method_name.to_sym, v }
14
- end
15
- end
1
+ # encoding: utf-8
2
+
3
+ # Enumerable
4
+ module Enumerable
5
+ # alias of map {|v|send :some_kernel_method, v}
6
+ #
7
+ # === Example
8
+ #
9
+ # [*1..3].kernel_send:Rational # => [(1/1), (2/1), (3/1)]
10
+ #
11
+ def kernel_send(method_name)
12
+ return self unless [Symbol, String].include? method_name.class
13
+ map { |v|send method_name.to_sym, v }
14
+ end
15
+ end
@@ -1,8 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
- # Array
4
- class Array
5
- # alias of Array#reduce(&:+)
3
+ # Enumerable
4
+ module Enumerable
5
+ # alias of Enumerable#reduce(&:+)
6
6
  #
7
7
  # === Example
8
8
  #
@@ -1,45 +1,45 @@
1
- # encoding: utf-8
2
-
3
- # HashContext
4
- class HashContext
5
- attr_reader :receiver
6
- def initialize(receiver)
7
- @receiver = receiver
8
- end
9
-
10
- def method_missing(method_name, *args , &block)
11
- result = nil
12
- if args.size > 0
13
- receiver.reduce({}) do |ret, (key, value)|
14
- value = value.send method_name, *args
15
- ret[key] = value
16
- ret
17
- end
18
- else
19
- receiver.reduce({}) do |ret, (key , value)|
20
- value = value.send method_name
21
- ret[key] = value
22
- ret
23
- end
24
- end
25
- end
26
-
27
- def to_h
28
- @receiver
29
- end
30
- end
31
-
32
- # Hash
33
- class Hash
34
- # return HashContext for each execute
35
- #
36
- # === Example
37
- #
38
- # h = {key1: "value1", key2: "value2"}
39
- # h.>>.upcase # => {key1: "VALUE1", key2: "VALUE2"}
40
- # h.>>.+('_hoge') # => {key1: "value1_hoge", key2: "value2_hoge"}
41
- #
42
- def >>(dummy = nil)
43
- HashContext.new(self)
44
- end
45
- end
1
+ # encoding: utf-8
2
+
3
+ # HashContext
4
+ class HashContext
5
+ attr_reader :receiver
6
+ def initialize(receiver)
7
+ @receiver = receiver
8
+ end
9
+
10
+ def method_missing(method_name, *args, &block)
11
+ result = nil
12
+ if args.size > 0
13
+ receiver.reduce({}) do |ret, (key, value)|
14
+ value = value.send method_name, *args
15
+ ret[key] = value
16
+ ret
17
+ end
18
+ else
19
+ receiver.reduce({}) do |ret, (key, value)|
20
+ value = value.send method_name
21
+ ret[key] = value
22
+ ret
23
+ end
24
+ end
25
+ end
26
+
27
+ def to_h
28
+ @receiver
29
+ end
30
+ end
31
+
32
+ # Hash
33
+ class Hash
34
+ # return HashContext for each execute
35
+ #
36
+ # === Example
37
+ #
38
+ # h = {key1: "value1", key2: "value2"}
39
+ # h.>>.upcase # => {key1: "VALUE1", key2: "VALUE2"}
40
+ # h.>>.+('_hoge') # => {key1: "value1_hoge", key2: "value2_hoge"}
41
+ #
42
+ def >>(dummy = nil)
43
+ HashContext.new(self)
44
+ end
45
+ end
@@ -1,13 +1,13 @@
1
- # encoding: utf-8
2
-
3
- class Integer
4
- # provide iterator for number's each digit
5
- #
6
- # === Example
7
- #
8
- # ret=[];12345.each_digit { |v|ret << v+1 };print ret # => [2,3,4,5,6]
9
- #
10
- def each_digit
11
- abs.to_s.split('').map { |v|v.to_i }.each { |v|yield(v) }
12
- end
13
- end
1
+ # encoding: utf-8
2
+
3
+ class Integer
4
+ # provide iterator for number's each digit
5
+ #
6
+ # === Example
7
+ #
8
+ # ret=[];12345.each_digit { |v|ret << v+1 };print ret # => [2,3,4,5,6]
9
+ #
10
+ def each_digit
11
+ abs.to_s.split('').map(&:to_i).each { |v|yield(v) }
12
+ end
13
+ end