request_migrations 1.0.2 → 1.1.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/README.md +15 -0
- data/lib/request_migrations/gem.rb +1 -1
- data/lib/request_migrations/testing.rb +24 -0
- data/lib/request_migrations.rb +12 -0
- metadata +2 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: c2224934d0be51149ebf90a756ae9cfd9172ee83310609c9cfc94c49c4c75166
         | 
| 4 | 
            +
              data.tar.gz: 3de2f808de4c02d7de89ec9baae0b5d68cadab94d8118e13688a941de791d3cf
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 944f3e23fe55b3d9eb56cdf0491871bfecea72a5c9a57b15f8827152b7cf5a21ab0e0ac6c1f254a9afabe4fc980562b864e96a2868ec864a314d41876e1af987
         | 
| 7 | 
            +
              data.tar.gz: e3fa22992ac3aadcd34ce860310f6a496f4aa7f54179090863bcf993582e2c757fa07677862973b817edc2d209b289284e19ec040249c62011ad20ceb41ee0c6
         | 
    
        data/README.md
    CHANGED
    
    | @@ -405,6 +405,21 @@ describe CombineNamesForUserMigration do | |
| 405 405 | 
             
            end
         | 
| 406 406 | 
             
            ```
         | 
| 407 407 |  | 
| 408 | 
            +
            To avoid polluting the global configuration, you can use `RequestMigrations::Testing`
         | 
| 409 | 
            +
            within your application's `spec/rails_helper.rb` (or similar).
         | 
| 410 | 
            +
             | 
| 411 | 
            +
            ```ruby
         | 
| 412 | 
            +
            Rspec.configure do |config|
         | 
| 413 | 
            +
              config.before :each do
         | 
| 414 | 
            +
                RequestMigrations::Testing.setup!
         | 
| 415 | 
            +
              end
         | 
| 416 | 
            +
             | 
| 417 | 
            +
              config.after :each do
         | 
| 418 | 
            +
                RequestMigrations::Testing.teardown!
         | 
| 419 | 
            +
              end
         | 
| 420 | 
            +
            end
         | 
| 421 | 
            +
            ```
         | 
| 422 | 
            +
             | 
| 408 423 | 
             
            ## Tips and tricks
         | 
| 409 424 |  | 
| 410 425 | 
             
            Over the years, we're learned a thing or two about versioning an API. We'll share tips here.
         | 
| @@ -0,0 +1,24 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module RequestMigrations
         | 
| 4 | 
            +
              class Testing
         | 
| 5 | 
            +
                @@config = RequestMigrations::Configuration.new
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                ##
         | 
| 8 | 
            +
                # setup! stores the original config and replaces it with a clone for testing.
         | 
| 9 | 
            +
                def self.setup!
         | 
| 10 | 
            +
                  @@config = RequestMigrations.config
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                  RequestMigrations.reset!
         | 
| 13 | 
            +
                  RequestMigrations.configure do |config|
         | 
| 14 | 
            +
                    @@config.config.each { |(k, v)| config.config[k] = v }
         | 
| 15 | 
            +
                  end
         | 
| 16 | 
            +
                end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                ##
         | 
| 19 | 
            +
                # teardown! restores the original config.
         | 
| 20 | 
            +
                def self.teardown!
         | 
| 21 | 
            +
                  RequestMigrations.config = @@config
         | 
| 22 | 
            +
                end
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
            end
         | 
    
        data/lib/request_migrations.rb
    CHANGED
    
    | @@ -43,6 +43,18 @@ module RequestMigrations | |
| 43 43 | 
             
              # config returns the current config.
         | 
| 44 44 | 
             
              def self.config = @config ||= Configuration.new
         | 
| 45 45 |  | 
| 46 | 
            +
              ##
         | 
| 47 | 
            +
              # @private
         | 
| 48 | 
            +
              def self.config=(cfg)
         | 
| 49 | 
            +
                @config = cfg
         | 
| 50 | 
            +
              end
         | 
| 51 | 
            +
             | 
| 52 | 
            +
              ##
         | 
| 53 | 
            +
              # @private
         | 
| 54 | 
            +
              def self.reset!
         | 
| 55 | 
            +
                @config = RequestMigrations::Configuration.new
         | 
| 56 | 
            +
              end
         | 
| 57 | 
            +
             | 
| 46 58 | 
             
              ##
         | 
| 47 59 | 
             
              # logger returns the configured logger.
         | 
| 48 60 | 
             
              #
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: request_migrations
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.0 | 
| 4 | 
            +
              version: 1.1.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Zeke Gabrielse
         | 
| @@ -74,6 +74,7 @@ files: | |
| 74 74 | 
             
            - lib/request_migrations/migrator.rb
         | 
| 75 75 | 
             
            - lib/request_migrations/railtie.rb
         | 
| 76 76 | 
             
            - lib/request_migrations/router.rb
         | 
| 77 | 
            +
            - lib/request_migrations/testing.rb
         | 
| 77 78 | 
             
            - lib/request_migrations/version.rb
         | 
| 78 79 | 
             
            homepage: https://github.com/keygen-sh/request_migrations
         | 
| 79 80 | 
             
            licenses:
         |