contract 0.0.1 → 0.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 +10 -4
- data/contract.gemspec +1 -1
- data/lib/contract.rb +4 -11
- data/test/contract_test.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 267358ed190de5d88ffe6e114b467457eec61421
         | 
| 4 | 
            +
              data.tar.gz: 851035b76cbfd2cece932f13815fe05d54d9f2fe
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: f8a3aca5c6c1f9d791ec300139213529680b92d88c8c298e6f6ae56962dbb3a16327ee256fdc91161930d5603e9cc0f65b5b202665f957993633009645faf45c
         | 
| 7 | 
            +
              data.tar.gz: 665bf07e4bb4432516d1b3a17361234c47e7d2618b5f110486725dcee3f5c0aa017c1dc23564b8bec2ab407c3651d895522fe056f7a39b11574fc6a2f4c9512f
         | 
    
        data/README.md
    CHANGED
    
    | @@ -11,7 +11,7 @@ The functions of a contract can be used directly from the | |
| 11 11 | 
             
            ``` ruby
         | 
| 12 12 | 
             
            class Foo
         | 
| 13 13 | 
             
              def foo(a, b)
         | 
| 14 | 
            -
                Contract. | 
| 14 | 
            +
                Contract.contract do
         | 
| 15 15 | 
             
                  Contract.verify(Numeric === a)
         | 
| 16 16 | 
             
                  Contract.verify(Numeric === b)
         | 
| 17 17 |  | 
| @@ -19,8 +19,14 @@ class Foo | |
| 19 19 | 
             
                end
         | 
| 20 20 | 
             
              end
         | 
| 21 21 | 
             
            end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            assert_equal 6,     Foo.new.foo(2, 3)
         | 
| 24 | 
            +
            assert_equal false, Foo.new.foo(2, "3")
         | 
| 22 25 | 
             
            ```
         | 
| 23 26 |  | 
| 27 | 
            +
            When the `Contract` module is included, the methods `contract` and
         | 
| 28 | 
            +
            `verify` become available.
         | 
| 29 | 
            +
             | 
| 24 30 | 
             
            ``` ruby
         | 
| 25 31 | 
             
            class Bar
         | 
| 26 32 | 
             
              include Contract
         | 
| @@ -34,10 +40,10 @@ class Bar | |
| 34 40 | 
             
                end
         | 
| 35 41 | 
             
              end
         | 
| 36 42 | 
             
            end
         | 
| 37 | 
            -
            ```
         | 
| 38 43 |  | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 44 | 
            +
            assert_equal 6,     Bar.new.bar(2, 3)
         | 
| 45 | 
            +
            assert_equal false, Bar.new.bar(2, "3")
         | 
| 46 | 
            +
            ```
         | 
| 41 47 |  | 
| 42 48 | 
             
            ## Installation
         | 
| 43 49 |  | 
    
        data/contract.gemspec
    CHANGED
    
    
    
        data/lib/contract.rb
    CHANGED
    
    | @@ -6,24 +6,17 @@ module Contract | |
| 6 6 |  | 
| 7 7 | 
             
              # Returns the value of the block
         | 
| 8 8 | 
             
              # if all verifications pass
         | 
| 9 | 
            -
              def  | 
| 9 | 
            +
              def contract
         | 
| 10 10 | 
             
                catch(:contract) do
         | 
| 11 11 | 
             
                  yield
         | 
| 12 12 | 
             
                end
         | 
| 13 13 | 
             
              end
         | 
| 14 14 |  | 
| 15 15 | 
             
              # Fails unless value is true
         | 
| 16 | 
            -
              def  | 
| 16 | 
            +
              def verify(value)
         | 
| 17 17 | 
             
                value || throw(:contract, false)
         | 
| 18 18 | 
             
              end
         | 
| 19 19 |  | 
| 20 | 
            -
               | 
| 21 | 
            -
               | 
| 22 | 
            -
                Contract.define(&block)
         | 
| 23 | 
            -
              end
         | 
| 24 | 
            -
             | 
| 25 | 
            -
              # Shorthand for Contract.verify
         | 
| 26 | 
            -
              def verify(value)
         | 
| 27 | 
            -
                Contract.verify(value)
         | 
| 28 | 
            -
              end
         | 
| 20 | 
            +
              module_function :contract
         | 
| 21 | 
            +
              module_function :verify
         | 
| 29 22 | 
             
            end
         | 
    
        data/test/contract_test.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: contract
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0 | 
| 4 | 
            +
              version: 0.1.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Michel Martens
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014-07- | 
| 11 | 
            +
            date: 2014-07-10 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: cutest
         |