msgr 1.3.2 → 1.4.0
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.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +79 -0
- data/.rubocop.yml +4 -0
- data/Appraisals +7 -2
- data/CHANGELOG.md +63 -1
- data/Gemfile +1 -1
- data/README.md +7 -12
- data/gemfiles/rails_5.2.gemfile +2 -1
- data/gemfiles/rails_6.0.gemfile +2 -1
- data/gemfiles/rails_6.1.gemfile +2 -1
- data/gemfiles/rails_7.0.gemfile +15 -0
- data/gemfiles/{rails_master.gemfile → rails_head.gemfile} +2 -1
- data/lib/msgr/binding.rb +2 -2
- data/lib/msgr/channel.rb +2 -7
- data/lib/msgr/cli.rb +11 -12
- data/lib/msgr/client.rb +2 -2
- data/lib/msgr/connection.rb +1 -1
- data/lib/msgr/railtie.rb +1 -1
- data/lib/msgr/route.rb +2 -2
- data/lib/msgr/version.rb +2 -2
- data/lib/msgr.rb +1 -3
- data/msgr.gemspec +6 -0
- data/renovate.json +5 -0
- data/scripts/simple_test.rb +1 -1
- data/spec/unit/msgr/route_spec.rb +15 -1
- data/spec/unit/msgr_spec.rb +1 -2
- metadata +10 -9
- data/.github/workflows/build.yml +0 -52
- data/.github/workflows/lint.yml +0 -20
- data/.travis.yml +0 -29
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: d1d1c4c93abd233370b3175719c7d41902637c1d8cae51223f86f3cd16611da9
         | 
| 4 | 
            +
              data.tar.gz: 432388472168160b0bc1be0ee303656ab0776674d3178ac63f6c375a7395fb6c
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 11ce36e23b4a499aaaff01e67a1be9a91048e19e9c55cf0487491aef49d3343d1ead2cb854e4c1a1035319e524b764f62c4846e6632bac5fa81da9b7fb125329
         | 
| 7 | 
            +
              data.tar.gz: 62e2a4460070ae90fe264f270cab8852f81d85f177e2fe77e8b730926f88a11dd651506cc1b5ef58fafefa3b23c1ea0889239beacd7ba6b8342d04d65e11e05c
         | 
| @@ -0,0 +1,79 @@ | |
| 1 | 
            +
            name: test
         | 
| 2 | 
            +
            on: [push]
         | 
| 3 | 
            +
            jobs:
         | 
| 4 | 
            +
              test:
         | 
| 5 | 
            +
                name: Ruby ${{ matrix.ruby }} / ${{ matrix.gemfile }}
         | 
| 6 | 
            +
                runs-on: ubuntu-20.04
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                strategy:
         | 
| 9 | 
            +
                  matrix:
         | 
| 10 | 
            +
                    ruby:
         | 
| 11 | 
            +
                      - "3.0"
         | 
| 12 | 
            +
                      - "2.7"
         | 
| 13 | 
            +
                      - "2.6"
         | 
| 14 | 
            +
                      - "2.5"
         | 
| 15 | 
            +
                    gemfile:
         | 
| 16 | 
            +
                      - rails_5.2.gemfile
         | 
| 17 | 
            +
                      - rails_6.0.gemfile
         | 
| 18 | 
            +
                      - rails_6.1.gemfile
         | 
| 19 | 
            +
                      - rails_7.0.gemfile
         | 
| 20 | 
            +
                    exclude:
         | 
| 21 | 
            +
                      - ruby: "3.0"
         | 
| 22 | 
            +
                        gemfile: rails_5.2.gemfile
         | 
| 23 | 
            +
                      - ruby: "2.5"
         | 
| 24 | 
            +
                        gemfile: rails_7.0.gemfile
         | 
| 25 | 
            +
                      - ruby: "2.6"
         | 
| 26 | 
            +
                        gemfile: rails_7.0.gemfile
         | 
| 27 | 
            +
                  fail-fast: False
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                services:
         | 
| 30 | 
            +
                  rabbitmq:
         | 
| 31 | 
            +
                    image: rabbitmq:latest
         | 
| 32 | 
            +
                    options: >-
         | 
| 33 | 
            +
                      --health-cmd "rabbitmqctl node_health_check"
         | 
| 34 | 
            +
                      --health-interval 10s
         | 
| 35 | 
            +
                      --health-timeout 5s
         | 
| 36 | 
            +
                      --health-retries 5
         | 
| 37 | 
            +
                    ports:
         | 
| 38 | 
            +
                      - 5672:5672
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                env:
         | 
| 41 | 
            +
                  AMQP_SERVER: amqp://localhost:5672
         | 
| 42 | 
            +
                  BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}
         | 
| 43 | 
            +
                  BUNDLE_JOBS: 4
         | 
| 44 | 
            +
                  BUNDLE_RETRY: 10
         | 
| 45 | 
            +
                  BUNDLE_WITHOUT: development
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                steps:
         | 
| 48 | 
            +
                  - uses: actions/checkout@master
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                  - name: Setup Ruby
         | 
| 51 | 
            +
                    uses: ruby/setup-ruby@v1
         | 
| 52 | 
            +
                    with:
         | 
| 53 | 
            +
                      ruby-version: ${{ matrix.ruby }}
         | 
| 54 | 
            +
                      bundler-cache: True
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                  - name: Run unit tests
         | 
| 57 | 
            +
                    run: bundle exec rspec -Ispec/unit --color spec/unit
         | 
| 58 | 
            +
             | 
| 59 | 
            +
                  - name: Run integration tests
         | 
| 60 | 
            +
                    run: bundle exec rspec -Ispec/integration --color spec/integration
         | 
| 61 | 
            +
             | 
| 62 | 
            +
              rubocop:
         | 
| 63 | 
            +
                name: rubocop
         | 
| 64 | 
            +
                runs-on: ubuntu-20.04
         | 
| 65 | 
            +
             | 
| 66 | 
            +
                env:
         | 
| 67 | 
            +
                  BUNDLE_JOBS: 4
         | 
| 68 | 
            +
                  BUNDLE_RETRY: 10
         | 
| 69 | 
            +
                  BUNDLE_WITHOUT: development
         | 
| 70 | 
            +
             | 
| 71 | 
            +
                steps:
         | 
| 72 | 
            +
                  - uses: actions/checkout@master
         | 
| 73 | 
            +
                  - uses: ruby/setup-ruby@v1
         | 
| 74 | 
            +
                    with:
         | 
| 75 | 
            +
                      ruby-version: 3.0
         | 
| 76 | 
            +
                      bundler-cache: true
         | 
| 77 | 
            +
             | 
| 78 | 
            +
                  - name: Run rubocop
         | 
| 79 | 
            +
                    run: bundle exec rubocop --parallel --color
         | 
    
        data/.rubocop.yml
    CHANGED
    
    | @@ -3,6 +3,7 @@ inherit_gem: | |
| 3 3 |  | 
| 4 4 | 
             
            AllCops:
         | 
| 5 5 | 
             
              TargetRubyVersion: 2.5
         | 
| 6 | 
            +
              SuggestExtensions: False
         | 
| 6 7 | 
             
              Exclude:
         | 
| 7 8 | 
             
                - gemfiles/**/*
         | 
| 8 9 | 
             
                - spec/integration/dummy/**/*
         | 
| @@ -11,3 +12,6 @@ AllCops: | |
| 11 12 | 
             
            Layout/LineLength:
         | 
| 12 13 | 
             
              Exclude:
         | 
| 13 14 | 
             
                - spec/**/*
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            RSpec/MultipleMemoizedHelpers:
         | 
| 17 | 
            +
              Max: 15
         | 
    
        data/Appraisals
    CHANGED
    
    | @@ -1,5 +1,6 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 2 | 
            +
             | 
| 3 | 
            +
            # vim: ft=ruby
         | 
| 3 4 |  | 
| 4 5 | 
             
            appraise 'rails-5.2' do
         | 
| 5 6 | 
             
              gem 'rails', '~> 5.2.0'
         | 
| @@ -13,6 +14,10 @@ appraise 'rails-6.1' do | |
| 13 14 | 
             
              gem 'rails', '~> 6.1.0'
         | 
| 14 15 | 
             
            end
         | 
| 15 16 |  | 
| 16 | 
            -
            appraise 'rails- | 
| 17 | 
            +
            appraise 'rails-7.0' do
         | 
| 18 | 
            +
              gem 'rails', '~> 6.1.0'
         | 
| 19 | 
            +
            end
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            appraise 'rails-head' do
         | 
| 17 22 | 
             
              gem 'rails', git: 'https://github.com/rails/rails', require: 'rails'
         | 
| 18 23 | 
             
            end
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,54 +1,85 @@ | |
| 1 1 | 
             
            # Changelog
         | 
| 2 | 
            +
             | 
| 2 3 | 
             
            All notable changes to this project will be documented in this file.
         | 
| 3 4 |  | 
| 4 5 | 
             
            The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
         | 
| 5 6 |  | 
| 6 7 | 
             
            ## [Unreleased]
         | 
| 7 8 |  | 
| 9 | 
            +
            ## [1.4.0] - 2022-01-10
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            ### Added
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            - Support for namespaced consumer classes in routes file (#48, #49)
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            ### Removed
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            - Unused `Channel#reject` method
         | 
| 18 | 
            +
             | 
| 8 19 | 
             
            ## [1.3.2] - 2021-09-21
         | 
| 20 | 
            +
             | 
| 9 21 | 
             
            ### Fixed
         | 
| 22 | 
            +
             | 
| 10 23 | 
             
            - Rake task `msgr:drain` ran before all routes were initialized (#44)
         | 
| 11 24 |  | 
| 12 25 | 
             
            ## [1.3.1] - 2020-12-16
         | 
| 26 | 
            +
             | 
| 13 27 | 
             
            ### Fixed
         | 
| 28 | 
            +
             | 
| 14 29 | 
             
            - Delay setting default options for correct relative routing file path
         | 
| 15 30 |  | 
| 16 31 | 
             
            ## [1.3.0] - 2020-12-16
         | 
| 32 | 
            +
             | 
| 17 33 | 
             
            ### Added
         | 
| 34 | 
            +
             | 
| 18 35 | 
             
            - Support and testing for Rails 6.1
         | 
| 19 36 | 
             
            - Rake task for purging all known queues (#43)
         | 
| 20 37 |  | 
| 21 38 | 
             
            ### Changed
         | 
| 39 | 
            +
             | 
| 22 40 | 
             
            - High-risk feature to autostart client in-process has been removed without replacement
         | 
| 23 41 | 
             
            - Parsing config is more relaxed now but directly based on YAML boolean values
         | 
| 24 42 |  | 
| 25 43 | 
             
            ## [1.2.0] - 2019-06-27
         | 
| 44 | 
            +
             | 
| 26 45 | 
             
            ### Added
         | 
| 46 | 
            +
             | 
| 27 47 | 
             
            - Test support of Rails 5.2
         | 
| 28 48 |  | 
| 29 49 | 
             
            ### Changed
         | 
| 50 | 
            +
             | 
| 30 51 | 
             
            - Serialize JSON using core JSON instead of MultiJson
         | 
| 31 52 | 
             
            - Remove application/text fallback for payload (#25)
         | 
| 32 53 |  | 
| 33 54 | 
             
            ## [1.1.0] - 2018-07-25
         | 
| 55 | 
            +
             | 
| 34 56 | 
             
            ### Added
         | 
| 57 | 
            +
             | 
| 35 58 | 
             
            - New command line runner
         | 
| 36 59 |  | 
| 37 60 | 
             
            ## [1.0.0] - 2017-12-29
         | 
| 61 | 
            +
             | 
| 38 62 | 
             
            ### Changed
         | 
| 63 | 
            +
             | 
| 39 64 | 
             
            - Configure prefetch per binding and disable auto ack in consumer for customized batch processing (#15)
         | 
| 40 65 | 
             
            - Replace usage of deprecated exception class (#12)
         | 
| 41 66 |  | 
| 42 67 | 
             
            ## [0.15.2] - 2017-09-04
         | 
| 68 | 
            +
             | 
| 43 69 | 
             
            ### Fixed
         | 
| 70 | 
            +
             | 
| 44 71 | 
             
            - Fix regression in parsing `:uri` config with empty path
         | 
| 45 72 |  | 
| 46 73 | 
             
            ## [0.15.1] - 2017-07-31
         | 
| 74 | 
            +
             | 
| 47 75 | 
             
            ### Fixed
         | 
| 76 | 
            +
             | 
| 48 77 | 
             
            - Fix errors with additional configuration keys for AMQP connection (#13)
         | 
| 49 78 |  | 
| 50 79 | 
             
            ## [0.15.0] - 2017-03-30
         | 
| 80 | 
            +
             | 
| 51 81 | 
             
            ### Added
         | 
| 82 | 
            +
             | 
| 52 83 | 
             
            - Add new configuration option `:raise_exceptions` that can be used to enable
         | 
| 53 84 | 
             
              exceptions being raised from consumers. Mostly useful for testing consumers.
         | 
| 54 85 | 
             
              Defaults to `false`.
         | 
| @@ -56,69 +87,100 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), | |
| 56 87 | 
             
            - Add methods for purging queues
         | 
| 57 88 |  | 
| 58 89 | 
             
            ### Changed
         | 
| 90 | 
            +
             | 
| 59 91 | 
             
            - Rework TestPool timeout handling to not account processing time
         | 
| 60 92 |  | 
| 61 93 | 
             
            ## [0.14.1] - 2016-02-17
         | 
| 94 | 
            +
             | 
| 62 95 | 
             
            ### Fixed
         | 
| 96 | 
            +
             | 
| 63 97 | 
             
            - Fix loading test pool source file
         | 
| 64 98 |  | 
| 65 99 | 
             
            ## [0.14.0] - 2016-02-17
         | 
| 100 | 
            +
             | 
| 66 101 | 
             
            ### Added
         | 
| 102 | 
            +
             | 
| 67 103 | 
             
            - Add experimental test pool (`Msgr::TestPool`)
         | 
| 68 104 |  | 
| 69 105 | 
             
            ## [0.13.0] - 2015-08-24
         | 
| 106 | 
            +
             | 
| 70 107 | 
             
            ### Changed
         | 
| 108 | 
            +
             | 
| 71 109 | 
             
            - Use `Rails.application.config_for` if available.
         | 
| 72 110 |  | 
| 73 111 | 
             
            ## [0.12.2] - 2015-01-14
         | 
| 112 | 
            +
             | 
| 74 113 | 
             
            ### Changed
         | 
| 114 | 
            +
             | 
| 75 115 | 
             
            - Do not delete the exchange on stop delete:true - as the exchange is changed
         | 
| 76 116 |  | 
| 77 117 | 
             
            ## [0.12.1] - 2014-11-06
         | 
| 118 | 
            +
             | 
| 78 119 | 
             
            ### Changed
         | 
| 120 | 
            +
             | 
| 79 121 | 
             
            - Loose dependency on bunny to allow `~> 1.4` for stone-age old RabbitMQ servers.
         | 
| 80 122 |  | 
| 81 123 | 
             
            ## [0.11.0-rc3] - 2014-04-11
         | 
| 124 | 
            +
             | 
| 82 125 | 
             
            ### Added
         | 
| 126 | 
            +
             | 
| 83 127 | 
             
            - Add checkcredentials config option to disable initial connect to rabbitmq
         | 
| 84 128 | 
             
              server to check the credentials
         | 
| 85 129 |  | 
| 86 130 | 
             
            ### Changed
         | 
| 131 | 
            +
             | 
| 87 132 | 
             
            - Define pool_class by string to make it useable with rails
         | 
| 88 133 |  | 
| 89 134 | 
             
            ## [0.11.0-rc2] - 2014-03-29
         | 
| 135 | 
            +
             | 
| 90 136 | 
             
            ### Added
         | 
| 137 | 
            +
             | 
| 91 138 | 
             
            - Add nack for messages when an error is rescued by dispatcher
         | 
| 92 139 |  | 
| 93 140 | 
             
            ## [0.11.0-rc1] - 2014-03-29
         | 
| 141 | 
            +
             | 
| 94 142 | 
             
            ### Added
         | 
| 143 | 
            +
             | 
| 95 144 | 
             
            - Add pool_class config to override pool classes used by dispatcher
         | 
| 96 145 |  | 
| 97 146 | 
             
            ## [0.4.1] - 2014-03-18
         | 
| 147 | 
            +
             | 
| 98 148 | 
             
            ### Fixed
         | 
| 149 | 
            +
             | 
| 99 150 | 
             
            - Fix bug with empty routes on client start
         | 
| 100 151 |  | 
| 101 152 | 
             
            ## [0.4.0] - 2014-03-04
         | 
| 153 | 
            +
             | 
| 102 154 | 
             
            ### Changed
         | 
| 155 | 
            +
             | 
| 103 156 | 
             
            - Improve railtie and autostart code
         | 
| 104 157 |  | 
| 105 158 | 
             
            ## 0.4.0 - 0.10.0
         | 
| 159 | 
            +
             | 
| 106 160 | 
             
            ### Changed
         | 
| 161 | 
            +
             | 
| 107 162 | 
             
            - Some lost history due to several crises
         | 
| 108 163 |  | 
| 109 164 | 
             
            ## [0.3.0] - 2014-03-03
         | 
| 165 | 
            +
             | 
| 110 166 | 
             
            ### Added
         | 
| 167 | 
            +
             | 
| 111 168 | 
             
            - Support for forking web servers like unicorn
         | 
| 112 169 |  | 
| 113 170 | 
             
            ## [0.2.1] - 2014-02-26
         | 
| 171 | 
            +
             | 
| 114 172 | 
             
            ### Fixed
         | 
| 173 | 
            +
             | 
| 115 174 | 
             
            - Fix wrong rails initializer code - was not use the config file
         | 
| 116 175 |  | 
| 117 176 | 
             
            ## [0.2.0] - 2014-02-21
         | 
| 177 | 
            +
             | 
| 118 178 | 
             
            ### Changed
         | 
| 179 | 
            +
             | 
| 119 180 | 
             
            - Improve rails initializer code
         | 
| 120 181 |  | 
| 121 | 
            -
            [ | 
| 182 | 
            +
            [unreleased]: https://github.com/jgraichen/msgr/compare/v1.4.0...HEAD
         | 
| 183 | 
            +
            [1.4.0]: https://github.com/jgraichen/msgr/compare/v1.3.2...v1.4.0
         | 
| 122 184 | 
             
            [1.3.2]: https://github.com/jgraichen/msgr/compare/v1.3.1...v1.3.2
         | 
| 123 185 | 
             
            [1.3.1]: https://github.com/jgraichen/msgr/compare/v1.3.0...v1.3.1
         | 
| 124 186 | 
             
            [1.3.0]: https://github.com/jgraichen/msgr/compare/v1.2.0...v1.3.0
         | 
    
        data/Gemfile
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -1,15 +1,13 @@ | |
| 1 | 
            -
            # Msgr:  | 
| 1 | 
            +
            # Msgr: _Rails-like Messaging Framework_
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 4 | 
            -
            [](https://travis-ci.org/jgraichen/msgr)
         | 
| 6 | 
            -
            [](https://github.com/jgraichen/msgr/actions?query=workflow%3ABuild+branch%3Amaster)
         | 
| 3 | 
            +
            [](https://rubygems.org/gems/msgr)
         | 
| 4 | 
            +
            [](https://github.com/jgraichen/msgr/actions/workflows/test.yml)
         | 
| 7 5 | 
             
            [](http://rubydoc.info/github/jgraichen/msgr/master/frames)
         | 
| 8 6 |  | 
| 9 7 | 
             
            You know it and you like it. Using Rails you can just declare your routes and
         | 
| 10 8 | 
             
            create a controller. That's all you need to process requests.
         | 
| 11 9 |  | 
| 12 | 
            -
            With  | 
| 10 | 
            +
            With _Msgr_ you can do the same for asynchronous AMQP messaging. Just define
         | 
| 13 11 | 
             
            your routes, create your consumer and watch your app processing messages.
         | 
| 14 12 |  | 
| 15 13 | 
             
            ## Installation
         | 
| @@ -83,7 +81,6 @@ end | |
| 83 81 |  | 
| 84 82 | 
             
            Run client daemon with `bundle exec msgr`.
         | 
| 85 83 |  | 
| 86 | 
            -
             | 
| 87 84 | 
             
            ## Advanced configuration
         | 
| 88 85 |  | 
| 89 86 | 
             
            ### Manual message acknowledgments
         | 
| @@ -106,10 +103,9 @@ end | |
| 106 103 |  | 
| 107 104 | 
             
            Per default each message queue has a prefetch count of 1. This value can be changed when specifying the messaging routes:
         | 
| 108 105 |  | 
| 109 | 
            -
             | 
| 110 | 
            -
             | 
| 111 | 
            -
             | 
| 112 | 
            -
             | 
| 106 | 
            +
            ```ruby
         | 
| 107 | 
            +
            route 'local.test.index', to: 'test#index', prefetch: 42
         | 
| 108 | 
            +
            ```
         | 
| 113 109 |  | 
| 114 110 | 
             
            ## Testing
         | 
| 115 111 |  | 
| @@ -154,7 +150,6 @@ it 'executes the consumer' do | |
| 154 150 | 
             
            end
         | 
| 155 151 | 
             
            ```
         | 
| 156 152 |  | 
| 157 | 
            -
             | 
| 158 153 | 
             
            ## Contributing
         | 
| 159 154 |  | 
| 160 155 | 
             
            1. Fork it
         | 
    
        data/gemfiles/rails_5.2.gemfile
    CHANGED
    
    | @@ -4,8 +4,9 @@ source "https://rubygems.org" | |
| 4 4 |  | 
| 5 5 | 
             
            gem "appraisal"
         | 
| 6 6 | 
             
            gem "coveralls"
         | 
| 7 | 
            -
            gem "my-rubocop", github: "jgraichen/my-rubocop"
         | 
| 7 | 
            +
            gem "my-rubocop", github: "jgraichen/my-rubocop", ref: "v3"
         | 
| 8 8 | 
             
            gem "rake"
         | 
| 9 | 
            +
            gem "rake-release", "~> 1.1"
         | 
| 9 10 | 
             
            gem "rspec", "~> 3.0"
         | 
| 10 11 | 
             
            gem "rspec-rails"
         | 
| 11 12 | 
             
            gem "rails", "~> 5.2.0"
         | 
    
        data/gemfiles/rails_6.0.gemfile
    CHANGED
    
    | @@ -4,8 +4,9 @@ source "https://rubygems.org" | |
| 4 4 |  | 
| 5 5 | 
             
            gem "appraisal"
         | 
| 6 6 | 
             
            gem "coveralls"
         | 
| 7 | 
            -
            gem "my-rubocop", github: "jgraichen/my-rubocop"
         | 
| 7 | 
            +
            gem "my-rubocop", github: "jgraichen/my-rubocop", ref: "v3"
         | 
| 8 8 | 
             
            gem "rake"
         | 
| 9 | 
            +
            gem "rake-release", "~> 1.1"
         | 
| 9 10 | 
             
            gem "rspec", "~> 3.0"
         | 
| 10 11 | 
             
            gem "rspec-rails"
         | 
| 11 12 | 
             
            gem "rails", "~> 6.0.0"
         | 
    
        data/gemfiles/rails_6.1.gemfile
    CHANGED
    
    | @@ -4,8 +4,9 @@ source "https://rubygems.org" | |
| 4 4 |  | 
| 5 5 | 
             
            gem "appraisal"
         | 
| 6 6 | 
             
            gem "coveralls"
         | 
| 7 | 
            -
            gem "my-rubocop", github: "jgraichen/my-rubocop"
         | 
| 7 | 
            +
            gem "my-rubocop", github: "jgraichen/my-rubocop", ref: "v3"
         | 
| 8 8 | 
             
            gem "rake"
         | 
| 9 | 
            +
            gem "rake-release", "~> 1.1"
         | 
| 9 10 | 
             
            gem "rspec", "~> 3.0"
         | 
| 10 11 | 
             
            gem "rspec-rails"
         | 
| 11 12 | 
             
            gem "rails", "~> 6.1.0"
         | 
| @@ -0,0 +1,15 @@ | |
| 1 | 
            +
            # This file was generated by Appraisal
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            source "https://rubygems.org"
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            gem "appraisal"
         | 
| 6 | 
            +
            gem "coveralls"
         | 
| 7 | 
            +
            gem "my-rubocop", github: "jgraichen/my-rubocop", ref: "v3"
         | 
| 8 | 
            +
            gem "rake"
         | 
| 9 | 
            +
            gem "rake-release", "~> 1.1"
         | 
| 10 | 
            +
            gem "rspec", "~> 3.0"
         | 
| 11 | 
            +
            gem "rspec-rails"
         | 
| 12 | 
            +
            gem "rails", "~> 6.1.0"
         | 
| 13 | 
            +
            gem "sqlite3"
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            gemspec path: "../"
         | 
| @@ -4,8 +4,9 @@ source "https://rubygems.org" | |
| 4 4 |  | 
| 5 5 | 
             
            gem "appraisal"
         | 
| 6 6 | 
             
            gem "coveralls"
         | 
| 7 | 
            -
            gem "my-rubocop", github: "jgraichen/my-rubocop"
         | 
| 7 | 
            +
            gem "my-rubocop", github: "jgraichen/my-rubocop", ref: "v3"
         | 
| 8 8 | 
             
            gem "rake"
         | 
| 9 | 
            +
            gem "rake-release", "~> 1.1"
         | 
| 9 10 | 
             
            gem "rspec", "~> 3.0"
         | 
| 10 11 | 
             
            gem "rspec-rails"
         | 
| 11 12 | 
             
            gem "rails", git: "https://github.com/rails/rails", require: "rails"
         | 
    
        data/lib/msgr/binding.rb
    CHANGED
    
    | @@ -10,7 +10,7 @@ module Msgr | |
| 10 10 | 
             
                  :dispatcher,
         | 
| 11 11 | 
             
                  :queue,
         | 
| 12 12 | 
             
                  :route,
         | 
| 13 | 
            -
                  :subscription
         | 
| 13 | 
            +
                  :subscription,
         | 
| 14 14 | 
             
                )
         | 
| 15 15 |  | 
| 16 16 | 
             
                def initialize(connection, route, dispatcher)
         | 
| @@ -54,7 +54,7 @@ module Msgr | |
| 54 54 | 
             
                  rescue StandardError => e
         | 
| 55 55 | 
             
                    log(:error) do
         | 
| 56 56 | 
             
                      "Rescued error from subscribe: #{e.class.name}: " \
         | 
| 57 | 
            -
             | 
| 57 | 
            +
                        "#{e}\n#{e.backtrace.join("\n")}"
         | 
| 58 58 | 
             
                    end
         | 
| 59 59 | 
             
                  end
         | 
| 60 60 | 
             
                end
         | 
    
        data/lib/msgr/channel.rb
    CHANGED
    
    | @@ -22,7 +22,7 @@ module Msgr | |
| 22 22 | 
             
                    @channel.topic(prefix(EXCHANGE_NAME), durable: true).tap do |ex|
         | 
| 23 23 | 
             
                      log(:debug) do
         | 
| 24 24 | 
             
                        "Created exchange #{ex.name} (type: #{ex.type}, " \
         | 
| 25 | 
            -
             | 
| 25 | 
            +
                          "durable: #{ex.durable?}, auto_delete: #{ex.auto_delete?})"
         | 
| 26 26 | 
             
                      end
         | 
| 27 27 | 
             
                    end
         | 
| 28 28 | 
             
                  end
         | 
| @@ -32,7 +32,7 @@ module Msgr | |
| 32 32 | 
             
                  @channel.queue(prefix(name), durable: true, **opts).tap do |queue|
         | 
| 33 33 | 
             
                    log(:debug) do
         | 
| 34 34 | 
             
                      "Create queue #{queue.name} (durable: #{queue.durable?}, " \
         | 
| 35 | 
            -
             | 
| 35 | 
            +
                        "auto_delete: #{queue.auto_delete?})"
         | 
| 36 36 | 
             
                    end
         | 
| 37 37 | 
             
                  end
         | 
| 38 38 | 
             
                end
         | 
| @@ -55,11 +55,6 @@ module Msgr | |
| 55 55 | 
             
                  log(:debug) { "Nacked message: #{delivery_tag}" }
         | 
| 56 56 | 
             
                end
         | 
| 57 57 |  | 
| 58 | 
            -
                def reject(delivery_tag, requeue = true)
         | 
| 59 | 
            -
                  @channel.reject delivery_tag, requeue
         | 
| 60 | 
            -
                  log(:debug) { "Rejected message: #{delivery_tag}" }
         | 
| 61 | 
            -
                end
         | 
| 62 | 
            -
             | 
| 63 58 | 
             
                def close
         | 
| 64 59 | 
             
                  @channel.close if @channel.open?
         | 
| 65 60 | 
             
                end
         | 
    
        data/lib/msgr/cli.rb
    CHANGED
    
    | @@ -41,17 +41,16 @@ module Msgr | |
| 41 41 | 
             
                  Signal.trap('INT') { w.puts 'INT' }
         | 
| 42 42 | 
             
                  Signal.trap('TERM') { w.puts 'TERM' }
         | 
| 43 43 |  | 
| 44 | 
            -
                  Msgr.logger = Logger.new( | 
| 44 | 
            +
                  Msgr.logger = Logger.new($stdout)
         | 
| 45 45 | 
             
                  Msgr.client.start
         | 
| 46 46 |  | 
| 47 | 
            -
                   | 
| 48 | 
            -
             | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 52 | 
            -
             | 
| 53 | 
            -
             | 
| 54 | 
            -
                    end
         | 
| 47 | 
            +
                  # Wait until we receive a signal
         | 
| 48 | 
            +
                  readable = IO.select([r])
         | 
| 49 | 
            +
                  case readable.first[0].gets.strip
         | 
| 50 | 
            +
                    when 'INT', 'TERM' # Safe shutdown
         | 
| 51 | 
            +
                      Msgr.client.stop
         | 
| 52 | 
            +
                    else # Error
         | 
| 53 | 
            +
                      exit 1
         | 
| 55 54 | 
             
                  end
         | 
| 56 55 | 
             
                end
         | 
| 57 56 |  | 
| @@ -65,20 +64,20 @@ module Msgr | |
| 65 64 | 
             
                  def parse(_argv)
         | 
| 66 65 | 
             
                    options = {
         | 
| 67 66 | 
             
                      require: Dir.pwd,
         | 
| 68 | 
            -
                      environment: 'development'
         | 
| 67 | 
            +
                      environment: 'development',
         | 
| 69 68 | 
             
                    }
         | 
| 70 69 |  | 
| 71 70 | 
             
                    OptionParser.new do |o|
         | 
| 72 71 | 
             
                      o.on(
         | 
| 73 72 | 
             
                        '-r', '--require [PATH|DIR]',
         | 
| 74 | 
            -
                        'Location of Rails application (default to current directory)'
         | 
| 73 | 
            +
                        'Location of Rails application (default to current directory)',
         | 
| 75 74 | 
             
                      ) do |arg|
         | 
| 76 75 | 
             
                        options[:require] = arg
         | 
| 77 76 | 
             
                      end
         | 
| 78 77 |  | 
| 79 78 | 
             
                      o.on(
         | 
| 80 79 | 
             
                        '-e', '--environment [env]',
         | 
| 81 | 
            -
                        'Rails environment (default to development)'
         | 
| 80 | 
            +
                        'Rails environment (default to development)',
         | 
| 82 81 | 
             
                      ) do |arg|
         | 
| 83 82 | 
             
                        options[:environment] = arg
         | 
| 84 83 | 
             
                      end
         | 
    
        data/lib/msgr/client.rb
    CHANGED
    
    | @@ -14,7 +14,7 @@ module Msgr | |
| 14 14 | 
             
                  @config = {
         | 
| 15 15 | 
             
                    host: '127.0.0.1',
         | 
| 16 16 | 
             
                    vhost: '/',
         | 
| 17 | 
            -
                    max: 2
         | 
| 17 | 
            +
                    max: 2,
         | 
| 18 18 | 
             
                  }
         | 
| 19 19 |  | 
| 20 20 | 
             
                  @config.merge! parse(config.delete(:uri)) if config[:uri]
         | 
| @@ -148,7 +148,7 @@ module Msgr | |
| 148 148 |  | 
| 149 149 | 
             
                  log(:warn) do
         | 
| 150 150 | 
             
                    "Fork detected. Reset internal state. (Old PID: #{@pid} / " \
         | 
| 151 | 
            -
             | 
| 151 | 
            +
                      "New PID: #{::Process.pid}"
         | 
| 152 152 | 
             
                  end
         | 
| 153 153 |  | 
| 154 154 | 
             
                  reset
         | 
    
        data/lib/msgr/connection.rb
    CHANGED
    
    
    
        data/lib/msgr/railtie.rb
    CHANGED
    
    
    
        data/lib/msgr/route.rb
    CHANGED
    
    | @@ -4,7 +4,7 @@ module Msgr | |
| 4 4 | 
             
              class Route
         | 
| 5 5 | 
             
                attr_reader :consumer, :action, :opts
         | 
| 6 6 |  | 
| 7 | 
            -
                MATCH_REGEXP =  | 
| 7 | 
            +
                MATCH_REGEXP = %r{\A(?<consumer>(?:\w+/)*\w+)#(?<action>\w+)\z}.freeze
         | 
| 8 8 | 
             
                def initialize(key, opts = {})
         | 
| 9 9 | 
             
                  @opts = opts
         | 
| 10 10 | 
             
                  raise ArgumentError.new 'Missing `to` options.' unless @opts[:to]
         | 
| @@ -16,7 +16,7 @@ module Msgr | |
| 16 16 | 
             
                  unless result
         | 
| 17 17 | 
             
                    raise ArgumentError.new \
         | 
| 18 18 | 
             
                      "Invalid consumer format: #{opts[:to].strip.to_s.inspect}. " \
         | 
| 19 | 
            -
                      'Must be `consumer_class#action`.'
         | 
| 19 | 
            +
                      'Must be `name/space/consumer_class#action`.'
         | 
| 20 20 | 
             
                  end
         | 
| 21 21 |  | 
| 22 22 | 
             
                  @consumer = "#{result[:consumer].camelize}Consumer"
         | 
    
        data/lib/msgr/version.rb
    CHANGED
    
    
    
        data/lib/msgr.rb
    CHANGED
    
    | @@ -25,7 +25,7 @@ require 'msgr/railtie' if defined? Rails | |
| 25 25 |  | 
| 26 26 | 
             
            module Msgr
         | 
| 27 27 | 
             
              class << self
         | 
| 28 | 
            -
                attr_writer :client, :config
         | 
| 28 | 
            +
                attr_writer :client, :config, :logger
         | 
| 29 29 |  | 
| 30 30 | 
             
                delegate :publish, to: :client
         | 
| 31 31 |  | 
| @@ -46,8 +46,6 @@ module Msgr | |
| 46 46 | 
             
                  @logger
         | 
| 47 47 | 
             
                end
         | 
| 48 48 |  | 
| 49 | 
            -
                attr_writer :logger
         | 
| 50 | 
            -
             | 
| 51 49 | 
             
                def start
         | 
| 52 50 | 
             
                  client.start
         | 
| 53 51 | 
             
                  client
         | 
    
        data/msgr.gemspec
    CHANGED
    
    | @@ -15,11 +15,17 @@ Gem::Specification.new do |spec| | |
| 15 15 | 
             
              spec.homepage      = 'https://github.com/jgraichen/msgr'
         | 
| 16 16 | 
             
              spec.license       = 'MIT'
         | 
| 17 17 |  | 
| 18 | 
            +
              spec.metadata = {
         | 
| 19 | 
            +
                'rubygems_mfa_required' => 'true',
         | 
| 20 | 
            +
              }
         | 
| 21 | 
            +
             | 
| 18 22 | 
             
              spec.files         = `git ls-files -z`.split("\x0")
         | 
| 19 23 | 
             
              spec.executables   = spec.files.grep(%r{^bin/}) {|f| File.basename(f) }
         | 
| 20 24 | 
             
              spec.test_files    = spec.files.grep(%r{^(test|spec|features)/})
         | 
| 21 25 | 
             
              spec.require_paths = %w[lib]
         | 
| 22 26 |  | 
| 27 | 
            +
              spec.required_ruby_version = '>= 2.5'
         | 
| 28 | 
            +
             | 
| 23 29 | 
             
              spec.add_dependency 'activesupport'
         | 
| 24 30 | 
             
              spec.add_dependency 'bunny', '>= 1.4', '< 3.0'
         | 
| 25 31 |  | 
    
        data/scripts/simple_test.rb
    CHANGED
    
    
| @@ -34,6 +34,12 @@ describe Msgr::Route do | |
| 34 34 | 
             
                    described_class.new routing_key, to: 'abc'
         | 
| 35 35 | 
             
                  end.to raise_error ArgumentError, /invalid consumer format/i
         | 
| 36 36 | 
             
                end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                it 'allows namespaces in consumer' do
         | 
| 39 | 
            +
                  expect do
         | 
| 40 | 
            +
                    described_class.new routing_key, to: 'abc/def#ghi'
         | 
| 41 | 
            +
                  end.not_to raise_error
         | 
| 42 | 
            +
                end
         | 
| 37 43 | 
             
              end
         | 
| 38 44 |  | 
| 39 45 | 
             
              describe '#consumer' do
         | 
| @@ -44,10 +50,18 @@ describe Msgr::Route do | |
| 44 50 | 
             
                context 'with underscore consumer name' do
         | 
| 45 51 | 
             
                  let(:options) { super().merge to: 'test_resource_foo#index' }
         | 
| 46 52 |  | 
| 47 | 
            -
                  it 'returns camelized  | 
| 53 | 
            +
                  it 'returns camelized class name' do
         | 
| 48 54 | 
             
                    expect(route.consumer).to eq 'TestResourceFooConsumer'
         | 
| 49 55 | 
             
                  end
         | 
| 50 56 | 
             
                end
         | 
| 57 | 
            +
             | 
| 58 | 
            +
                context 'with nested namespace in consumer name' do
         | 
| 59 | 
            +
                  let(:options) { super().merge to: 'nested/namespace/foo#index' }
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                  it 'returns fully classified, classified class name' do
         | 
| 62 | 
            +
                    expect(route.consumer).to eq 'Nested::Namespace::FooConsumer'
         | 
| 63 | 
            +
                  end
         | 
| 64 | 
            +
                end
         | 
| 51 65 | 
             
              end
         | 
| 52 66 |  | 
| 53 67 | 
             
              describe '#action' do
         | 
    
        data/spec/unit/msgr_spec.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: msgr
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.4.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Jan Graichen
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2022-01-10 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activesupport
         | 
| @@ -67,11 +67,9 @@ extensions: [] | |
| 67 67 | 
             
            extra_rdoc_files: []
         | 
| 68 68 | 
             
            files:
         | 
| 69 69 | 
             
            - ".editorconfig"
         | 
| 70 | 
            -
            - ".github/workflows/ | 
| 71 | 
            -
            - ".github/workflows/lint.yml"
         | 
| 70 | 
            +
            - ".github/workflows/test.yml"
         | 
| 72 71 | 
             
            - ".gitignore"
         | 
| 73 72 | 
             
            - ".rubocop.yml"
         | 
| 74 | 
            -
            - ".travis.yml"
         | 
| 75 73 | 
             
            - Appraisals
         | 
| 76 74 | 
             
            - CHANGELOG.md
         | 
| 77 75 | 
             
            - Gemfile
         | 
| @@ -82,7 +80,8 @@ files: | |
| 82 80 | 
             
            - gemfiles/rails_5.2.gemfile
         | 
| 83 81 | 
             
            - gemfiles/rails_6.0.gemfile
         | 
| 84 82 | 
             
            - gemfiles/rails_6.1.gemfile
         | 
| 85 | 
            -
            - gemfiles/ | 
| 83 | 
            +
            - gemfiles/rails_7.0.gemfile
         | 
| 84 | 
            +
            - gemfiles/rails_head.gemfile
         | 
| 86 85 | 
             
            - lib/msgr.rb
         | 
| 87 86 | 
             
            - lib/msgr/binding.rb
         | 
| 88 87 | 
             
            - lib/msgr/channel.rb
         | 
| @@ -101,6 +100,7 @@ files: | |
| 101 100 | 
             
            - lib/msgr/test_pool.rb
         | 
| 102 101 | 
             
            - lib/msgr/version.rb
         | 
| 103 102 | 
             
            - msgr.gemspec
         | 
| 103 | 
            +
            - renovate.json
         | 
| 104 104 | 
             
            - scripts/simple_test.rb
         | 
| 105 105 | 
             
            - spec/fixtures/msgr_routes_test_1.rb
         | 
| 106 106 | 
             
            - spec/fixtures/msgr_routes_test_drain.rb
         | 
| @@ -145,7 +145,8 @@ files: | |
| 145 145 | 
             
            homepage: https://github.com/jgraichen/msgr
         | 
| 146 146 | 
             
            licenses:
         | 
| 147 147 | 
             
            - MIT
         | 
| 148 | 
            -
            metadata: | 
| 148 | 
            +
            metadata:
         | 
| 149 | 
            +
              rubygems_mfa_required: 'true'
         | 
| 149 150 | 
             
            post_install_message: 
         | 
| 150 151 | 
             
            rdoc_options: []
         | 
| 151 152 | 
             
            require_paths:
         | 
| @@ -154,14 +155,14 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 154 155 | 
             
              requirements:
         | 
| 155 156 | 
             
              - - ">="
         | 
| 156 157 | 
             
                - !ruby/object:Gem::Version
         | 
| 157 | 
            -
                  version: ' | 
| 158 | 
            +
                  version: '2.5'
         | 
| 158 159 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 159 160 | 
             
              requirements:
         | 
| 160 161 | 
             
              - - ">="
         | 
| 161 162 | 
             
                - !ruby/object:Gem::Version
         | 
| 162 163 | 
             
                  version: '0'
         | 
| 163 164 | 
             
            requirements: []
         | 
| 164 | 
            -
            rubygems_version: 3. | 
| 165 | 
            +
            rubygems_version: 3.1.6
         | 
| 165 166 | 
             
            signing_key: 
         | 
| 166 167 | 
             
            specification_version: 4
         | 
| 167 168 | 
             
            summary: 'Msgr: Rails-like Messaging Framework'
         | 
    
        data/.github/workflows/build.yml
    DELETED
    
    | @@ -1,52 +0,0 @@ | |
| 1 | 
            -
            name: Build
         | 
| 2 | 
            -
            on: [push]
         | 
| 3 | 
            -
            jobs:
         | 
| 4 | 
            -
              test:
         | 
| 5 | 
            -
                name: Ruby ${{ matrix.ruby }} / ${{ matrix.gemfile }}
         | 
| 6 | 
            -
                runs-on: ubuntu-20.04
         | 
| 7 | 
            -
             | 
| 8 | 
            -
                strategy:
         | 
| 9 | 
            -
                  matrix:
         | 
| 10 | 
            -
                    ruby:
         | 
| 11 | 
            -
                      - '2.7'
         | 
| 12 | 
            -
                      - '2.6'
         | 
| 13 | 
            -
                      - '2.5'
         | 
| 14 | 
            -
                    gemfile:
         | 
| 15 | 
            -
                      - rails_5.2.gemfile
         | 
| 16 | 
            -
                      - rails_6.0.gemfile
         | 
| 17 | 
            -
                      - rails_6.1.gemfile
         | 
| 18 | 
            -
                  fail-fast: false
         | 
| 19 | 
            -
             | 
| 20 | 
            -
                services:
         | 
| 21 | 
            -
                  rabbitmq:
         | 
| 22 | 
            -
                    image: rabbitmq:latest
         | 
| 23 | 
            -
                    options: --health-cmd "rabbitmqctl node_health_check" --health-interval 10s --health-timeout 5s --health-retries 5
         | 
| 24 | 
            -
                    ports:
         | 
| 25 | 
            -
                      - 5672:5672
         | 
| 26 | 
            -
             | 
| 27 | 
            -
                steps:
         | 
| 28 | 
            -
                  - uses: actions/checkout@master
         | 
| 29 | 
            -
             | 
| 30 | 
            -
                  - name: Setup Ruby
         | 
| 31 | 
            -
                    uses: ruby/setup-ruby@v1
         | 
| 32 | 
            -
                    with:
         | 
| 33 | 
            -
                      ruby-version: ${{ matrix.ruby }}
         | 
| 34 | 
            -
                      bundler-cache: true
         | 
| 35 | 
            -
                      bundler: 1
         | 
| 36 | 
            -
                    env:
         | 
| 37 | 
            -
                      BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}
         | 
| 38 | 
            -
                      BUNDLE_WITHOUT: development
         | 
| 39 | 
            -
                      BUNDLE_JOBS: 4
         | 
| 40 | 
            -
                      BUNDLE_RETRY: 3
         | 
| 41 | 
            -
             | 
| 42 | 
            -
                  - name: Run unit tests
         | 
| 43 | 
            -
                    env:
         | 
| 44 | 
            -
                      AMQP_SERVER: amqp://localhost:5672
         | 
| 45 | 
            -
                      BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}
         | 
| 46 | 
            -
                    run: bundle exec rspec -Ispec/unit --color spec/unit
         | 
| 47 | 
            -
             | 
| 48 | 
            -
                  - name: Run integration tests
         | 
| 49 | 
            -
                    env:
         | 
| 50 | 
            -
                      AMQP_SERVER: amqp://localhost:5672
         | 
| 51 | 
            -
                      BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}
         | 
| 52 | 
            -
                    run: bundle exec rspec -Ispec/integration --color spec/integration
         | 
    
        data/.github/workflows/lint.yml
    DELETED
    
    | @@ -1,20 +0,0 @@ | |
| 1 | 
            -
            name: Lint
         | 
| 2 | 
            -
            on: [push]
         | 
| 3 | 
            -
            jobs:
         | 
| 4 | 
            -
              rubocop:
         | 
| 5 | 
            -
                name: rubocop
         | 
| 6 | 
            -
                runs-on: ubuntu-20.04
         | 
| 7 | 
            -
             | 
| 8 | 
            -
                steps:
         | 
| 9 | 
            -
                  - uses: actions/checkout@master
         | 
| 10 | 
            -
                  - uses: ruby/setup-ruby@v1
         | 
| 11 | 
            -
                    with:
         | 
| 12 | 
            -
                      ruby-version: 2.6
         | 
| 13 | 
            -
                      bundler-cache: true
         | 
| 14 | 
            -
                    env:
         | 
| 15 | 
            -
                      BUNDLE_WITHOUT: development
         | 
| 16 | 
            -
                      BUNDLE_JOBS: 4
         | 
| 17 | 
            -
                      BUNDLE_RETRY: 3
         | 
| 18 | 
            -
             | 
| 19 | 
            -
                  - name: Run rubocop
         | 
| 20 | 
            -
                    run: bundle exec rubocop --parallel --color
         | 
    
        data/.travis.yml
    DELETED
    
    | @@ -1,29 +0,0 @@ | |
| 1 | 
            -
            dist: bionic
         | 
| 2 | 
            -
            language: ruby
         | 
| 3 | 
            -
            cache: bundler
         | 
| 4 | 
            -
            rvm:
         | 
| 5 | 
            -
              - 2.7.0
         | 
| 6 | 
            -
              - 2.6.5
         | 
| 7 | 
            -
              - 2.5.7
         | 
| 8 | 
            -
            gemfile:
         | 
| 9 | 
            -
              - gemfiles/rails_42.gemfile
         | 
| 10 | 
            -
              - gemfiles/rails_50.gemfile
         | 
| 11 | 
            -
              - gemfiles/rails_51.gemfile
         | 
| 12 | 
            -
              - gemfiles/rails_52.gemfile
         | 
| 13 | 
            -
              - gemfiles/rails_60.gemfile
         | 
| 14 | 
            -
              - gemfiles/rails_master.gemfile
         | 
| 15 | 
            -
            before_install:
         | 
| 16 | 
            -
              - sudo apt-get install -qy rabbitmq-server
         | 
| 17 | 
            -
              - echo yes | rvm gemset delete global
         | 
| 18 | 
            -
              - gem install bundler --version '~> 1.0'
         | 
| 19 | 
            -
            script:
         | 
| 20 | 
            -
              - bundle exec rake spec:unit
         | 
| 21 | 
            -
              - bundle exec rake spec:integration
         | 
| 22 | 
            -
            jobs:
         | 
| 23 | 
            -
              allow_failures:
         | 
| 24 | 
            -
                - gemfile: gemfiles/rails_master.gemfile
         | 
| 25 | 
            -
              exclude:
         | 
| 26 | 
            -
                - rvm: 2.7.0
         | 
| 27 | 
            -
                  gemfile: gemfiles/rails_42.gemfile
         | 
| 28 | 
            -
                - rvm: 2.6.5
         | 
| 29 | 
            -
                  gemfile: gemfiles/rails_42.gemfile
         |