tbpgr_utils 0.0.17 → 0.0.18

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -131,9 +131,17 @@ class Array
131
131
  memo
132
132
  end
133
133
 
134
- alias_methods [:together_collect, :tmap, :tcollect], :together_map
135
- alias_methods [:together_find_all, :tselect, :tfindall], :together_select
136
- alias_methods [:together_inject, :treduce, :tinject], :together_reduce
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
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Tbpgr Utilities
4
4
  module TbpgrUtils
5
- VERSION = '0.0.17'
5
+ VERSION = '0.0.18'
6
6
  end
@@ -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.17
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-24 00:00:00.000000000 Z
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: &20700768 !ruby/object:Gem::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: *20700768
24
+ version_requirements: *28417764
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &20694180 !ruby/object:Gem::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: *20694180
35
+ version_requirements: *28414692
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &20712660 !ruby/object:Gem::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: *20712660
46
+ version_requirements: *28414140
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &20734548 !ruby/object:Gem::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: *20734548
57
+ version_requirements: *28434732
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: simplecov
60
- requirement: &20744088 !ruby/object:Gem::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: *20744088
68
+ version_requirements: *28432356
69
69
  description: Utilities
70
70
  email:
71
71
  - tbpgr@tbpgr.jp