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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3d165c8e6eae4e8aa717f9612ec4f7a4c13ea08a
4
- data.tar.gz: a95c7052c530172f9a0b479f16458688e86164e5
3
+ metadata.gz: cddb4ef5b5a62664a18980ee65073eab67f3638a
4
+ data.tar.gz: 4e5b54f89673365b5ebf9862c58b41eefa040acf
5
5
  SHA512:
6
- metadata.gz: 29056a1ab6cab8ae286796b2526c3ba65f0b4abf33940f3dca0dc2bbf1d0f141c8b172c0099308d72384a9c756a9d60488574f370bfaef3a0443477ba4d86551
7
- data.tar.gz: 8858c022a42c2d39171121f843e7631d419d5f7eade87857c6dc8b4638e8ac3772b6bbfc5a7298ecf7896253fbd9e85f29b6fe11f2b6c09b70eb0e887173a3fe
6
+ metadata.gz: cb0bc952ebcdad7879e7e32146975b9d23b9aa273af3da5133e10e074f23489caeac7cdfd06cb94658ba1e7737302cb50e9ab948124a2765a627c015eec4761a
7
+ data.tar.gz: a31deb04838dc9e976c831426c40e92e47263b17803617600c141ccd4d0ca40d8039b872978d710a5d0cf56b1bffa8a05f66149432d0f8ce3ecb9c98759aac80
data/Gemfile CHANGED
@@ -1,9 +1,9 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
4
- gem "rspec", "~> 2.14.1"
5
- gem "activesupport", "~> 4.0.1"
6
- gem "simplecov", "~> 0.8.2"
7
- group :test do
8
- gem 'coveralls', require: false
9
- end
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+ gem 'rspec', '~> 2.14.1'
5
+ gem 'activesupport', '~> 4.0.1'
6
+ gem 'simplecov', '~> 0.8.2'
7
+ group :test do
8
+ gem 'coveralls', require: false
9
+ end
data/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  # TbpgrUtils
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/tbpgr_utils.svg)](http://badge.fury.io/rb/tbpgr_utils)
3
4
  [![Build Status](https://travis-ci.org/tbpgr/tbpgr_utils.png?branch=master)](https://travis-ci.org/tbpgr/tbpgr_utils)
4
5
  [![Coverage Status](https://coveralls.io/repos/tbpgr/tbpgr_utils/badge.png)](https://coveralls.io/r/tbpgr/tbpgr_utils)
5
6
  [![Code Climate](https://codeclimate.com/github/tbpgr/tbpgr_utils.png)](https://codeclimate.com/github/tbpgr/tbpgr_utils)
@@ -27,8 +28,6 @@ Or install it yourself as:
27
28
  |[TbpgrUtils Array#>>](#array) |return ArrayContext for each execute |
28
29
  |[TbpgrUtils Array#average](#arrayaverage) |return average |
29
30
  |[TbpgrUtils Array#exchange](#arrayexchange ) |exchange array's elements |
30
- |[TbpgrUtils Array#kernel_send](#arraykernel_send) |alias of map {|v|send :some_kernel_method, v} |
31
- |[TbpgrUtils Array#sum](#arraysum) |alias of Array#reduce(&:+). |
32
31
  |[TbpgrUtils Array#to_table](#arrayto_table) |Array(Array, Array...) to table format. |
33
32
  |[TbpgrUtils Array#to_html_table](#arrayto_html_table) |Array(Array, Array...) to html table format. |
34
33
  |[TbpgrUtils Array#together](#arraytogether) |loop all arrays by block |
@@ -60,6 +59,9 @@ Or install it yourself as:
60
59
  |[TbpgrUtils Array#together_slice](#arraytogether_sliceor-tslice) |together version of Array#slice. together_slice has alias :tslice |
61
60
  |[TbpgrUtils Array#together_with_index](#arraytogether_with_index) |loop all arrays by block with index |
62
61
  |[TbpgrUtils Array#uniq_size](#arrayuniq_size) |return uniq size |
62
+ |[TbpgrUtils Enumerable#if_else_map](#enumerableif_else_map) |alias of map {|v|v.condition ? a : b} |
63
+ |[TbpgrUtils Enumerable#kernel_send](#enumerablekernel_send) |alias of map {|v|send :some_kernel_method, v} |
64
+ |[TbpgrUtils Enumerable#sum](#enumerablesum) |alias of Enumerable#reduce(&:+). |
63
65
  |[AttrEnumerable.at_attr](#attrenumerableat_attr) |define at_xxx. it returns Class attributes(collection)'s at result. |
64
66
  |[AttrEnumerable.compact_attr](#attrenumerablecompact_attr) |define compact_xxx. it returns Class attributes(collection)'s that exclude nil elements. |
65
67
  |[AttrEnumerable.concat_attr](#attrenumerableconcat_attr) |define concat_xxx. it returns Class attributes(collection) and argument array |
@@ -139,7 +141,7 @@ Or install it yourself as:
139
141
  |[TbpgrUtils Module.alias_methods](#modulealias_methods) |create alias methods |
140
142
  |[TbpgrUtils Numeric#dice_back](#numericdice_back) |return dice back number |
141
143
  |[TbpgrUtils Numeric#dozen](#numericdozen) |get dozen number |
142
- |[TbpgrUtils Numeric#is_ascii?](#numericis_ascii) |get is_ascii number |
144
+ |[TbpgrUtils Numeric#ascii?](#numericascii) |get ascii number |
143
145
  |[TbpgrUtils Numeric to_binary_html_table](#numeric-to_binary_html_table) |binary html table |
144
146
  |[TbpgrUtils Numeric to_binary_table](#numeric-to_binary_table) |binary table |
145
147
  |[TbpgrUtils Numeric to_digit_html_table](#numeric-to_digit_html_table) |digit html table |
@@ -170,7 +172,7 @@ Or install it yourself as:
170
172
  |[TbpgrUtils String#escape_quote](#stringescape_quote) |escape quote |
171
173
  |[TbpgrUtils String#escape_double_quote](#stringescape_double_quote) |escape double quote |
172
174
  |[TbpgrUtils String#hyphen_to_a](#stringhyphen_to_a) |hyphen-format string to array |
173
- |[TbpgrUtils String#is_meta_variable?](#stringis_meta_variable) |is meta variable. |
175
+ |[TbpgrUtils String#meta_variable?](#stringmeta_variable) |is meta variable. |
174
176
  |[TbpgrUtils String#justify_char](#stringjustify_char) |justify pipe format char string |
175
177
  |[TbpgrUtils String#justify_table](#stringjustify_table) |justify pipe format table string |
176
178
  |[TbpgrUtils String#say](#stringsay) |say string |
@@ -187,7 +189,7 @@ Or install it yourself as:
187
189
  |[TbpgrUtils String#uniq](#stringuniq) |return uniq string |
188
190
  |[TbpgrUtils String#uniq_size](#stringuniq) |return uniq size |
189
191
  |[TbpgrUtils String#winpath_to_cygwinpath](#stringwinpath_to_cygwinpath) |convert windows path to cygwin path |
190
- |[TbpgrUtils Symbol#is_meta_variable?](#symbolis_meta_variable) |is meta variable. |
192
+ |[TbpgrUtils Symbol#meta_variable?](#symbolmeta_variable) |is meta variable. |
191
193
  |[Templatable module](#templatable) |get result from template + placeholder |
192
194
  |[TemplateMethodable module](#templatemethodable) |for Template Method Pattern |
193
195
 
@@ -221,16 +223,6 @@ require 'tbpgr_utils'
221
223
 
222
224
  [back to list](#list)
223
225
 
224
- ### Array#kernel_send
225
- ~~~ruby
226
- require 'tbpgr_utils'
227
- [*1..3].kernel_send:Rational # => [(1/1), (2/1), (3/1)]
228
- [*1..3].kernel_send:print # => 123
229
- [*65..68].kernel_send :putc # => ABCD
230
- ~~~
231
-
232
- [back to list](#list)
233
-
234
226
  ### Array#to_table
235
227
  ~~~ruby
236
228
  require 'tbpgr_utils'
@@ -2330,6 +2322,76 @@ output
2330
2322
 
2331
2323
  [back to list](#list)
2332
2324
 
2325
+ ### Enumerable#if_else_map
2326
+ ~~~ruby
2327
+ require 'tbpgr_utils'
2328
+ [*1..4].if_else_map(
2329
+ :odd?.to_proc,
2330
+ ->(odd){'odd'},
2331
+ ->(even){'even'}
2332
+ )
2333
+ __END__
2334
+ ["odd", "even", "odd", "even"]
2335
+ ~~~
2336
+
2337
+ ~~~ruby
2338
+ require 'tbpgr_utils'
2339
+ [*?a..?z].if_else_map(
2340
+ :vowel?.to_proc,
2341
+ ->(alph){ "#{alph} is vowel" },
2342
+ ->(alph){ "#{alph} is not vowel" }
2343
+ )
2344
+
2345
+ __END__
2346
+ ["a is vowel",
2347
+ "b is not vowel",
2348
+ "c is not vowel",
2349
+ "d is not vowel",
2350
+ "e is vowel",
2351
+ "f is not vowel",
2352
+ "g is not vowel",
2353
+ "h is not vowel",
2354
+ "i is vowel",
2355
+ "j is not vowel",
2356
+ "k is not vowel",
2357
+ "l is not vowel",
2358
+ "m is not vowel",
2359
+ "n is not vowel",
2360
+ "o is vowel",
2361
+ "p is not vowel",
2362
+ "q is not vowel",
2363
+ "r is not vowel",
2364
+ "s is not vowel",
2365
+ "t is not vowel",
2366
+ "u is vowel",
2367
+ "v is not vowel",
2368
+ "w is not vowel",
2369
+ "x is not vowel",
2370
+ "y is not vowel",
2371
+ "z is not vowel"]
2372
+ ~~~
2373
+
2374
+ [back to list](#list)
2375
+
2376
+ ### Enumerable#kernel_send
2377
+ ~~~ruby
2378
+ require 'tbpgr_utils'
2379
+ [*1..3].kernel_send:Rational # => [(1/1), (2/1), (3/1)]
2380
+ [*1..3].kernel_send:print # => 123
2381
+ [*65..68].kernel_send :putc # => ABCD
2382
+ ~~~
2383
+
2384
+ [back to list](#list)
2385
+
2386
+ ### Enumerable#sum
2387
+ ~~~ruby
2388
+ require 'tbpgr_utils'
2389
+ [*1..5].sum # => 15
2390
+ [*?a..?e].sum # => "abcde"
2391
+ ~~~
2392
+
2393
+ [back to list](#list)
2394
+
2333
2395
  ### EvalHelper Object
2334
2396
 
2335
2397
  enable to use EvalHelper in Object
@@ -3254,15 +3316,15 @@ require 'tbpgr_utils'
3254
3316
 
3255
3317
  [back to list](#list)
3256
3318
 
3257
- ### Numeric#is_ascii?
3319
+ ### Numeric#ascii?
3258
3320
 
3259
3321
  1,127,128 case
3260
3322
  ~~~ruby
3261
3323
  require 'tbpgr_utils'
3262
3324
 
3263
- 1.is_ascii? # => return true
3264
- 127.is_ascii? # => return true
3265
- 128.is_ascii? # => return false
3325
+ 1.ascii? # => return true
3326
+ 127.ascii? # => return true
3327
+ 128.ascii? # => return false
3266
3328
  ~~~
3267
3329
 
3268
3330
  [back to list](#list)
@@ -3874,13 +3936,13 @@ require 'tbpgr_utils'
3874
3936
 
3875
3937
  [back to list](#list)
3876
3938
 
3877
- ### String#is_meta_variable?
3939
+ ### String#meta_variable?
3878
3940
  ~~~ruby
3879
- 'foo'.is_meta_variable? # => true
3880
- 'bar'.is_meta_variable? # => true
3881
- 'baz'.is_meta_variable? # => true
3882
- 'aaa'.is_meta_variable? # => false
3883
- ''.is_meta_variable? # => false
3941
+ 'foo'.meta_variable? # => true
3942
+ 'bar'.meta_variable? # => true
3943
+ 'baz'.meta_variable? # => true
3944
+ 'aaa'.meta_variable? # => false
3945
+ ''.meta_variable? # => false
3884
3946
  ~~~
3885
3947
 
3886
3948
  [back to list](#list)
@@ -4219,12 +4281,12 @@ require 'tbpgr_utils'
4219
4281
 
4220
4282
  [back to list](#list)
4221
4283
 
4222
- ### Symbol#is_meta_variable?
4284
+ ### Symbol#meta_variable?
4223
4285
  ~~~ruby
4224
- :foo.is_meta_variable? # => true
4225
- :bar.is_meta_variable? # => true
4226
- :baz.is_meta_variable? # => true
4227
- :aaa.is_meta_variable? # => false
4286
+ :foo.meta_variable? # => true
4287
+ :bar.meta_variable? # => true
4288
+ :baz.meta_variable? # => true
4289
+ :aaa.meta_variable? # => false
4228
4290
  ~~~
4229
4291
 
4230
4292
  [back to list](#list)
@@ -4329,6 +4391,7 @@ if you are Sublime Text2 user, you can use snippet for TbpgrUtils.
4329
4391
  https://github.com/tbpgr/tbpgr_utils_snippets
4330
4392
 
4331
4393
  ## History
4394
+ * version 0.0.151 : add Enumerable#if_else_map, change class Array#sum to Enumerable#sum, change class Array#kernel_send to Enumerable#kernel_send
4332
4395
  * version 0.0.150 : add AttrEnumerable.slice_attr
4333
4396
  * version 0.0.149 : add AttrEnumerable.shuffle_attr
4334
4397
  * version 0.0.148 : add AttrEnumerable.select_attr
@@ -4402,8 +4465,8 @@ https://github.com/tbpgr/tbpgr_utils_snippets
4402
4465
  * version 0.0.80 : add Numeric to_binary_table
4403
4466
  * version 0.0.79 : add Array#to_table
4404
4467
  * version 0.0.78 : add String#ascii_unicode_table
4405
- * version 0.0.77 : add String#is_meta_variable?, Symbol#is_meta_variable?
4406
- * version 0.0.76 : add EvalHelper#attr_init_class_code, Numeric#is_ascii?, String#ascii1_other2_size
4468
+ * version 0.0.77 : add String#meta_variable?, Symbol#meta_variable?
4469
+ * version 0.0.76 : add EvalHelper#attr_init_class_code, Numeric#ascii?, String#ascii1_other2_size
4407
4470
  * version 0.0.75 : add Object#method_nameable?
4408
4471
  * version 0.0.74 : add Hash#table
4409
4472
  * version 0.0.73 : add Kernel#evalb
@@ -1,52 +1,52 @@
1
- # encoding: utf-8
2
- require 'active_support/inflector'
3
-
4
- # AttrEnumerable
5
- module AttrEnumerable
6
- ATTR_METHODS = [
7
- { regexp: /^each_(.*)_with_index$/, call_method: :each_attr_with_index },
8
- { regexp: /^each_(.*)$/, call_method: :each_attr },
9
- { regexp: /^reverse_(.*)$/, call_method: :reverse_attr },
10
- { regexp: /^at_(.*)$/, call_method: :at_attr },
11
- { regexp: /^compact_(.*)$/, call_method: :compact_attr },
12
- { regexp: /^concat_(.*)$/, call_method: :concat_attr },
13
- { regexp: /^delete_(.*)$/, call_method: :delete_attr },
14
- { regexp: /^first_(.*)$/, call_method: :first_attr },
15
- { regexp: /^include_(.*)\?$/, call_method: :include_attribute? },
16
- { regexp: /^last_(.*)$/, call_method: :last_attr },
17
- { regexp: /^map_(.*)$/, call_method: :map_attr },
18
- { regexp: /^reduce_(.*)$/, call_method: :reduce_attr },
19
- { regexp: /^sample_(.*)$/, call_method: :sample_attr },
20
- { regexp: /^select_(.*)$/, call_method: :select_attr },
21
- { regexp: /^shuffle_(.*)$/, call_method: :shuffle_attr },
22
- { regexp: /^slice_(.*)$/, call_method: :slice_attr }
23
- ]
24
-
25
- # call attr enumerable method.
26
- def method_missing(method_name, *args, &block)
27
- target_method = detect(method_name)
28
- send(target_method[:call_method], target_method[:attribute], method_name, *args, &block)
29
- rescue
30
- raise
31
- end
32
-
33
- private
34
- def detect(method_name)
35
- ATTR_METHODS.each do |target_method|
36
- regexp = target_method[:regexp]
37
- if method_name.to_s =~ regexp
38
- attribute = method_name.to_s.scan(regexp).first.first
39
- return { call_method: target_method[:call_method], attribute: attribute }
40
- end
41
- end
42
- fail NoMethodError, "method is not exists #{method_name}"
43
- end
44
-
45
- def include_attr?(element, attribute)
46
- element.instance_variables.include? :"@#{attribute}"
47
- end
48
-
49
- def collection
50
- instance_variable_get("@#{self.class.name.underscore}")
51
- end
52
- end
1
+ # encoding: utf-8
2
+ require 'active_support/inflector'
3
+
4
+ # AttrEnumerable
5
+ module AttrEnumerable
6
+ ATTR_METHODS = [
7
+ { regexp: /^each_(.*)_with_index$/, call_method: :each_attr_with_index },
8
+ { regexp: /^each_(.*)$/, call_method: :each_attr },
9
+ { regexp: /^reverse_(.*)$/, call_method: :reverse_attr },
10
+ { regexp: /^at_(.*)$/, call_method: :at_attr },
11
+ { regexp: /^compact_(.*)$/, call_method: :compact_attr },
12
+ { regexp: /^concat_(.*)$/, call_method: :concat_attr },
13
+ { regexp: /^delete_(.*)$/, call_method: :delete_attr },
14
+ { regexp: /^first_(.*)$/, call_method: :first_attr },
15
+ { regexp: /^include_(.*)\?$/, call_method: :include_attribute? },
16
+ { regexp: /^last_(.*)$/, call_method: :last_attr },
17
+ { regexp: /^map_(.*)$/, call_method: :map_attr },
18
+ { regexp: /^reduce_(.*)$/, call_method: :reduce_attr },
19
+ { regexp: /^sample_(.*)$/, call_method: :sample_attr },
20
+ { regexp: /^select_(.*)$/, call_method: :select_attr },
21
+ { regexp: /^shuffle_(.*)$/, call_method: :shuffle_attr },
22
+ { regexp: /^slice_(.*)$/, call_method: :slice_attr }
23
+ ]
24
+
25
+ # call attr enumerable method.
26
+ def method_missing(method_name, *args, &block)
27
+ target_method = detect(method_name)
28
+ send(target_method[:call_method], target_method[:attribute], method_name, *args, &block)
29
+ rescue
30
+ raise
31
+ end
32
+
33
+ private
34
+ def detect(method_name)
35
+ ATTR_METHODS.each do |target_method|
36
+ regexp = target_method[:regexp]
37
+ if method_name.to_s =~ regexp
38
+ attribute = method_name.to_s.scan(regexp).first.first
39
+ return { call_method: target_method[:call_method], attribute: attribute }
40
+ end
41
+ end
42
+ fail NoMethodError, "method is not exists #{method_name}"
43
+ end
44
+
45
+ def include_attr?(element, attribute)
46
+ element.instance_variables.include? :"@#{attribute}"
47
+ end
48
+
49
+ def collection
50
+ instance_variable_get("@#{self.class.name.underscore}")
51
+ end
52
+ end
@@ -9,6 +9,6 @@ module AttrEnumerable
9
9
  return [] if col.empty?
10
10
  fail ArgumentError, "invalid attribute #{attribute}" unless include_attr?(col.first, attribute)
11
11
  attrs = col.map { |v|v.send(attribute) }
12
- attrs.reduce([]) { |r, v|r << yield(v); r }
12
+ attrs.reduce([]) { |a, e|a << yield(e); a }
13
13
  end
14
14
  end
@@ -55,9 +55,9 @@ module EvalHelper
55
55
  atrs = attribute
56
56
  end
57
57
 
58
- accessors = atrs.reduce([]) { |ret, v|ret << ":#{v}" }.join(', ')
59
- init_variables = atrs.reduce([]) { |ret, v|ret << "#{v}" }.join(', ')
60
- set_variables = atrs.reduce([]) { |ret, v|ret << " @#{v} = #{v}" }.join("\n")
58
+ accessors = atrs.reduce([]) { |a, e|a << ":#{e}" }.join(', ')
59
+ init_variables = atrs.reduce([]) { |a, e|a << "#{e}" }.join(', ')
60
+ set_variables = atrs.reduce([]) { |a, e|a << " @#{e} = #{e}" }.join("\n")
61
61
  ret_code = <<-EOS
62
62
  attr_accessor #{accessors}
63
63
 
@@ -1,26 +1,26 @@
1
- # encoding: utf-8
2
-
3
- module EvalHelper
4
- # create each do code, for eval
5
- #
6
- # ==== Examples
7
- #
8
- # class EvalHelperEacjBraceTest
9
- # include EvalHelper
10
- #
11
- # def hoge(hash)
12
- # each_do_code(hash[:target], hash[:proc])
13
- # end
14
- # end
15
- #
16
- # hash = {
17
- # target: '[:a, :b]',
18
- # proc: "puts \"\#{v}1\"\nputs \"\#{v}2\"\n",
19
- # }
20
- # EvalHelperEacjBraceTest.new.hoge(hash) # => return "[:a, :b].each do |v|\n puts \"\#{v}1\"\n puts \"\#{v}2\"\nend"
21
- #
22
- def each_do_code(target, proc)
23
- indented = proc.split("\n").reduce([]) { |ret, v|ret << " #{v}" ; ret }.join("\n")
24
- "#{target}.each do |v|\n#{indented}\nend"
25
- end
26
- end
1
+ # encoding: utf-8
2
+
3
+ module EvalHelper
4
+ # create each do code, for eval
5
+ #
6
+ # ==== Examples
7
+ #
8
+ # class EvalHelperEacjBraceTest
9
+ # include EvalHelper
10
+ #
11
+ # def hoge(hash)
12
+ # each_do_code(hash[:target], hash[:proc])
13
+ # end
14
+ # end
15
+ #
16
+ # hash = {
17
+ # target: '[:a, :b]',
18
+ # proc: "puts \"\#{v}1\"\nputs \"\#{v}2\"\n",
19
+ # }
20
+ # EvalHelperEacjBraceTest.new.hoge(hash) # => return "[:a, :b].each do |v|\n puts \"\#{v}1\"\n puts \"\#{v}2\"\nend"
21
+ #
22
+ def each_do_code(target, proc)
23
+ indented = proc.split("\n").reduce([]) { |a, e|a << " #{e}"; a }.join("\n")
24
+ "#{target}.each do |v|\n#{indented}\nend"
25
+ end
26
+ end
@@ -1,26 +1,26 @@
1
- # encoding: utf-8
2
-
3
- module EvalHelper
4
- # create each with index do single line code, for eval
5
- #
6
- # ==== Examples
7
- #
8
- # class EvalHelperEachWithIndexDoTest
9
- # include EvalHelper
10
- #
11
- # def hoge(hash)
12
- # each_with_index_do_code(hash[:target], hash[:proc])
13
- # end
14
- # end
15
- #
16
- # hash = {
17
- # target: '[:a, :b]',
18
- # proc: "puts \"\#{i}:\#{v}1\"\nputs \"\#{i}:\#{v}2\"\n",
19
- # }
20
- # EvalHelperEachWithIndexDoTest.new.hoge(hash) # => return "[:a, :b].each_with_index do |v, i|\n puts \"\#{i}:\#{v}1\"\n puts \"\#{i}:\#{v}2\"\nend"
21
- #
22
- def each_with_index_do_code(target, proc)
23
- indented = proc.split("\n").reduce([]) { |ret, v|ret << " #{v}" ; ret }.join("\n")
24
- "#{target}.each_with_index do |v, i|\n#{indented}\nend"
25
- end
26
- end
1
+ # encoding: utf-8
2
+
3
+ module EvalHelper
4
+ # create each with index do single line code, for eval
5
+ #
6
+ # ==== Examples
7
+ #
8
+ # class EvalHelperEachWithIndexDoTest
9
+ # include EvalHelper
10
+ #
11
+ # def hoge(hash)
12
+ # each_with_index_do_code(hash[:target], hash[:proc])
13
+ # end
14
+ # end
15
+ #
16
+ # hash = {
17
+ # target: '[:a, :b]',
18
+ # proc: "puts \"\#{i}:\#{v}1\"\nputs \"\#{i}:\#{v}2\"\n",
19
+ # }
20
+ # EvalHelperEachWithIndexDoTest.new.hoge(hash) # => return "[:a, :b].each_with_index do |v, i|\n puts \"\#{i}:\#{v}1\"\n puts \"\#{i}:\#{v}2\"\nend"
21
+ #
22
+ def each_with_index_do_code(target, proc)
23
+ indented = proc.split("\n").reduce([]) { |a, e|a << " #{e}"; a }.join("\n")
24
+ "#{target}.each_with_index do |v, i|\n#{indented}\nend"
25
+ end
26
+ end