tbpgr_utils 0.0.35 → 0.0.36

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -40,9 +40,11 @@ Or install it yourself as:
40
40
  |[TbpgrUtils Array#together_insert](#arraytogether_insert) |together version of Array#insert. together_insert has alias :tinsert |
41
41
  |[TbpgrUtils Array#together_last](#arraytogether_last) |together version of Array#last. together_last has alias :tlast |
42
42
  |[TbpgrUtils Array#together_map](#arraytogether_mapor-tmap-together_collect-tcollect) |together version of Enumerable#map. together_map has aliases [:tmap, :together_collect, :tcollect] |
43
- |[TbpgrUtils Array#together_map!](#arraytogether_map-1or-tmap-1-together_collect-1-tcollect-1) |together version of Enumerable#map!. together_map! has aliases [:tmap!, :together_collect!, :tcollect!] |
44
- |[TbpgrUtils Array#together_pop](#arraytogether_pop) |together version of Array#pop. together_pop has alias :tpop |
43
+ |[TbpgrUtils Array#together_map!](#arraytogether_mapor-tmap-together_collect-tcollect-1) |together version of Enumerable#map!. together_map! has aliases [:tmap!, :together_collect!, :tcollect!] |
44
+ |[TbpgrUtils Array#together_pop](#arraytogether_popor-tpop) |together version of Array#pop. together_pop has alias :tpop |
45
45
  |[TbpgrUtils Array#together_reduce](#arraytogether_reduceor-treduce-together_inject-tinject) |together version of Enumerable#reduce. together_reduce has aliases [:treduce, :together_inject, :tinject] |
46
+ |[TbpgrUtils Array#together_reverse](#arraytogether_reverseor-treverse) |together version of Array#reverse. together_reverse has alias :treverse |
47
+ |[TbpgrUtils Array#together_reverse!](#arraytogether_reverseor-treverse-1) |together version of Array#reverse!. together_reverse! has alias :treverse! |
46
48
  |[TbpgrUtils Array#together_select](#arraytogether_selector-tselect-together_find_all-tfindall) |together version of Enumerable#select. together_select has aliases [:tselect, :together_find_all, :tfindall] |
47
49
  |[TbpgrUtils Array#together_shift](#arraytogether_shift) |together version of Array#shift. together_shift has alias :tshift |
48
50
  |[TbpgrUtils Array#together_with_index](#arraytogether_with_index) |loop all arrays by block with index |
@@ -607,6 +609,49 @@ print ret # => output {1=>4, 2=>2, 3=>3, 4=>1}
607
609
 
608
610
  [back to list](#list)
609
611
 
612
+ ### Array#together_reverse(or :treverse)
613
+ together_reverse has alias :treverse
614
+
615
+ not empty case
616
+ ~~~ruby
617
+ lists = [[1, 2], [5, 6]]
618
+ ret = lists.together_reverse
619
+ print ret # => [[2, 1], [6, 5]]
620
+ print lists # => [[1, 2], [5, 6]]
621
+ ~~~
622
+
623
+ one empty case
624
+ ~~~ruby
625
+ lists = [[1, 2], []]
626
+ ret = lists.together_reverse
627
+ print ret # => [[2, 1], []]
628
+ print lists # => [[1, 2], []]
629
+ ~~~
630
+
631
+
632
+ [back to list](#list)
633
+
634
+ ### Array#together_reverse!(or :treverse!)
635
+ together_reverse! has alias :treverse!
636
+
637
+ not empty case
638
+ ~~~ruby
639
+ lists = [[1, 2], [5, 6]]
640
+ ret = lists.together_reverse!
641
+ print ret # => [[2, 1], [6, 5]]
642
+ print lists # => [[2, 1], [6, 5]]
643
+ ~~~
644
+
645
+ one empty case
646
+ ~~~ruby
647
+ lists = [[1, 2], []]
648
+ ret = lists.together_reverse!
649
+ print ret # => [[2, 1], []]
650
+ print lists # => [[2, 1], []]
651
+ ~~~
652
+
653
+ [back to list](#list)
654
+
610
655
  ### Array#together_select(or tselect, together_find_all, tfindall)
611
656
  ~~~ruby
612
657
  require 'tbpgr_utils'
@@ -1286,6 +1331,7 @@ if you are Sublime Text2 user, you can use snippet for TbpgrUtils.
1286
1331
  https://github.com/tbpgr/tbpgr_utils_snippets
1287
1332
 
1288
1333
  ## History
1334
+ * version 0.0.36 : add Array#together_reverse,Array#together_reverse!(alias treverse, alias treverse!).
1289
1335
  * version 0.0.35 : add Array#together_pop(alias tpop).
1290
1336
  * version 0.0.34 : add Array#together_last(alias tlast).
1291
1337
  * version 0.0.33 : add Array#together_shift(alias tshift).
@@ -605,6 +605,47 @@ class Array
605
605
  end
606
606
  end
607
607
 
608
+ # Arrays bulk reverse.
609
+ #
610
+ # together_reverse has alias :treverse
611
+ #
612
+ # not empty case
613
+ # lists = [[1, 2], [5, 6]]
614
+ # ret = lists.together_reverse
615
+ # print ret # => [[2, 1], [6, 5]]
616
+ # print lists # => [[1, 2], [5, 6]]
617
+ #
618
+ # one empty case
619
+ # lists = [[1, 2], []]
620
+ # ret = lists.together_reverse
621
+ # print ret # => [[2, 1], []]
622
+ # print lists # => [[1, 2], []]
623
+ def together_reverse
624
+ if_not_contain_array_rails_type_error
625
+ reduce([]) { |ret, list|ret << list.reverse }
626
+ end
627
+
628
+
629
+ # Arrays bulk reverse!.
630
+ #
631
+ # together_reverse! has alias :treverse!
632
+ #
633
+ # not empty case
634
+ # lists = [[1, 2], [5, 6]]
635
+ # ret = lists.together_reverse!
636
+ # print ret # => [[2, 1], [6, 5]]
637
+ # print lists # => [[2, 1], [6, 5]]
638
+ #
639
+ # one empty case
640
+ # lists = [[1, 2], []]
641
+ # ret = lists.together_reverse!
642
+ # print ret # => [[2, 1], []]
643
+ # print lists # => [[2, 1], []]
644
+ def together_reverse!
645
+ if_not_contain_array_rails_type_error
646
+ reduce([]) { |ret, list|ret << list.reverse! }
647
+ end
648
+
608
649
  private
609
650
 
610
651
  def if_not_contain_array_rails_type_error
@@ -669,6 +710,8 @@ class Array
669
710
  alias_method :tinsert, :together_insert
670
711
  alias_method :tshift, :together_shift
671
712
  alias_method :tpop, :together_pop
713
+ alias_method :treverse, :together_reverse
714
+ alias_method :treverse!, :together_reverse!
672
715
  alias_methods [:together_collect, :tmap, :tcollect], :together_map
673
716
  alias_methods [:together_collect!, :tmap!, :tcollect!], :together_map!
674
717
  alias_methods [:together_find_all, :tselect, :tfindall], :together_select
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Tbpgr Utilities
4
4
  module TbpgrUtils
5
- VERSION = '0.0.35'
5
+ VERSION = '0.0.36'
6
6
  end
@@ -1544,8 +1544,8 @@ describe Array do
1544
1544
  case_title: 'not empty case(alias tpop)',
1545
1545
  inputs: [[1, 2], [5, 6]],
1546
1546
  method_name: 'tpop',
1547
- expected_ret: [1, 5],
1548
- expected_self: [[2], [6]],
1547
+ expected_ret: [2, 6],
1548
+ expected_self: [[1], [5]],
1549
1549
  },
1550
1550
  ]
1551
1551
 
@@ -1582,4 +1582,118 @@ describe Array do
1582
1582
  end
1583
1583
  end
1584
1584
  end
1585
+
1586
+ context :together_reverse do
1587
+ cases = [
1588
+ {
1589
+ case_no: 1,
1590
+ case_title: 'not empty case',
1591
+ inputs: [[1, 2], [5, 6]],
1592
+ method_name: 'together_reverse',
1593
+ expected_ret: [[2, 1], [6, 5]],
1594
+ expected_self: [[1, 2], [5, 6]],
1595
+ },
1596
+ {
1597
+ case_no: 2,
1598
+ case_title: 'one empty case',
1599
+ inputs: [[1, 2], []],
1600
+ method_name: 'together_reverse',
1601
+ expected_ret: [[2, 1], []],
1602
+ expected_self: [[1, 2], []],
1603
+ },
1604
+ {
1605
+ case_no: 3,
1606
+ case_title: 'not empty case(alias treverse)',
1607
+ inputs: [[1, 2], [5, 6]],
1608
+ method_name: 'treverse',
1609
+ expected_ret: [[2, 1], [6, 5]],
1610
+ expected_self: [[1, 2], [5, 6]],
1611
+ },
1612
+ ]
1613
+
1614
+ cases.each do |c|
1615
+ it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
1616
+ begin
1617
+ case_before c
1618
+
1619
+ # -- given --
1620
+ # nothing
1621
+
1622
+ # -- when --
1623
+ actual = c[:inputs].send c[:method_name]
1624
+
1625
+ # -- then --
1626
+ expect(actual).to eq(c[:expected_ret])
1627
+ expect(c[:inputs]).to eq(c[:expected_self])
1628
+ ensure
1629
+ case_after c
1630
+ end
1631
+ end
1632
+
1633
+ def case_before(c)
1634
+ # implement each case before
1635
+ end
1636
+
1637
+ def case_after(c)
1638
+ # implement each case after
1639
+ end
1640
+ end
1641
+ end
1642
+
1643
+ context :together_reverse! do
1644
+ cases = [
1645
+ {
1646
+ case_no: 1,
1647
+ case_title: 'not empty case',
1648
+ inputs: [[1, 2], [5, 6]],
1649
+ method_name: 'together_reverse!',
1650
+ expected_ret: [[2, 1], [6, 5]],
1651
+ expected_self: [[2, 1], [6, 5]],
1652
+ },
1653
+ {
1654
+ case_no: 2,
1655
+ case_title: 'one empty case',
1656
+ inputs: [[1, 2], []],
1657
+ method_name: 'together_reverse!',
1658
+ expected_ret: [[2, 1], []],
1659
+ expected_self: [[2, 1], []],
1660
+ },
1661
+ {
1662
+ case_no: 3,
1663
+ case_title: 'not empty case(alias treverse!)',
1664
+ inputs: [[1, 2], [5, 6]],
1665
+ method_name: 'treverse!',
1666
+ expected_ret: [[2, 1], [6, 5]],
1667
+ expected_self: [[2, 1], [6, 5]],
1668
+ },
1669
+ ]
1670
+
1671
+ cases.each do |c|
1672
+ it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
1673
+ begin
1674
+ case_before c
1675
+
1676
+ # -- given --
1677
+ # nothing
1678
+
1679
+ # -- when --
1680
+ actual = c[:inputs].send c[:method_name]
1681
+
1682
+ # -- then --
1683
+ expect(actual).to eq(c[:expected_ret])
1684
+ expect(c[:inputs]).to eq(c[:expected_self])
1685
+ ensure
1686
+ case_after c
1687
+ end
1688
+ end
1689
+
1690
+ def case_before(c)
1691
+ # implement each case before
1692
+ end
1693
+
1694
+ def case_after(c)
1695
+ # implement each case after
1696
+ end
1697
+ end
1698
+ end
1585
1699
  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.35
4
+ version: 0.0.36
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-02-11 00:00:00.000000000 Z
12
+ date: 2014-02-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &28801860 !ruby/object:Gem::Requirement
16
+ requirement: &28783776 !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: *28801860
24
+ version_requirements: *28783776
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &28801428 !ruby/object:Gem::Requirement
27
+ requirement: &28783488 !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: *28801428
35
+ version_requirements: *28783488
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &28800936 !ruby/object:Gem::Requirement
38
+ requirement: &28783260 !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: *28800936
46
+ version_requirements: *28783260
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &28800480 !ruby/object:Gem::Requirement
49
+ requirement: &28782936 !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: *28800480
57
+ version_requirements: *28782936
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: simplecov
60
- requirement: &28800036 !ruby/object:Gem::Requirement
60
+ requirement: &28782636 !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: *28800036
68
+ version_requirements: *28782636
69
69
  description: Utilities
70
70
  email:
71
71
  - tbpgr@tbpgr.jp