tbpgr_utils 0.0.17 → 0.0.18
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.
- data/README.md +14 -0
- data/lib/open_classes/array.rb +16 -3
- data/lib/tbpgr_utils/version.rb +1 -1
- data/spec/open_classes/array_spec.rb +48 -0
- metadata +12 -12
data/README.md
CHANGED
@@ -21,6 +21,7 @@ Or install it yourself as:
|
|
21
21
|
| class/module/method | mean |
|
22
22
|
|:----------- |:------------ |
|
23
23
|
|TbpgrUtils Array#together |loop all arrays by block |
|
24
|
+
|TbpgrUtils Array#together_concat |together version of Array#concat. together_concat has alias :tconcat |
|
24
25
|
|TbpgrUtils Array#together_map |together version of Enumerable#map. together_map has aliases [:tmap, :together_collect, :tcollect] |
|
25
26
|
|TbpgrUtils Array#together_reduce |together version of Enumerable#reduce. together_reduce has aliases [:treduce, :together_inject, :tinject] |
|
26
27
|
|TbpgrUtils Array#together_select |together version of Enumerable#select. together_select has aliases [:tselect, :together_find_all, :tfindall]|
|
@@ -55,6 +56,18 @@ numbers = %w{1 2 3}
|
|
55
56
|
end
|
56
57
|
~~~
|
57
58
|
|
59
|
+
### Array#together_concat
|
60
|
+
~~~ruby
|
61
|
+
require 'tbpgr_utils'
|
62
|
+
|
63
|
+
alpha = %w{one two three}
|
64
|
+
numbers = %w{1 2 3}
|
65
|
+
[alpha, numbers].together_concat [4, 5, 6]
|
66
|
+
|
67
|
+
print alpha # => ["one", "two", "three", 4, 5, 6]
|
68
|
+
print numbers # => ["1", "2", "3", 4, 5, 6]
|
69
|
+
~~~
|
70
|
+
|
58
71
|
### Array#together_map(or tmap, together_collect, tcollect)
|
59
72
|
~~~ruby
|
60
73
|
require 'tbpgr_utils'
|
@@ -682,6 +695,7 @@ if you are Sublime Text2 user, you can use snippet for TbpgrUtils.
|
|
682
695
|
https://github.com/tbpgr/tbpgr_utils_snippets
|
683
696
|
|
684
697
|
## History
|
698
|
+
* version 0.0.18 : add Array#together_concat. together_concat has alias :tconcat
|
685
699
|
* version 0.0.17 : add Array#together_reduce(or :treduce, :together_inject, :tinject)
|
686
700
|
* version 0.0.16 : add Array#together_select(or tselect, together_find_all, tfindall)
|
687
701
|
* version 0.0.15 : add Module.alias_methods
|
data/lib/open_classes/array.rb
CHANGED
@@ -131,9 +131,17 @@ class Array
|
|
131
131
|
memo
|
132
132
|
end
|
133
133
|
|
134
|
-
|
135
|
-
|
136
|
-
|
134
|
+
# Arrays bulk concat.
|
135
|
+
#
|
136
|
+
# alpha = %w{one two three}
|
137
|
+
# numbers = %w{1 2 3}
|
138
|
+
# [alpha, numbers].together do |first, second|
|
139
|
+
# print "#{first}:#{second}\n" # => output one:1, two:2, three:3
|
140
|
+
# end
|
141
|
+
def together_concat(other)
|
142
|
+
if_not_contain_array_rails_type_error
|
143
|
+
each { |list|list.concat other }
|
144
|
+
end
|
137
145
|
|
138
146
|
private
|
139
147
|
|
@@ -181,4 +189,9 @@ class Array
|
|
181
189
|
def together_return_multi?(list)
|
182
190
|
(list.class == Array && list.size == size).to_bool
|
183
191
|
end
|
192
|
+
|
193
|
+
alias_method :tconcat, :together_concat
|
194
|
+
alias_methods [:together_collect, :tmap, :tcollect], :together_map
|
195
|
+
alias_methods [:together_find_all, :tselect, :tfindall], :together_select
|
196
|
+
alias_methods [:together_inject, :treduce, :tinject], :together_reduce
|
184
197
|
end
|
data/lib/tbpgr_utils/version.rb
CHANGED
@@ -338,4 +338,52 @@ describe Array do
|
|
338
338
|
end
|
339
339
|
end
|
340
340
|
end
|
341
|
+
|
342
|
+
context :together_concat do
|
343
|
+
cases = [
|
344
|
+
{
|
345
|
+
case_no: 1,
|
346
|
+
case_title: 'valid case',
|
347
|
+
inputs: [[1, 2, 3], %w{one two three}],
|
348
|
+
add_list: [4, 5, 6],
|
349
|
+
method_name: :together_concat,
|
350
|
+
expected: [[1, 2, 3, 4, 5, 6], ['one', 'two', 'three', 4, 5, 6]],
|
351
|
+
},
|
352
|
+
{
|
353
|
+
case_no: 2,
|
354
|
+
case_title: 'valid case',
|
355
|
+
inputs: [[1, 2, 3], %w{one two three}],
|
356
|
+
add_list: [4, 5, 6],
|
357
|
+
method_name: :tconcat,
|
358
|
+
expected: [[1, 2, 3, 4, 5, 6], ['one', 'two', 'three', 4, 5, 6]],
|
359
|
+
},
|
360
|
+
]
|
361
|
+
|
362
|
+
cases.each do |c|
|
363
|
+
it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
|
364
|
+
begin
|
365
|
+
case_before c
|
366
|
+
|
367
|
+
# -- given --
|
368
|
+
# nothing
|
369
|
+
|
370
|
+
# -- when --
|
371
|
+
c[:inputs].send c[:method_name], c[:add_list]
|
372
|
+
|
373
|
+
# -- then --
|
374
|
+
expect(c[:inputs]).to eq(c[:expected])
|
375
|
+
ensure
|
376
|
+
case_after c
|
377
|
+
end
|
378
|
+
end
|
379
|
+
|
380
|
+
def case_before(c)
|
381
|
+
# implement each case before
|
382
|
+
end
|
383
|
+
|
384
|
+
def case_after(c)
|
385
|
+
# implement each case after
|
386
|
+
end
|
387
|
+
end
|
388
|
+
end
|
341
389
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tbpgr_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.18
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-01-
|
12
|
+
date: 2014-01-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement: &
|
16
|
+
requirement: &28417764 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 4.0.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *28417764
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bundler
|
27
|
-
requirement: &
|
27
|
+
requirement: &28414692 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '1.3'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *28414692
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &28414140 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *28414140
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec
|
49
|
-
requirement: &
|
49
|
+
requirement: &28434732 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 2.14.1
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *28434732
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: simplecov
|
60
|
-
requirement: &
|
60
|
+
requirement: &28432356 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: 0.8.2
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *28432356
|
69
69
|
description: Utilities
|
70
70
|
email:
|
71
71
|
- tbpgr@tbpgr.jp
|