spectus 2.0.1 → 2.0.2
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
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/Gemfile +0 -2
- data/VERSION.semver +1 -1
- data/lib/spectus.rb +6 -1
- data/lib/spectus/expectation_target.rb +1 -0
- data/lib/spectus/requirement.rb +29 -0
- data/lib/spectus/requirement_level/high.rb +2 -22
- data/lib/spectus/requirement_level/low.rb +6 -6
- data/lib/spectus/requirement_level/medium.rb +6 -6
- data/lib/spectus/sandbox.rb +2 -0
- metadata +21 -20
- metadata.gz.sig +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 0c3e542950b2210e49686b15023c8be3d160aa49
         | 
| 4 | 
            +
              data.tar.gz: b45fe15296e94a7ae911b126172183a9149758f5
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 8ac7132ac401af9effa9b7e2613492a5fa3f4892cfdd302d22d01c500b1c3c63c30ba7e2ee1e429c8acbfaa7d2f0572c3a62926d72f33e5b50d10c51b720a407
         | 
| 7 | 
            +
              data.tar.gz: 265522140ef91356450d32a5cf4fa16b0ffaedf9da7209ba7e66c1435e3248df0cf8ae7b56aa6676a42e653e47c2a39cc9308281a0bdd124f6f0c63f49a5b7f4
         | 
    
        checksums.yaml.gz.sig
    CHANGED
    
    | Binary file | 
    
        data.tar.gz.sig
    CHANGED
    
    | Binary file | 
    
        data/Gemfile
    CHANGED
    
    
    
        data/VERSION.semver
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            2.0. | 
| 1 | 
            +
            2.0.2
         | 
    
        data/lib/spectus.rb
    CHANGED
    
    | @@ -2,7 +2,10 @@ require_relative File.join 'spectus', 'expectation_target' | |
| 2 2 |  | 
| 3 3 | 
             
            # Namespace for the Spectus library.
         | 
| 4 4 | 
             
            #
         | 
| 5 | 
            -
            # @api  | 
| 5 | 
            +
            # @api public
         | 
| 6 | 
            +
            #
         | 
| 7 | 
            +
            # @example 42 MUST be equal to 42
         | 
| 8 | 
            +
            #   Spectus.this { 42 }.MUST equal: 42 # => true
         | 
| 6 9 | 
             
            module Spectus
         | 
| 7 10 | 
             
              # Expectations are built with this method.
         | 
| 8 11 | 
             
              #
         | 
| @@ -11,6 +14,8 @@ module Spectus | |
| 11 14 | 
             
              # @example Absolute requirement definition
         | 
| 12 15 | 
             
              #   this { 42 }.MUST equal: 42 # => true
         | 
| 13 16 | 
             
              #
         | 
| 17 | 
            +
              # @yieldparam input the code to test.
         | 
| 18 | 
            +
              #
         | 
| 14 19 | 
             
              # @return [ExpectationTarget] the expectation target.
         | 
| 15 20 | 
             
              def self.this(&input)
         | 
| 16 21 | 
             
                ExpectationTarget.new(&input)
         | 
| @@ -0,0 +1,29 @@ | |
| 1 | 
            +
            require_relative 'sandbox'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Spectus
         | 
| 4 | 
            +
              # Requirement level's base class.
         | 
| 5 | 
            +
              #
         | 
| 6 | 
            +
              # @api private
         | 
| 7 | 
            +
              #
         | 
| 8 | 
            +
              class Requirement < BasicObject
         | 
| 9 | 
            +
                # Initialize the requirement level class.
         | 
| 10 | 
            +
                #
         | 
| 11 | 
            +
                # @param [Hash] definition
         | 
| 12 | 
            +
                # @param [Boolean] negate
         | 
| 13 | 
            +
                def initialize(definition, negate = false)
         | 
| 14 | 
            +
                  @definition = definition
         | 
| 15 | 
            +
                  @negate     = negate
         | 
| 16 | 
            +
                end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                protected
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                # Run the actual block against the definition.
         | 
| 21 | 
            +
                #
         | 
| 22 | 
            +
                # @yieldparam actual the value which is compared with the expected value.
         | 
| 23 | 
            +
                #
         | 
| 24 | 
            +
                # @return [Boolean] report if the expectation is true or false.
         | 
| 25 | 
            +
                def sandbox(&actual)
         | 
| 26 | 
            +
                  Sandbox.new(@definition, &actual)
         | 
| 27 | 
            +
                end
         | 
| 28 | 
            +
              end
         | 
| 29 | 
            +
            end
         | 
| @@ -1,36 +1,16 @@ | |
| 1 | 
            -
            require_relative File.join '..', ' | 
| 1 | 
            +
            require_relative File.join '..', 'requirement'
         | 
| 2 2 |  | 
| 3 3 | 
             
            module Spectus
         | 
| 4 4 | 
             
              # Contains requirement levels.
         | 
| 5 | 
            -
              #
         | 
| 6 5 | 
             
              module RequirementLevel
         | 
| 7 6 | 
             
                # _High_ requirement level.
         | 
| 8 | 
            -
                 | 
| 9 | 
            -
                class High < BasicObject
         | 
| 10 | 
            -
                  # Initialize the requirement level class.
         | 
| 11 | 
            -
                  #
         | 
| 12 | 
            -
                  # @param [Hash] definition
         | 
| 13 | 
            -
                  # @param [Boolean] negate
         | 
| 14 | 
            -
                  def initialize(definition, negate = false)
         | 
| 15 | 
            -
                    @definition = definition
         | 
| 16 | 
            -
                    @negate     = negate
         | 
| 17 | 
            -
                  end
         | 
| 18 | 
            -
             | 
| 7 | 
            +
                class High < Requirement
         | 
| 19 8 | 
             
                  # Evaluate the expectation with the passed block.
         | 
| 20 9 | 
             
                  #
         | 
| 21 10 | 
             
                  # @return [Boolean] report if the expectation is true or false.
         | 
| 22 11 | 
             
                  def pass?(&actual)
         | 
| 23 12 | 
             
                    sandbox(&actual).pass?(@negate)
         | 
| 24 13 | 
             
                  end
         | 
| 25 | 
            -
             | 
| 26 | 
            -
                  protected
         | 
| 27 | 
            -
             | 
| 28 | 
            -
                  # Run the actual block against the definition.
         | 
| 29 | 
            -
                  #
         | 
| 30 | 
            -
                  # @return [Boolean] report if the expectation is true or false.
         | 
| 31 | 
            -
                  def sandbox(&actual)
         | 
| 32 | 
            -
                    Sandbox.new(@definition, &actual)
         | 
| 33 | 
            -
                  end
         | 
| 34 14 | 
             
                end
         | 
| 35 15 | 
             
              end
         | 
| 36 16 | 
             
            end
         | 
| @@ -1,20 +1,20 @@ | |
| 1 | 
            -
            require_relative ' | 
| 1 | 
            +
            require_relative File.join '..', 'requirement'
         | 
| 2 2 |  | 
| 3 3 | 
             
            module Spectus
         | 
| 4 4 | 
             
              # Contains requirement levels.
         | 
| 5 | 
            -
              #
         | 
| 6 5 | 
             
              module RequirementLevel
         | 
| 7 6 | 
             
                # _Low_ requirement level.
         | 
| 8 | 
            -
                 | 
| 9 | 
            -
                class Low < Medium
         | 
| 7 | 
            +
                class Low < Requirement
         | 
| 10 8 | 
             
                  # Evaluate the expectation with the passed block.
         | 
| 11 9 | 
             
                  #
         | 
| 12 10 | 
             
                  # @return [Boolean] report if the expectation is true or false.
         | 
| 13 11 | 
             
                  def pass?(&actual)
         | 
| 14 | 
            -
                     | 
| 12 | 
            +
                    result = sandbox(&actual)
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                    if result.exception.class.equal?(::NoMethodError)
         | 
| 15 15 | 
             
                      true
         | 
| 16 16 | 
             
                    else
         | 
| 17 | 
            -
                       | 
| 17 | 
            +
                      result.pass?(@negate)
         | 
| 18 18 | 
             
                    end
         | 
| 19 19 | 
             
                  end
         | 
| 20 20 | 
             
                end
         | 
| @@ -1,20 +1,20 @@ | |
| 1 | 
            -
            require_relative ' | 
| 1 | 
            +
            require_relative File.join '..', 'requirement'
         | 
| 2 2 |  | 
| 3 3 | 
             
            module Spectus
         | 
| 4 4 | 
             
              # Contains requirement levels.
         | 
| 5 | 
            -
              #
         | 
| 6 5 | 
             
              module RequirementLevel
         | 
| 7 6 | 
             
                # _Medium_ requirement level.
         | 
| 8 | 
            -
                 | 
| 9 | 
            -
                class Medium < High
         | 
| 7 | 
            +
                class Medium < Requirement
         | 
| 10 8 | 
             
                  # Evaluate the expectation with the passed block.
         | 
| 11 9 | 
             
                  #
         | 
| 12 10 | 
             
                  # @return [Boolean] report if the expectation is true or false.
         | 
| 13 11 | 
             
                  def pass?(&actual)
         | 
| 14 | 
            -
                     | 
| 12 | 
            +
                    result = sandbox(&actual)
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                    if result.pass?(@negate)
         | 
| 15 15 | 
             
                      true
         | 
| 16 16 | 
             
                    else
         | 
| 17 | 
            -
                       | 
| 17 | 
            +
                      result.exception.nil?
         | 
| 18 18 | 
             
                    end
         | 
| 19 19 | 
             
                  end
         | 
| 20 20 | 
             
                end
         | 
    
        data/lib/spectus/sandbox.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: spectus
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2.0. | 
| 4 | 
            +
              version: 2.0.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Cyril Wack
         | 
| @@ -30,88 +30,88 @@ cert_chain: | |
| 30 30 | 
             
              zeYBFLJQAl0AQPaGujsG5tssIabiNy1ryydKAjWkNDxqLgvtwST3L0Qr9UQFQgoA
         | 
| 31 31 | 
             
              O2Rl8PjSD+2P9XE7T2x1xQ==
         | 
| 32 32 | 
             
              -----END CERTIFICATE-----
         | 
| 33 | 
            -
            date: 2015-02- | 
| 33 | 
            +
            date: 2015-02-19 00:00:00.000000000 Z
         | 
| 34 34 | 
             
            dependencies:
         | 
| 35 35 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 36 | 
            -
              type: :runtime
         | 
| 37 36 | 
             
              name: expect
         | 
| 38 | 
            -
               | 
| 37 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 39 38 | 
             
                requirements:
         | 
| 40 39 | 
             
                - - "~>"
         | 
| 41 40 | 
             
                  - !ruby/object:Gem::Version
         | 
| 42 41 | 
             
                    version: 0.0.4
         | 
| 42 | 
            +
              type: :runtime
         | 
| 43 43 | 
             
              prerelease: false
         | 
| 44 | 
            -
               | 
| 44 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 45 45 | 
             
                requirements:
         | 
| 46 46 | 
             
                - - "~>"
         | 
| 47 47 | 
             
                  - !ruby/object:Gem::Version
         | 
| 48 48 | 
             
                    version: 0.0.4
         | 
| 49 49 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 50 | 
            -
              type: :development
         | 
| 51 50 | 
             
              name: bundler
         | 
| 52 | 
            -
               | 
| 51 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 53 52 | 
             
                requirements:
         | 
| 54 53 | 
             
                - - "~>"
         | 
| 55 54 | 
             
                  - !ruby/object:Gem::Version
         | 
| 56 55 | 
             
                    version: '1.8'
         | 
| 56 | 
            +
              type: :development
         | 
| 57 57 | 
             
              prerelease: false
         | 
| 58 | 
            -
               | 
| 58 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 59 59 | 
             
                requirements:
         | 
| 60 60 | 
             
                - - "~>"
         | 
| 61 61 | 
             
                  - !ruby/object:Gem::Version
         | 
| 62 62 | 
             
                    version: '1.8'
         | 
| 63 63 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 64 | 
            -
              type: :development
         | 
| 65 64 | 
             
              name: rake
         | 
| 66 | 
            -
               | 
| 65 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 67 66 | 
             
                requirements:
         | 
| 68 67 | 
             
                - - "~>"
         | 
| 69 68 | 
             
                  - !ruby/object:Gem::Version
         | 
| 70 69 | 
             
                    version: '10.0'
         | 
| 70 | 
            +
              type: :development
         | 
| 71 71 | 
             
              prerelease: false
         | 
| 72 | 
            -
               | 
| 72 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 73 73 | 
             
                requirements:
         | 
| 74 74 | 
             
                - - "~>"
         | 
| 75 75 | 
             
                  - !ruby/object:Gem::Version
         | 
| 76 76 | 
             
                    version: '10.0'
         | 
| 77 77 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 78 | 
            -
              type: :development
         | 
| 79 78 | 
             
              name: yard
         | 
| 80 | 
            -
               | 
| 79 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 81 80 | 
             
                requirements:
         | 
| 82 81 | 
             
                - - "~>"
         | 
| 83 82 | 
             
                  - !ruby/object:Gem::Version
         | 
| 84 83 | 
             
                    version: '0.8'
         | 
| 84 | 
            +
              type: :development
         | 
| 85 85 | 
             
              prerelease: false
         | 
| 86 | 
            -
               | 
| 86 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 87 87 | 
             
                requirements:
         | 
| 88 88 | 
             
                - - "~>"
         | 
| 89 89 | 
             
                  - !ruby/object:Gem::Version
         | 
| 90 90 | 
             
                    version: '0.8'
         | 
| 91 91 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 92 | 
            -
              type: :development
         | 
| 93 92 | 
             
              name: simplecov
         | 
| 94 | 
            -
               | 
| 93 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 95 94 | 
             
                requirements:
         | 
| 96 95 | 
             
                - - "~>"
         | 
| 97 96 | 
             
                  - !ruby/object:Gem::Version
         | 
| 98 97 | 
             
                    version: 0.9.1
         | 
| 98 | 
            +
              type: :development
         | 
| 99 99 | 
             
              prerelease: false
         | 
| 100 | 
            -
               | 
| 100 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 101 101 | 
             
                requirements:
         | 
| 102 102 | 
             
                - - "~>"
         | 
| 103 103 | 
             
                  - !ruby/object:Gem::Version
         | 
| 104 104 | 
             
                    version: 0.9.1
         | 
| 105 105 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 106 | 
            -
              type: :development
         | 
| 107 106 | 
             
              name: rubocop
         | 
| 108 | 
            -
               | 
| 107 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 109 108 | 
             
                requirements:
         | 
| 110 109 | 
             
                - - "~>"
         | 
| 111 110 | 
             
                  - !ruby/object:Gem::Version
         | 
| 112 111 | 
             
                    version: '0.29'
         | 
| 112 | 
            +
              type: :development
         | 
| 113 113 | 
             
              prerelease: false
         | 
| 114 | 
            -
               | 
| 114 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 115 115 | 
             
                requirements:
         | 
| 116 116 | 
             
                - - "~>"
         | 
| 117 117 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -137,6 +137,7 @@ files: | |
| 137 137 | 
             
            - bin/setup
         | 
| 138 138 | 
             
            - lib/spectus.rb
         | 
| 139 139 | 
             
            - lib/spectus/expectation_target.rb
         | 
| 140 | 
            +
            - lib/spectus/requirement.rb
         | 
| 140 141 | 
             
            - lib/spectus/requirement_level/high.rb
         | 
| 141 142 | 
             
            - lib/spectus/requirement_level/low.rb
         | 
| 142 143 | 
             
            - lib/spectus/requirement_level/medium.rb
         | 
    
        metadata.gz.sig
    CHANGED
    
    | @@ -1,2 +1,2 @@ | |
| 1 | 
            -
             | 
| 2 | 
            -
             | 
| 1 | 
            +
            !�w��1)��;A�?�҇�ƍ{ַE��5?LK~�_CC�{α�����3:�VZݽQ��}J!н����
         | 
| 2 | 
            +
            ��8�7��l'T�p�f�,�G�m���qK�������1u4xsS��R�D�MG��w�
         |