tbpgr_utils 0.0.30 → 0.0.31
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 +28 -0
- data/lib/open_classes/array.rb +24 -0
- data/lib/tbpgr_utils/version.rb +1 -1
- data/spec/open_classes/array_spec.rb +64 -0
- metadata +12 -12
    
        data/README.md
    CHANGED
    
    | @@ -33,6 +33,7 @@ Or install it yourself as: | |
| 33 33 | 
             
            |[TbpgrUtils Array#together_fill](#arraytogether_fill)                                                              |together version of Array#fill. together_fill has alias :tfill                                                       |
         | 
| 34 34 | 
             
            |[TbpgrUtils Array#together_first](#arraytogether_first)                                                            |together version of Array#first. together_first has alias :tfirst                                                    |
         | 
| 35 35 | 
             
            |[TbpgrUtils Array#together_include?](#arraytogether_include)                                                       |together version of Array#include?. together_include? has alias :tinclude?                                           |
         | 
| 36 | 
            +
            |[TbpgrUtils Array#together_index](#arraytogether_index)                                                            |together version of Array#index. together_index has alias :tindex                                                    |
         | 
| 36 37 | 
             
            |[TbpgrUtils Array#together_map](#arraytogether_mapor-tmap-together_collect-tcollect)                               |together version of Enumerable#map. together_map has aliases [:tmap, :together_collect, :tcollect]                   |
         | 
| 37 38 | 
             
            |[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!]              |
         | 
| 38 39 | 
             
            |[TbpgrUtils Array#together_reduce](#arraytogether_reduceor-treduce-together_inject-tinject)                        |together version of Enumerable#reduce. together_reduce has aliases [:treduce, :together_inject, :tinject]            |
         | 
| @@ -378,6 +379,32 @@ both not include multi ret case | |
| 378 379 |  | 
| 379 380 | 
             
            [back to list](#list)
         | 
| 380 381 |  | 
| 382 | 
            +
            ### Array#together_index
         | 
| 383 | 
            +
            together_index has alias :tindex
         | 
| 384 | 
            +
             | 
| 385 | 
            +
            both index exist case
         | 
| 386 | 
            +
            ~~~ruby
         | 
| 387 | 
            +
            lists = [[*1..5], [*5..9]]
         | 
| 388 | 
            +
            ret = lists.together_index 5
         | 
| 389 | 
            +
            print ret # => [4, 0]
         | 
| 390 | 
            +
            ~~~
         | 
| 391 | 
            +
             | 
| 392 | 
            +
            one include single ret case
         | 
| 393 | 
            +
            ~~~ruby
         | 
| 394 | 
            +
            lists = [[*1..5], [*5..9]]
         | 
| 395 | 
            +
            ret = lists.together_index 4
         | 
| 396 | 
            +
            print ret # => [3, nil]
         | 
| 397 | 
            +
            ~~~
         | 
| 398 | 
            +
             | 
| 399 | 
            +
            both not include single ret case
         | 
| 400 | 
            +
            ~~~ruby
         | 
| 401 | 
            +
            lists = [[*1..5], [*5..9]]
         | 
| 402 | 
            +
            ret = lists.together_index 10
         | 
| 403 | 
            +
            print ret # => [nil, nil]
         | 
| 404 | 
            +
            ~~~
         | 
| 405 | 
            +
             | 
| 406 | 
            +
            [back to list](#list)
         | 
| 407 | 
            +
             | 
| 381 408 | 
             
            ### Array#together_map(or tmap, together_collect, tcollect)
         | 
| 382 409 | 
             
            ~~~ruby
         | 
| 383 410 | 
             
            require 'tbpgr_utils'
         | 
| @@ -1121,6 +1148,7 @@ if you are Sublime Text2 user, you can use snippet for TbpgrUtils. | |
| 1121 1148 | 
             
            https://github.com/tbpgr/tbpgr_utils_snippets
         | 
| 1122 1149 |  | 
| 1123 1150 | 
             
            ## History
         | 
| 1151 | 
            +
            * version 0.0.31 : add Array#together_index(alias tindex).
         | 
| 1124 1152 | 
             
            * version 0.0.30 : add Array#together_include?(alias tinclude?).
         | 
| 1125 1153 | 
             
            * version 0.0.29 : add Array#together_first(alias tfirst).
         | 
| 1126 1154 | 
             
            * version 0.0.28 : add Array#together_fill(alias tfill). add File.insert_bom.
         | 
    
        data/lib/open_classes/array.rb
    CHANGED
    
    | @@ -458,6 +458,29 @@ class Array | |
| 458 458 | 
             
                reduce(false) { |ret, list|ret = ret || list.include?(value) }
         | 
| 459 459 | 
             
              end
         | 
| 460 460 |  | 
| 461 | 
            +
              # Arrays bulk index.
         | 
| 462 | 
            +
              #
         | 
| 463 | 
            +
              # together_index has alias :tindex
         | 
| 464 | 
            +
              #
         | 
| 465 | 
            +
              # both index exist case
         | 
| 466 | 
            +
              #   lists = [[*1..5], [*5..9]]
         | 
| 467 | 
            +
              #   ret = lists.together_index 5
         | 
| 468 | 
            +
              #   print ret # => [4, 0]
         | 
| 469 | 
            +
              #
         | 
| 470 | 
            +
              # one include single ret case
         | 
| 471 | 
            +
              #   lists = [[*1..5], [*5..9]]
         | 
| 472 | 
            +
              #   ret = lists.together_index 4
         | 
| 473 | 
            +
              #   print ret # => [3, nil]
         | 
| 474 | 
            +
              #
         | 
| 475 | 
            +
              # both not include single ret case
         | 
| 476 | 
            +
              #   lists = [[*1..5], [*5..9]]
         | 
| 477 | 
            +
              #   ret = lists.together_index 10
         | 
| 478 | 
            +
              #   print ret # => [nil, nil]
         | 
| 479 | 
            +
              def together_index(value)
         | 
| 480 | 
            +
                if_not_contain_array_rails_type_error
         | 
| 481 | 
            +
                reduce([]) { |ret, list|ret << list.index(value) }
         | 
| 482 | 
            +
              end
         | 
| 483 | 
            +
             | 
| 461 484 | 
             
              private
         | 
| 462 485 |  | 
| 463 486 | 
             
              def if_not_contain_array_rails_type_error
         | 
| @@ -517,6 +540,7 @@ class Array | |
| 517 540 | 
             
              alias_method :tfill, :together_fill
         | 
| 518 541 | 
             
              alias_method :tfirst, :together_first
         | 
| 519 542 | 
             
              alias_method :tinclude?, :together_include?
         | 
| 543 | 
            +
              alias_method :tindex, :together_index
         | 
| 520 544 | 
             
              alias_methods [:together_collect, :tmap, :tcollect], :together_map
         | 
| 521 545 | 
             
              alias_methods [:together_collect!, :tmap!, :tcollect!], :together_map!
         | 
| 522 546 | 
             
              alias_methods [:together_find_all, :tselect, :tfindall], :together_select
         | 
    
        data/lib/tbpgr_utils/version.rb
    CHANGED
    
    
| @@ -1179,4 +1179,68 @@ describe Array do | |
| 1179 1179 | 
             
                  end
         | 
| 1180 1180 | 
             
                end
         | 
| 1181 1181 | 
             
              end
         | 
| 1182 | 
            +
             | 
| 1183 | 
            +
              context :together_index do
         | 
| 1184 | 
            +
                cases = [
         | 
| 1185 | 
            +
                  {
         | 
| 1186 | 
            +
                    case_no: 1,
         | 
| 1187 | 
            +
                    case_title: 'both index exist case',
         | 
| 1188 | 
            +
                    inputs: [[*1..5], [*5..9]],
         | 
| 1189 | 
            +
                    value: 5,
         | 
| 1190 | 
            +
                    method_name: :together_index,
         | 
| 1191 | 
            +
                    expected: [4, 0],
         | 
| 1192 | 
            +
                  },
         | 
| 1193 | 
            +
                  {
         | 
| 1194 | 
            +
                    case_no: 2,
         | 
| 1195 | 
            +
                    case_title: 'one index exist case',
         | 
| 1196 | 
            +
                    inputs: [[*1..5], [*5..9]],
         | 
| 1197 | 
            +
                    value: 4,
         | 
| 1198 | 
            +
                    method_name: :together_index,
         | 
| 1199 | 
            +
                    expected: [3, nil],
         | 
| 1200 | 
            +
                  },
         | 
| 1201 | 
            +
                  {
         | 
| 1202 | 
            +
                    case_no: 3,
         | 
| 1203 | 
            +
                    case_title: 'both not exist index case',
         | 
| 1204 | 
            +
                    inputs: [[*1..5], [*5..9]],
         | 
| 1205 | 
            +
                    value: 10,
         | 
| 1206 | 
            +
                    method_name: :together_index,
         | 
| 1207 | 
            +
                    expected: [nil, nil],
         | 
| 1208 | 
            +
                  },
         | 
| 1209 | 
            +
                  {
         | 
| 1210 | 
            +
                    case_no: 4,
         | 
| 1211 | 
            +
                    case_title: 'both index exist case(alias tindex)',
         | 
| 1212 | 
            +
                    inputs: [[*1..5], [*5..9]],
         | 
| 1213 | 
            +
                    value: 5,
         | 
| 1214 | 
            +
                    method_name: :tindex,
         | 
| 1215 | 
            +
                    expected: [4, 0],
         | 
| 1216 | 
            +
                  },
         | 
| 1217 | 
            +
                ]
         | 
| 1218 | 
            +
             | 
| 1219 | 
            +
                cases.each do |c|
         | 
| 1220 | 
            +
                  it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
         | 
| 1221 | 
            +
                    begin
         | 
| 1222 | 
            +
                      case_before c
         | 
| 1223 | 
            +
             | 
| 1224 | 
            +
                      # -- given --
         | 
| 1225 | 
            +
                      # nothing
         | 
| 1226 | 
            +
             | 
| 1227 | 
            +
                      # -- when --
         | 
| 1228 | 
            +
                      actual = c[:inputs].send c[:method_name], c[:value]
         | 
| 1229 | 
            +
             | 
| 1230 | 
            +
                      # -- then --
         | 
| 1231 | 
            +
                      expect(actual).to eq(c[:expected])
         | 
| 1232 | 
            +
                    ensure
         | 
| 1233 | 
            +
                      case_after c
         | 
| 1234 | 
            +
                    end
         | 
| 1235 | 
            +
                  end
         | 
| 1236 | 
            +
             | 
| 1237 | 
            +
                  def case_before(c)
         | 
| 1238 | 
            +
                    # implement each case before
         | 
| 1239 | 
            +
                  end
         | 
| 1240 | 
            +
             | 
| 1241 | 
            +
                  def case_after(c)
         | 
| 1242 | 
            +
                    # implement each case after
         | 
| 1243 | 
            +
                  end
         | 
| 1244 | 
            +
                end
         | 
| 1245 | 
            +
              end
         | 
| 1182 1246 | 
             
            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.31
         | 
| 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- | 
| 12 | 
            +
            date: 2014-02-07 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: activesupport
         | 
| 16 | 
            -
              requirement: & | 
| 16 | 
            +
              requirement: &29345544 !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: *29345544
         | 
| 25 25 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 26 26 | 
             
              name: bundler
         | 
| 27 | 
            -
              requirement: & | 
| 27 | 
            +
              requirement: &29345256 !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: *29345256
         | 
| 36 36 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 37 37 | 
             
              name: rake
         | 
| 38 | 
            -
              requirement: & | 
| 38 | 
            +
              requirement: &29345028 !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: *29345028
         | 
| 47 47 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 48 48 | 
             
              name: rspec
         | 
| 49 | 
            -
              requirement: & | 
| 49 | 
            +
              requirement: &29344704 !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: *29344704
         | 
| 58 58 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 59 59 | 
             
              name: simplecov
         | 
| 60 | 
            -
              requirement: & | 
| 60 | 
            +
              requirement: &29344404 !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: *29344404
         | 
| 69 69 | 
             
            description: Utilities
         | 
| 70 70 | 
             
            email:
         | 
| 71 71 | 
             
            - tbpgr@tbpgr.jp
         |