dry-behaviour 0.5.2 → 0.6.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 +4 -0
- data/bin/benchmark +4 -0
- data/dry-behaviour.gemspec +1 -0
- data/lib/dry/behaviour/black_tie.rb +2 -1
- data/lib/dry/behaviour/cerberus.rb +17 -7
- data/lib/dry/behaviour/version.rb +1 -1
- metadata +17 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 01a2f3844b89e2b41e719f309945c2c66d7717ff
         | 
| 4 | 
            +
              data.tar.gz: 6497f54746f681a0b0a281a8c0404b7b55bb8fad
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 22ebe373dd9ec2b4b30babcd3c8f3130f5ae9f229a8f152ffe9eaaf4291cc0cd7ec2f2d1850ed1c8e89b4a956765244330ad992df8039320abb114049118be75
         | 
| 7 | 
            +
              data.tar.gz: 4ddc32d58f0f52ca11496945df99342d1238b1e78636d5d5668d44ed56a225e37e96fa22cbbd236b25d3d4ec8ca4a71f7a44e7924cdb9af32d2982896cf7b9dd
         | 
    
        data/README.md
    CHANGED
    
    
    
        data/bin/benchmark
    ADDED
    
    
    
        data/dry-behaviour.gemspec
    CHANGED
    
    | @@ -28,6 +28,7 @@ Gem::Specification.new do |spec| | |
| 28 28 | 
             
              spec.add_development_dependency 'bundler', '~> 1.10'
         | 
| 29 29 | 
             
              spec.add_development_dependency 'awesome_print', '~> 1.7'
         | 
| 30 30 | 
             
              spec.add_development_dependency 'rake', '~> 10.0'
         | 
| 31 | 
            +
              spec.add_development_dependency 'benchmark-ips', '~> 2.7'
         | 
| 31 32 | 
             
              spec.add_development_dependency 'rspec'
         | 
| 32 33 | 
             
              spec.add_development_dependency 'pry'
         | 
| 33 34 | 
             
            end
         | 
| @@ -82,6 +82,10 @@ module Dry | |
| 82 82 | 
             
                    end
         | 
| 83 83 | 
             
                  end
         | 
| 84 84 |  | 
| 85 | 
            +
                  # rubocop:disable Metrics/MethodLength
         | 
| 86 | 
            +
                  # rubocop:disable Metrics/CyclomaticComplexity
         | 
| 87 | 
            +
                  # rubocop:disable Metrics/PerceivedComplexity
         | 
| 88 | 
            +
                  # rubocop:disable Style/AsciiComments
         | 
| 85 89 | 
             
                  def umbrella(guarded, name, clauses)
         | 
| 86 90 | 
             
                    guarded.prepend(Module.new do
         | 
| 87 91 | 
             
                      define_method name do |*args, **params, &cb|
         | 
| @@ -93,14 +97,16 @@ module Dry | |
| 93 97 | 
             
                                                    end
         | 
| 94 98 | 
             
                          next if hash.nil?
         | 
| 95 99 | 
             
                          hash.all? do |param, condition|
         | 
| 96 | 
            -
                            type_var, idx = m.parameters.each_with_index.detect { |(_type, var),  | 
| 100 | 
            +
                            type_var, idx = m.parameters.each_with_index.detect { |(_type, var), _i| var == param }
         | 
| 97 101 | 
             
                            # rubocop:disable Style/CaseEquality
         | 
| 98 | 
            -
                             | 
| 99 | 
            -
             | 
| 100 | 
            -
             | 
| 101 | 
            -
             | 
| 102 | 
            -
             | 
| 103 | 
            -
             | 
| 102 | 
            +
                            idx && begin
         | 
| 103 | 
            +
                                     case type_var.first
         | 
| 104 | 
            +
                                     when :req, :opt then condition === args[idx]
         | 
| 105 | 
            +
                                     when :block then condition === cb
         | 
| 106 | 
            +
                                     end
         | 
| 107 | 
            +
                                   rescue => _e
         | 
| 108 | 
            +
                                     false # we don’t care
         | 
| 109 | 
            +
                                   end
         | 
| 104 110 | 
             
                            # rubocop:enable Style/CaseEquality
         | 
| 105 111 | 
             
                          end
         | 
| 106 112 | 
             
                        end
         | 
| @@ -109,6 +115,10 @@ module Dry | |
| 109 115 | 
             
                      end
         | 
| 110 116 | 
             
                    end)
         | 
| 111 117 | 
             
                  end
         | 
| 118 | 
            +
                  # rubocop:enable Style/AsciiComments
         | 
| 119 | 
            +
                  # rubocop:enable Metrics/PerceivedComplexity
         | 
| 120 | 
            +
                  # rubocop:enable Metrics/CyclomaticComplexity
         | 
| 121 | 
            +
                  # rubocop:enable Metrics/MethodLength
         | 
| 112 122 | 
             
                end
         | 
| 113 123 | 
             
                private_constant :H
         | 
| 114 124 | 
             
              end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: dry-behaviour
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.6.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Aleksei Matiushkin
         | 
| @@ -10,7 +10,7 @@ authors: | |
| 10 10 | 
             
            autorequire: 
         | 
| 11 11 | 
             
            bindir: bin
         | 
| 12 12 | 
             
            cert_chain: []
         | 
| 13 | 
            -
            date:  | 
| 13 | 
            +
            date: 2018-02-02 00:00:00.000000000 Z
         | 
| 14 14 | 
             
            dependencies:
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 16 16 | 
             
              name: bundler
         | 
| @@ -54,6 +54,20 @@ dependencies: | |
| 54 54 | 
             
                - - "~>"
         | 
| 55 55 | 
             
                  - !ruby/object:Gem::Version
         | 
| 56 56 | 
             
                    version: '10.0'
         | 
| 57 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 58 | 
            +
              name: benchmark-ips
         | 
| 59 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 60 | 
            +
                requirements:
         | 
| 61 | 
            +
                - - "~>"
         | 
| 62 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 63 | 
            +
                    version: '2.7'
         | 
| 64 | 
            +
              type: :development
         | 
| 65 | 
            +
              prerelease: false
         | 
| 66 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 67 | 
            +
                requirements:
         | 
| 68 | 
            +
                - - "~>"
         | 
| 69 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 70 | 
            +
                    version: '2.7'
         | 
| 57 71 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 58 72 | 
             
              name: rspec
         | 
| 59 73 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -101,6 +115,7 @@ files: | |
| 101 115 | 
             
            - LICENSE.txt
         | 
| 102 116 | 
             
            - README.md
         | 
| 103 117 | 
             
            - Rakefile
         | 
| 118 | 
            +
            - bin/benchmark
         | 
| 104 119 | 
             
            - bin/console
         | 
| 105 120 | 
             
            - bin/setup
         | 
| 106 121 | 
             
            - dry-behaviour.gemspec
         |