shape_of 0.2.0 → 0.2.1
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/lib/shape_of.rb +6 -18
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: cf335e236284c12e251182de9ed6d299a732e9a9c08802702da1982e74c07a05
         | 
| 4 | 
            +
              data.tar.gz: 417d9223a3a039c70205dcff26d23844a5067e2ffe2dad1b38f3d84644399123
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: bb681e7c250d0ef0f81c66ebbf126cc1f7f13fef4dce314364686fa6301181009a0e8e961a6ea23e724aea6737bcde9643a096e168379a43825e953050fe97b1
         | 
| 7 | 
            +
              data.tar.gz: a46c0b1712c6003c75edf9a5641fc03f1a64672b0b6e2882cfaa996a8b3a0609306b53a0184d6cb2924132cc4ca94f55b0adf2fc4413822224568518c1eeca30
         | 
    
        data/lib/shape_of.rb
    CHANGED
    
    | @@ -161,7 +161,7 @@ module ShapeOf | |
| 161 161 | 
             
                        if @shape.respond_to? :shape_of?
         | 
| 162 162 | 
             
                          @shape.shape_of? elem
         | 
| 163 163 | 
             
                        elsif @shape.is_a? ::Array
         | 
| 164 | 
            -
                          Array[@shape].shape_of? elem
         | 
| 164 | 
            +
                          Array[@shape.first].shape_of? elem
         | 
| 165 165 | 
             
                        elsif @shape.is_a? ::Hash
         | 
| 166 166 | 
             
                          Hash[@shape].shape_of? elem
         | 
| 167 167 | 
             
                        elsif @shape.is_a? Class
         | 
| @@ -222,7 +222,7 @@ module ShapeOf | |
| 222 222 | 
             
                        if @shape[key].respond_to? :shape_of?
         | 
| 223 223 | 
             
                          @shape[key].shape_of? elem
         | 
| 224 224 | 
             
                        elsif @shape[key].is_a? ::Array
         | 
| 225 | 
            -
                          Array[@shape[key]].shape_of? elem
         | 
| 225 | 
            +
                          Array[@shape[key].first].shape_of? elem
         | 
| 226 226 | 
             
                        elsif @shape[key].is_a? ::Hash
         | 
| 227 227 | 
             
                          Hash[@shape[key]].shape_of? elem
         | 
| 228 228 | 
             
                        elsif @shape[key].is_a? Class
         | 
| @@ -316,15 +316,9 @@ module ShapeOf | |
| 316 316 | 
             
                end
         | 
| 317 317 | 
             
              end
         | 
| 318 318 |  | 
| 319 | 
            -
              class  | 
| 320 | 
            -
                @internal_class = ::Regexp 
         | 
| 321 | 
            -
             | 
| 322 | 
            -
                def self.shape_of?(object)
         | 
| 323 | 
            -
                  object.instance_of? @internal_class
         | 
| 324 | 
            -
                end
         | 
| 325 | 
            -
             | 
| 319 | 
            +
              class Pattern < Shape
         | 
| 326 320 | 
             
                def self.[](shape)
         | 
| 327 | 
            -
                  raise TypeError, "Shape must be #{ | 
| 321 | 
            +
                  raise TypeError, "Shape must be #{Regexp.inspect}, was #{shape.inspect}" unless shape.instance_of? Regexp
         | 
| 328 322 |  | 
| 329 323 | 
             
                  Class.new(self) do
         | 
| 330 324 | 
             
                    @class_name = "#{superclass.name}[#{shape.inspect}]"
         | 
| @@ -343,15 +337,9 @@ module ShapeOf | |
| 343 337 | 
             
                    end
         | 
| 344 338 |  | 
| 345 339 | 
             
                    def self.shape_of?(object)
         | 
| 346 | 
            -
                       | 
| 347 | 
            -
                        raise TypeError, "expected #{::Regexp.inspect} or #{String.inspect}, was instead #{object.inspect}"
         | 
| 348 | 
            -
                      end
         | 
| 340 | 
            +
                      raise TypeError, "expected #{String.inspect}, was instead #{object.inspect}" unless object.instance_of?(String)
         | 
| 349 341 |  | 
| 350 | 
            -
                       | 
| 351 | 
            -
                        @shape == object
         | 
| 352 | 
            -
                      else # string
         | 
| 353 | 
            -
                        @shape.match?(object)
         | 
| 354 | 
            -
                      end
         | 
| 342 | 
            +
                      @shape.match?(object)
         | 
| 355 343 | 
             
                    end
         | 
| 356 344 | 
             
                  end
         | 
| 357 345 | 
             
                end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: shape_of
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.2. | 
| 4 | 
            +
              version: 0.2.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - John Isom
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2021-05- | 
| 11 | 
            +
            date: 2021-05-20 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: minitest
         |