r_spec 0.3.0 → 1.0.0.beta2
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 +5 -5
 - data/LICENSE.md +1 -1
 - data/README.md +67 -84
 - data/lib/r_spec.rb +16 -21
 - data/lib/r_spec/dsl.rb +114 -0
 - data/lib/r_spec/expectation_target.rb +93 -0
 - data/lib/r_spec/log.rb +24 -0
 - data/lib/r_spec/pending.rb +24 -0
 - data/lib/r_spec/test.rb +7 -0
 - metadata +83 -103
 - checksums.yaml.gz.sig +0 -1
 - data.tar.gz.sig +0 -2
 - data/.gitignore +0 -11
 - data/.travis.yml +0 -27
 - data/.yardopts +0 -1
 - data/CODE_OF_CONDUCT.md +0 -13
 - data/Gemfile +0 -3
 - data/Rakefile +0 -20
 - data/VERSION.semver +0 -1
 - data/bin/console +0 -7
 - data/bin/setup +0 -5
 - data/certs/gem-cyril-public_cert.pem +0 -21
 - data/checksum/r_spec-0.1.0.gem.sha512 +0 -1
 - data/checksum/r_spec-0.1.1.gem.sha512 +0 -1
 - data/checksum/r_spec-0.2.0.gem.sha512 +0 -1
 - data/lib/fix/it.rb +0 -10
 - data/lib/fix/on.rb +0 -43
 - data/pkg_checksum +0 -11
 - data/r_spec.gemspec +0 -32
 - metadata.gz.sig +0 -1
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 2 
     | 
    
         
            +
            SHA256:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: d95780dc86d2b0c2295f22fe18ed889298716d8a817ba4a74fbd1c9c1ec71c03
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: a954787c7ad5a50c1d3a49d5b1be21515dc0cad0ecd5f7fa618ee736014add2f
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 338b22198f2f09e9ae3a36184027f23f728ebdc7b691e0ef3f05d111bf3d753c829d21388dba52fdc8be0e8ba452deea5cc08d38c848e932d67fb1e448769600
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 6601841bac1ed4603c327539fc5b123b9990cfa483b42504ed18dc8680d9c304636dbff10a05ebdc6f76de6d11ac3190b9ad77453aaeb978f853360f9330e04e
         
     | 
    
        data/LICENSE.md
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | 
         @@ -1,132 +1,115 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #  
     | 
| 
      
 1 
     | 
    
         
            +
            # RSpec clone
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            [ 
     | 
| 
       4 
     | 
    
         
            -
            [][gem]
         
     | 
| 
       5 
     | 
    
         
            -
            [][inchpages]
         
     | 
| 
       6 
     | 
    
         
            -
            [][rubydoc]
         
     | 
| 
      
 3 
     | 
    
         
            +
            A minimalist [RSpec](https://github.com/rspec/rspec) clone with an emphasis on correctness and simplicity.
         
     | 
| 
       7 
4 
     | 
    
         | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
      
 5 
     | 
    
         
            +
            
         
     | 
| 
       9 
6 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
      
 7 
     | 
    
         
            +
            ## Status
         
     | 
| 
       11 
8 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
      
 9 
     | 
    
         
            +
            [](https://badge.fury.io/rb/r_spec)
         
     | 
| 
      
 10 
     | 
    
         
            +
            [](https://travis-ci.org/cyril/r_spec.rb)
         
     | 
| 
      
 11 
     | 
    
         
            +
            [](https://inch-ci.org/github/cyril/r_spec.rb)
         
     | 
| 
       13 
12 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
      
 13 
     | 
    
         
            +
            ## Goal
         
     | 
| 
       15 
14 
     | 
    
         | 
| 
       16 
     | 
    
         
            -
            This  
     | 
| 
      
 15 
     | 
    
         
            +
            This clone attempts to provide most of RSpec's DSL without magic power, so that its code could reasonably become less complex than the code of your application.
         
     | 
| 
       17 
16 
     | 
    
         | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
      
 17 
     | 
    
         
            +
            ## Some differences
         
     | 
| 
       19 
18 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
      
 19 
     | 
    
         
            +
            * Less features and an implementation with much less code complexity.
         
     | 
| 
      
 20 
     | 
    
         
            +
            * Spec files can also be executed directly with the `ruby` executable.
         
     | 
| 
      
 21 
     | 
    
         
            +
            * There is no option to activate monkey-patching.
         
     | 
| 
      
 22 
     | 
    
         
            +
            * Does not rely on hacks such as `at_exit` hook to trigger the tests.
         
     | 
| 
      
 23 
     | 
    
         
            +
            * Built-in matchers do not trust _actual_ and do not send it any message.
         
     | 
| 
      
 24 
     | 
    
         
            +
            * The subject must be explicitly defined, otherwise it is not implemented.
         
     | 
| 
       21 
25 
     | 
    
         | 
| 
       22 
     | 
    
         
            -
            ##  
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
            * Home page: https://github.com/cyril/r_spec
         
     | 
| 
       25 
     | 
    
         
            -
            * Bugs/issues: https://github.com/cyril/r_spec/issues
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
            ## Rubies
         
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
            * [MRI](https://www.ruby-lang.org/)
         
     | 
| 
       30 
     | 
    
         
            -
            * [Rubinius](http://rubini.us/)
         
     | 
| 
       31 
     | 
    
         
            -
            * [JRuby](http://jruby.org/)
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
            ## Terminal sessions
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
            A comparison between the behavior of a small fix-based script (which became the `r_spec` gem) and `rspec`.
         
     | 
| 
      
 26 
     | 
    
         
            +
            ## Important ⚠️
         
     | 
| 
       36 
27 
     | 
    
         | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
      
 28 
     | 
    
         
            +
            To avoid confusion in the community, please note that:
         
     | 
| 
       38 
29 
     | 
    
         | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
      
 30 
     | 
    
         
            +
            - the gem of this project is **not [`rspec`](https://rubygems.org/gems/rspec)**,
         
     | 
| 
      
 31 
     | 
    
         
            +
            it is **[`r_spec`](https://rubygems.org/gems/r_spec)**;
         
     | 
| 
      
 32 
     | 
    
         
            +
            - this project is totally independent of [rspec.info](https://rspec.info/).
         
     | 
| 
       40 
33 
     | 
    
         | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
      
 34 
     | 
    
         
            +
            ### Note
         
     | 
| 
       42 
35 
     | 
    
         | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
            Although fun, this _feature_ can be fixed pretty easily...
         
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
            [](https://asciinema.org/a/29172)
         
     | 
| 
      
 36 
     | 
    
         
            +
            Following [RubyGems naming conventions](https://guides.rubygems.org/name-your-gem/#use-underscores-for-multiple-words), the module name for this project is `RSpec`.
         
     | 
| 
       48 
37 
     | 
    
         | 
| 
       49 
38 
     | 
    
         
             
            ## Installation
         
     | 
| 
       50 
39 
     | 
    
         | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
       52 
     | 
    
         
            -
             
     | 
| 
       53 
     | 
    
         
            -
            To be sure the gem you install hasn't been tampered with, add my public key (if you haven't already) as a trusted certificate:
         
     | 
| 
       54 
     | 
    
         
            -
             
     | 
| 
       55 
     | 
    
         
            -
                $ gem cert --add <(curl -Ls https://raw.github.com/cyril/r_spec/master/certs/gem-cyril-public_cert.pem)
         
     | 
| 
       56 
     | 
    
         
            -
                $ gem install r_spec -P HighSecurity
         
     | 
| 
       57 
     | 
    
         
            -
             
     | 
| 
       58 
     | 
    
         
            -
            The `HighSecurity` trust profile will verify all gems.  All of __R Spec__'s dependencies are signed.
         
     | 
| 
       59 
     | 
    
         
            -
             
     | 
| 
       60 
     | 
    
         
            -
            Or add this line to your application's Gemfile:
         
     | 
| 
      
 40 
     | 
    
         
            +
            Add this line to your application's Gemfile:
         
     | 
| 
       61 
41 
     | 
    
         | 
| 
       62 
42 
     | 
    
         
             
            ```ruby
         
     | 
| 
       63 
     | 
    
         
            -
            gem  
     | 
| 
      
 43 
     | 
    
         
            +
            gem "r_spec", ">= 1.0.0.beta2"
         
     | 
| 
       64 
44 
     | 
    
         
             
            ```
         
     | 
| 
       65 
45 
     | 
    
         | 
| 
       66 
46 
     | 
    
         
             
            And then execute:
         
     | 
| 
       67 
47 
     | 
    
         | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
      
 48 
     | 
    
         
            +
            ```sh
         
     | 
| 
      
 49 
     | 
    
         
            +
            bundle
         
     | 
| 
      
 50 
     | 
    
         
            +
            ```
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
            Or install it yourself as:
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
            ```sh
         
     | 
| 
      
 55 
     | 
    
         
            +
            gem install r_spec --pre
         
     | 
| 
      
 56 
     | 
    
         
            +
            ```
         
     | 
| 
       69 
57 
     | 
    
         | 
| 
       70 
58 
     | 
    
         
             
            ## Usage
         
     | 
| 
       71 
59 
     | 
    
         | 
| 
       72 
     | 
    
         
            -
             
     | 
| 
      
 60 
     | 
    
         
            +
            Let's test an array:
         
     | 
| 
       73 
61 
     | 
    
         | 
| 
       74 
62 
     | 
    
         
             
            ```ruby
         
     | 
| 
       75 
     | 
    
         
            -
             
     | 
| 
      
 63 
     | 
    
         
            +
            # array_spec.rb
         
     | 
| 
       76 
64 
     | 
    
         | 
| 
       77 
     | 
    
         
            -
             
     | 
| 
      
 65 
     | 
    
         
            +
            require "r_spec"
         
     | 
| 
       78 
66 
     | 
    
         | 
| 
       79 
     | 
    
         
            -
            RSpec.describe  
     | 
| 
       80 
     | 
    
         
            -
               
     | 
| 
       81 
     | 
    
         
            -
                 
     | 
| 
       82 
     | 
    
         
            -
                it { expect(greeting).to eql 'Hello, Alice!' }
         
     | 
| 
      
 67 
     | 
    
         
            +
            RSpec.describe Array do
         
     | 
| 
      
 68 
     | 
    
         
            +
              before do
         
     | 
| 
      
 69 
     | 
    
         
            +
                @elements = described_class.new
         
     | 
| 
       83 
70 
     | 
    
         
             
              end
         
     | 
| 
       84 
71 
     | 
    
         | 
| 
       85 
     | 
    
         
            -
               
     | 
| 
       86 
     | 
    
         
            -
                 
     | 
| 
       87 
     | 
    
         
            -
             
     | 
| 
      
 72 
     | 
    
         
            +
              describe "#count" do
         
     | 
| 
      
 73 
     | 
    
         
            +
                subject do
         
     | 
| 
      
 74 
     | 
    
         
            +
                  @elements.count
         
     | 
| 
      
 75 
     | 
    
         
            +
                end
         
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
      
 77 
     | 
    
         
            +
                it { is_expected.to be 0 }
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
                context "when a new element is added" do
         
     | 
| 
      
 80 
     | 
    
         
            +
                  before do
         
     | 
| 
      
 81 
     | 
    
         
            +
                    @elements << 1
         
     | 
| 
      
 82 
     | 
    
         
            +
                  end
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
                  it { is_expected.to be 1 }
         
     | 
| 
      
 85 
     | 
    
         
            +
                end
         
     | 
| 
       88 
86 
     | 
    
         
             
              end
         
     | 
| 
       89 
87 
     | 
    
         
             
            end
         
     | 
| 
       90 
88 
     | 
    
         
             
            ```
         
     | 
| 
       91 
89 
     | 
    
         | 
| 
       92 
90 
     | 
    
         
             
            It can be tested in the console with the command:
         
     | 
| 
       93 
91 
     | 
    
         | 
| 
       94 
     | 
    
         
            -
             
     | 
| 
       95 
     | 
    
         
            -
             
     | 
| 
      
 92 
     | 
    
         
            +
            ```sh
         
     | 
| 
      
 93 
     | 
    
         
            +
            ruby array_spec.rb
         
     | 
| 
      
 94 
     | 
    
         
            +
            ```
         
     | 
| 
       96 
95 
     | 
    
         | 
| 
       97 
     | 
    
         
            -
                 
     | 
| 
       98 
     | 
    
         
            -
                 
     | 
| 
      
 96 
     | 
    
         
            +
                array_spec.rb:15 Success: expected to be 0.
         
     | 
| 
      
 97 
     | 
    
         
            +
                array_spec.rb:22 Success: expected to be 1.
         
     | 
| 
       99 
98 
     | 
    
         | 
| 
       100 
     | 
    
         
            -
            ##  
     | 
| 
      
 99 
     | 
    
         
            +
            ## Test suite
         
     | 
| 
       101 
100 
     | 
    
         | 
| 
       102 
     | 
    
         
            -
             
     | 
| 
       103 
     | 
    
         
            -
            every Gem release.  These checksums can be found in the `checksum/` directory.
         
     | 
| 
       104 
     | 
    
         
            -
            Although these checksums do not prevent malicious users from tampering with a
         
     | 
| 
       105 
     | 
    
         
            -
            built Gem they can be used for basic integrity verification purposes.
         
     | 
| 
      
 101 
     | 
    
         
            +
            __RSpec clone__'s specifications are self-described here: [spec/](https://github.com/cyril/r_spec.rb/blob/main/spec/)
         
     | 
| 
       106 
102 
     | 
    
         | 
| 
       107 
     | 
    
         
            -
             
     | 
| 
       108 
     | 
    
         
            -
            example:
         
     | 
| 
      
 103 
     | 
    
         
            +
            ## Contact
         
     | 
| 
       109 
104 
     | 
    
         | 
| 
       110 
     | 
    
         
            -
             
     | 
| 
       111 
     | 
    
         
            -
             
     | 
| 
      
 105 
     | 
    
         
            +
            * Home page: https://r-spec.dev
         
     | 
| 
      
 106 
     | 
    
         
            +
            * Source code: https://github.com/cyril/r_spec.rb
         
     | 
| 
      
 107 
     | 
    
         
            +
            * Twitter: https://twitter.com/cyri_
         
     | 
| 
       112 
108 
     | 
    
         | 
| 
       113 
109 
     | 
    
         
             
            ## Versioning
         
     | 
| 
       114 
110 
     | 
    
         | 
| 
       115 
     | 
    
         
            -
             
     | 
| 
       116 
     | 
    
         
            -
             
     | 
| 
       117 
     | 
    
         
            -
            ## Contributing
         
     | 
| 
       118 
     | 
    
         
            -
             
     | 
| 
       119 
     | 
    
         
            -
            1. [Fork it](https://github.com/cyril/r_spec/fork)
         
     | 
| 
       120 
     | 
    
         
            -
            2. Create your feature branch (`git checkout -b my-new-feature`)
         
     | 
| 
       121 
     | 
    
         
            -
            3. Commit your changes (`git commit -am 'Add some feature'`)
         
     | 
| 
       122 
     | 
    
         
            -
            4. Push to the branch (`git push origin my-new-feature`)
         
     | 
| 
       123 
     | 
    
         
            -
            5. Create a new Pull Request
         
     | 
| 
      
 111 
     | 
    
         
            +
            __RSpec clone__ follows [Semantic Versioning 2.0](https://semver.org/).
         
     | 
| 
       124 
112 
     | 
    
         | 
| 
       125 
113 
     | 
    
         
             
            ## License
         
     | 
| 
       126 
114 
     | 
    
         | 
| 
       127 
     | 
    
         
            -
             
     | 
| 
       128 
     | 
    
         
            -
             
     | 
| 
       129 
     | 
    
         
            -
            [gem]: https://rubygems.org/gems/r_spec
         
     | 
| 
       130 
     | 
    
         
            -
            [travis]: https://travis-ci.org/cyril/r_spec
         
     | 
| 
       131 
     | 
    
         
            -
            [inchpages]: http://inch-ci.org/github/cyril/r_spec/
         
     | 
| 
       132 
     | 
    
         
            -
            [rubydoc]: http://rubydoc.info/gems/r_spec/frames
         
     | 
| 
      
 115 
     | 
    
         
            +
            The [gem](https://rubygems.org/gems/r_spec) is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
         
     | 
    
        data/lib/r_spec.rb
    CHANGED
    
    | 
         @@ -1,32 +1,27 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
            require 'fix/expect'
         
     | 
| 
       3 
     | 
    
         
            -
            require 'fix/its'
         
     | 
| 
       4 
     | 
    
         
            -
            require 'fix/let'
         
     | 
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
       5 
2 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
            #  
     | 
| 
      
 3 
     | 
    
         
            +
            # Top level namespace for the RSpec clone.
         
     | 
| 
       7 
4 
     | 
    
         
             
            #
         
     | 
| 
       8 
     | 
    
         
            -
            # @ 
     | 
| 
      
 5 
     | 
    
         
            +
            # @example
         
     | 
| 
      
 6 
     | 
    
         
            +
            #   require "r_spec"
         
     | 
| 
      
 7 
     | 
    
         
            +
            #
         
     | 
| 
      
 8 
     | 
    
         
            +
            #   RSpec.describe Integer do
         
     | 
| 
      
 9 
     | 
    
         
            +
            #     it { expect(41.next).to be 42 }
         
     | 
| 
      
 10 
     | 
    
         
            +
            #   end
         
     | 
| 
       9 
11 
     | 
    
         
             
            #
         
     | 
| 
      
 12 
     | 
    
         
            +
            # @api public
         
     | 
| 
       10 
13 
     | 
    
         
             
            module RSpec
         
     | 
| 
       11 
14 
     | 
    
         
             
              # Specs are built with this method.
         
     | 
| 
       12 
15 
     | 
    
         
             
              #
         
     | 
| 
       13 
     | 
    
         
            -
              # @ 
     | 
| 
       14 
     | 
    
         
            -
              # 
     | 
| 
       15 
     | 
    
         
            -
              #     it { expect(42).to be 42 }
         
     | 
| 
       16 
     | 
    
         
            -
              #   end
         
     | 
| 
       17 
     | 
    
         
            -
              #
         
     | 
| 
       18 
     | 
    
         
            -
              # @param front_object [#object_id]  The front object.
         
     | 
| 
       19 
     | 
    
         
            -
              # @param options      [Hash]        Some options.
         
     | 
| 
       20 
     | 
    
         
            -
              # @param specs        [Proc]        The set of specs.
         
     | 
| 
      
 16 
     | 
    
         
            +
              # @param const [Module] A module to include in block context.
         
     | 
| 
      
 17 
     | 
    
         
            +
              # @param block [Proc] The block to define the specs.
         
     | 
| 
       21 
18 
     | 
    
         
             
              #
         
     | 
| 
       22 
     | 
    
         
            -
              # @ 
     | 
| 
       23 
     | 
    
         
            -
              def self.describe( 
     | 
| 
       24 
     | 
    
         
            -
                 
     | 
| 
      
 19 
     | 
    
         
            +
              # @api public
         
     | 
| 
      
 20 
     | 
    
         
            +
              def self.describe(const, &block)
         
     | 
| 
      
 21 
     | 
    
         
            +
                raise ::TypeError, const.class.inspect unless const.is_a?(::Module)
         
     | 
| 
       25 
22 
     | 
    
         | 
| 
       26 
     | 
    
         
            -
                 
     | 
| 
       27 
     | 
    
         
            -
                exit t.pass?
         
     | 
| 
      
 23 
     | 
    
         
            +
                DSL.describe(const, &block)
         
     | 
| 
       28 
24 
     | 
    
         
             
              end
         
     | 
| 
       29 
25 
     | 
    
         
             
            end
         
     | 
| 
       30 
26 
     | 
    
         | 
| 
       31 
     | 
    
         
            -
            require_relative File.join 
     | 
| 
       32 
     | 
    
         
            -
            require_relative File.join 'fix', 'on'
         
     | 
| 
      
 27 
     | 
    
         
            +
            require_relative File.join("r_spec", "dsl")
         
     | 
    
        data/lib/r_spec/dsl.rb
    ADDED
    
    | 
         @@ -0,0 +1,114 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            require "matchi/rspec"
         
     | 
| 
      
 4 
     | 
    
         
            +
            require "securerandom"
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            module RSpec
         
     | 
| 
      
 7 
     | 
    
         
            +
              # Abstract class for handling the domain-specific language.
         
     | 
| 
      
 8 
     | 
    
         
            +
              class DSL
         
     | 
| 
      
 9 
     | 
    
         
            +
                # @param block [Proc] The content to execute at the class initialization.
         
     | 
| 
      
 10 
     | 
    
         
            +
                def self.before(&block)
         
     | 
| 
      
 11 
     | 
    
         
            +
                  define_method(:initialize) do |*args, **kwargs|
         
     | 
| 
      
 12 
     | 
    
         
            +
                    super()
         
     | 
| 
      
 13 
     | 
    
         
            +
                    instance_exec(*args, **kwargs, &block)
         
     | 
| 
      
 14 
     | 
    
         
            +
                  end
         
     | 
| 
      
 15 
     | 
    
         
            +
                end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                # @param block [Proc] The content of the method to define.
         
     | 
| 
      
 18 
     | 
    
         
            +
                # @return [Symbol] A protected method that define the block content.
         
     | 
| 
      
 19 
     | 
    
         
            +
                def self.let(name, &block)
         
     | 
| 
      
 20 
     | 
    
         
            +
                  protected define_method(name.to_sym, &block)
         
     | 
| 
      
 21 
     | 
    
         
            +
                end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                # @param block [Proc] The subject to set.
         
     | 
| 
      
 24 
     | 
    
         
            +
                # @return [Symbol] A `subject` method that define the block content.
         
     | 
| 
      
 25 
     | 
    
         
            +
                def self.subject(&block)
         
     | 
| 
      
 26 
     | 
    
         
            +
                  let(__method__, &block)
         
     | 
| 
      
 27 
     | 
    
         
            +
                end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                # Describe a set of expectations.
         
     | 
| 
      
 30 
     | 
    
         
            +
                #
         
     | 
| 
      
 31 
     | 
    
         
            +
                # @param const [Module, #object_id] A module to include in block context.
         
     | 
| 
      
 32 
     | 
    
         
            +
                # @param block [Proc] The block to define the specs.
         
     | 
| 
      
 33 
     | 
    
         
            +
                def self.describe(const, &block)
         
     | 
| 
      
 34 
     | 
    
         
            +
                  desc = Test.const_set("Test#{random_str}", ::Class.new(self))
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                  if const.is_a?(::Module)
         
     | 
| 
      
 37 
     | 
    
         
            +
                    desc.define_method(:described_class) { const }
         
     | 
| 
      
 38 
     | 
    
         
            +
                    desc.send(:protected, :described_class)
         
     | 
| 
      
 39 
     | 
    
         
            +
                  end
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
                  desc.instance_eval(&block)
         
     | 
| 
      
 42 
     | 
    
         
            +
                  desc
         
     | 
| 
      
 43 
     | 
    
         
            +
                end
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
                singleton_class.send(:alias_method, :context, :describe)
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
                # Evaluate an expectation.
         
     | 
| 
      
 48 
     | 
    
         
            +
                #
         
     | 
| 
      
 49 
     | 
    
         
            +
                # @param block [Proc] An expectation to evaluate.
         
     | 
| 
      
 50 
     | 
    
         
            +
                #
         
     | 
| 
      
 51 
     | 
    
         
            +
                # @raise (see ExpectationTarget#result)
         
     | 
| 
      
 52 
     | 
    
         
            +
                # @return (see ExpectationTarget#result)
         
     | 
| 
      
 53 
     | 
    
         
            +
                def self.it(_name = nil, &block)
         
     | 
| 
      
 54 
     | 
    
         
            +
                  raise ::ArgumentError, "Missing block" unless block
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
                  puts "\e[37m#{block.source_location.join(':')}\e[0m"
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
                  i = example.new
         
     | 
| 
      
 59 
     | 
    
         
            +
                  i.instance_eval(&block)
         
     | 
| 
      
 60 
     | 
    
         
            +
                end
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 63 
     | 
    
         
            +
                #
         
     | 
| 
      
 64 
     | 
    
         
            +
                # @return [Class<DSL>] The class of the example to be tested.
         
     | 
| 
      
 65 
     | 
    
         
            +
                private_class_method def self.example
         
     | 
| 
      
 66 
     | 
    
         
            +
                  ::Class.new(self) do
         
     | 
| 
      
 67 
     | 
    
         
            +
                    include ::Matchi::Helper
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
                    private
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
                    # Wraps the target of an expectation with the actual value.
         
     | 
| 
      
 72 
     | 
    
         
            +
                    #
         
     | 
| 
      
 73 
     | 
    
         
            +
                    # @param actual [#object_id] The actual value.
         
     | 
| 
      
 74 
     | 
    
         
            +
                    #
         
     | 
| 
      
 75 
     | 
    
         
            +
                    # @return [ExpectationTarget] The target of the expectation.
         
     | 
| 
      
 76 
     | 
    
         
            +
                    def expect(actual)
         
     | 
| 
      
 77 
     | 
    
         
            +
                      ExpectationTarget.new(actual)
         
     | 
| 
      
 78 
     | 
    
         
            +
                    end
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
                    # Wraps the target of an expectation with the subject as actual value.
         
     | 
| 
      
 81 
     | 
    
         
            +
                    #
         
     | 
| 
      
 82 
     | 
    
         
            +
                    # @return [ExpectationTarget] (see #expect)
         
     | 
| 
      
 83 
     | 
    
         
            +
                    def is_expected
         
     | 
| 
      
 84 
     | 
    
         
            +
                      expect(subject)
         
     | 
| 
      
 85 
     | 
    
         
            +
                    end
         
     | 
| 
      
 86 
     | 
    
         
            +
             
     | 
| 
      
 87 
     | 
    
         
            +
                    def log(message)
         
     | 
| 
      
 88 
     | 
    
         
            +
                      Log.result(message)
         
     | 
| 
      
 89 
     | 
    
         
            +
                    end
         
     | 
| 
      
 90 
     | 
    
         
            +
             
     | 
| 
      
 91 
     | 
    
         
            +
                    # Indicate that an example is disabled pending some action.
         
     | 
| 
      
 92 
     | 
    
         
            +
                    #
         
     | 
| 
      
 93 
     | 
    
         
            +
                    # @param description [String] The reason why the example is pending.
         
     | 
| 
      
 94 
     | 
    
         
            +
                    #
         
     | 
| 
      
 95 
     | 
    
         
            +
                    # @return [nil] Write a message to STDOUT.
         
     | 
| 
      
 96 
     | 
    
         
            +
                    def pending(description)
         
     | 
| 
      
 97 
     | 
    
         
            +
                      Pending.result(description)
         
     | 
| 
      
 98 
     | 
    
         
            +
                    end
         
     | 
| 
      
 99 
     | 
    
         
            +
                  end
         
     | 
| 
      
 100 
     | 
    
         
            +
                end
         
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
      
 102 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 103 
     | 
    
         
            +
                #
         
     | 
| 
      
 104 
     | 
    
         
            +
                # @return [String] A random string.
         
     | 
| 
      
 105 
     | 
    
         
            +
                private_class_method def self.random_str
         
     | 
| 
      
 106 
     | 
    
         
            +
                  ::SecureRandom.alphanumeric(5)
         
     | 
| 
      
 107 
     | 
    
         
            +
                end
         
     | 
| 
      
 108 
     | 
    
         
            +
              end
         
     | 
| 
      
 109 
     | 
    
         
            +
            end
         
     | 
| 
      
 110 
     | 
    
         
            +
             
     | 
| 
      
 111 
     | 
    
         
            +
            require_relative "expectation_target"
         
     | 
| 
      
 112 
     | 
    
         
            +
            require_relative "log"
         
     | 
| 
      
 113 
     | 
    
         
            +
            require_relative "pending"
         
     | 
| 
      
 114 
     | 
    
         
            +
            require_relative "test"
         
     | 
| 
         @@ -0,0 +1,93 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            require "expresenter"
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            module RSpec
         
     | 
| 
      
 6 
     | 
    
         
            +
              # Wraps the target of an expectation.
         
     | 
| 
      
 7 
     | 
    
         
            +
              #
         
     | 
| 
      
 8 
     | 
    
         
            +
              # @example
         
     | 
| 
      
 9 
     | 
    
         
            +
              #   expect(something) # => ExpectationTarget wrapping something
         
     | 
| 
      
 10 
     | 
    
         
            +
              #
         
     | 
| 
      
 11 
     | 
    
         
            +
              #   # used with `to`
         
     | 
| 
      
 12 
     | 
    
         
            +
              #   expect(actual).to be(42)
         
     | 
| 
      
 13 
     | 
    
         
            +
              #
         
     | 
| 
      
 14 
     | 
    
         
            +
              #   # with `not_to`
         
     | 
| 
      
 15 
     | 
    
         
            +
              #   expect(actual).not_to be(4)
         
     | 
| 
      
 16 
     | 
    
         
            +
              #
         
     | 
| 
      
 17 
     | 
    
         
            +
              # @note `ExpectationTarget` is not intended to be instantiated directly by
         
     | 
| 
      
 18 
     | 
    
         
            +
              #   users. Use `expect` instead.
         
     | 
| 
      
 19 
     | 
    
         
            +
              class ExpectationTarget
         
     | 
| 
      
 20 
     | 
    
         
            +
                # Instantiate a new expectation target.
         
     | 
| 
      
 21 
     | 
    
         
            +
                #
         
     | 
| 
      
 22 
     | 
    
         
            +
                # @param actual [#object_id] The actual value.
         
     | 
| 
      
 23 
     | 
    
         
            +
                #
         
     | 
| 
      
 24 
     | 
    
         
            +
                # @api private
         
     | 
| 
      
 25 
     | 
    
         
            +
                def initialize(actual)
         
     | 
| 
      
 26 
     | 
    
         
            +
                  @actual = actual
         
     | 
| 
      
 27 
     | 
    
         
            +
                end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                # Runs the given expectation, passing if `matcher` returns true.
         
     | 
| 
      
 30 
     | 
    
         
            +
                #
         
     | 
| 
      
 31 
     | 
    
         
            +
                # @example _Absolute requirement_ definition
         
     | 
| 
      
 32 
     | 
    
         
            +
                #   expect("foo".upcase).to eq("foo")
         
     | 
| 
      
 33 
     | 
    
         
            +
                #
         
     | 
| 
      
 34 
     | 
    
         
            +
                # @param matcher [#matches?] The matcher.
         
     | 
| 
      
 35 
     | 
    
         
            +
                #
         
     | 
| 
      
 36 
     | 
    
         
            +
                # @raise (see #result)
         
     | 
| 
      
 37 
     | 
    
         
            +
                # @return (see #result)
         
     | 
| 
      
 38 
     | 
    
         
            +
                def to(matcher)
         
     | 
| 
      
 39 
     | 
    
         
            +
                  absolute_requirement(matcher: matcher, negate: false)
         
     | 
| 
      
 40 
     | 
    
         
            +
                end
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                # Runs the given expectation, passing if `matcher` returns false.
         
     | 
| 
      
 43 
     | 
    
         
            +
                #
         
     | 
| 
      
 44 
     | 
    
         
            +
                # @example _Absolute prohibition_ definition
         
     | 
| 
      
 45 
     | 
    
         
            +
                #   expect("foo".size).not_to be(4)
         
     | 
| 
      
 46 
     | 
    
         
            +
                #
         
     | 
| 
      
 47 
     | 
    
         
            +
                # @param (see #to)
         
     | 
| 
      
 48 
     | 
    
         
            +
                #
         
     | 
| 
      
 49 
     | 
    
         
            +
                # @raise (see #result)
         
     | 
| 
      
 50 
     | 
    
         
            +
                # @return (see #result)
         
     | 
| 
      
 51 
     | 
    
         
            +
                def not_to(matcher)
         
     | 
| 
      
 52 
     | 
    
         
            +
                  absolute_requirement(matcher: matcher, negate: true)
         
     | 
| 
      
 53 
     | 
    
         
            +
                end
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
                protected
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
                # @param matcher  [#matches?] The matcher.
         
     | 
| 
      
 58 
     | 
    
         
            +
                # @param negate   [Boolean]   Positive or negative assertion?
         
     | 
| 
      
 59 
     | 
    
         
            +
                #
         
     | 
| 
      
 60 
     | 
    
         
            +
                # @raise (see #result)
         
     | 
| 
      
 61 
     | 
    
         
            +
                # @return (see #result)
         
     | 
| 
      
 62 
     | 
    
         
            +
                def absolute_requirement(matcher:, negate:)
         
     | 
| 
      
 63 
     | 
    
         
            +
                  result(
         
     | 
| 
      
 64 
     | 
    
         
            +
                    matcher: matcher,
         
     | 
| 
      
 65 
     | 
    
         
            +
                    negate:  negate,
         
     | 
| 
      
 66 
     | 
    
         
            +
                    passed:  negate ^ matcher.matches? { @actual }
         
     | 
| 
      
 67 
     | 
    
         
            +
                  )
         
     | 
| 
      
 68 
     | 
    
         
            +
                end
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
                # @param matcher  [#matches?] The matcher.
         
     | 
| 
      
 71 
     | 
    
         
            +
                # @param negate   [Boolean]   Positive or negative assertion?
         
     | 
| 
      
 72 
     | 
    
         
            +
                # @param passed   [Boolean]   The result of an expectation.
         
     | 
| 
      
 73 
     | 
    
         
            +
                #
         
     | 
| 
      
 74 
     | 
    
         
            +
                # @return [nil] Write a message to STDOUT.
         
     | 
| 
      
 75 
     | 
    
         
            +
                #
         
     | 
| 
      
 76 
     | 
    
         
            +
                # @raise [SystemExit] Terminate execution immediately by calling
         
     | 
| 
      
 77 
     | 
    
         
            +
                #   `Kernel.exit(false)` with a failure message written to STDERR.
         
     | 
| 
      
 78 
     | 
    
         
            +
                def result(matcher:, negate:, passed:)
         
     | 
| 
      
 79 
     | 
    
         
            +
                  puts "  " + ::Expresenter.call(passed).with(
         
     | 
| 
      
 80 
     | 
    
         
            +
                    actual:   @actual,
         
     | 
| 
      
 81 
     | 
    
         
            +
                    error:    nil,
         
     | 
| 
      
 82 
     | 
    
         
            +
                    expected: matcher.expected,
         
     | 
| 
      
 83 
     | 
    
         
            +
                    got:      passed,
         
     | 
| 
      
 84 
     | 
    
         
            +
                    negate:   negate,
         
     | 
| 
      
 85 
     | 
    
         
            +
                    valid:    passed,
         
     | 
| 
      
 86 
     | 
    
         
            +
                    matcher:  matcher.class.to_sym,
         
     | 
| 
      
 87 
     | 
    
         
            +
                    level:    :MUST
         
     | 
| 
      
 88 
     | 
    
         
            +
                  ).colored_string
         
     | 
| 
      
 89 
     | 
    
         
            +
                rescue ::Expresenter::Fail => e
         
     | 
| 
      
 90 
     | 
    
         
            +
                  abort "  #{e.colored_string}"
         
     | 
| 
      
 91 
     | 
    
         
            +
                end
         
     | 
| 
      
 92 
     | 
    
         
            +
              end
         
     | 
| 
      
 93 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/r_spec/log.rb
    ADDED
    
    | 
         @@ -0,0 +1,24 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            require "expresenter"
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            module RSpec
         
     | 
| 
      
 6 
     | 
    
         
            +
              # Exception for debugging purpose.
         
     | 
| 
      
 7 
     | 
    
         
            +
              class Log < ::NoMethodError
         
     | 
| 
      
 8 
     | 
    
         
            +
                # @param message [String] A message to log to the console.
         
     | 
| 
      
 9 
     | 
    
         
            +
                #
         
     | 
| 
      
 10 
     | 
    
         
            +
                # @return [nil] Write a log message to STDOUT.
         
     | 
| 
      
 11 
     | 
    
         
            +
                def self.result(message)
         
     | 
| 
      
 12 
     | 
    
         
            +
                  puts "  " + ::Expresenter.call(true).with(
         
     | 
| 
      
 13 
     | 
    
         
            +
                    actual:   nil,
         
     | 
| 
      
 14 
     | 
    
         
            +
                    error:    new(message),
         
     | 
| 
      
 15 
     | 
    
         
            +
                    expected: 42,
         
     | 
| 
      
 16 
     | 
    
         
            +
                    got:      nil,
         
     | 
| 
      
 17 
     | 
    
         
            +
                    matcher:  :be,
         
     | 
| 
      
 18 
     | 
    
         
            +
                    negate:   false,
         
     | 
| 
      
 19 
     | 
    
         
            +
                    level:    :MAY,
         
     | 
| 
      
 20 
     | 
    
         
            +
                    valid:    false
         
     | 
| 
      
 21 
     | 
    
         
            +
                  ).colored_string
         
     | 
| 
      
 22 
     | 
    
         
            +
                end
         
     | 
| 
      
 23 
     | 
    
         
            +
              end
         
     | 
| 
      
 24 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,24 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            require "expresenter"
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            module RSpec
         
     | 
| 
      
 6 
     | 
    
         
            +
              # Exception for pending expectations.
         
     | 
| 
      
 7 
     | 
    
         
            +
              class Pending < ::NotImplementedError
         
     | 
| 
      
 8 
     | 
    
         
            +
                # @param message [String] The not implemented expectation description.
         
     | 
| 
      
 9 
     | 
    
         
            +
                #
         
     | 
| 
      
 10 
     | 
    
         
            +
                # @return [nil] Write a pending expectation to STDOUT.
         
     | 
| 
      
 11 
     | 
    
         
            +
                def self.result(message)
         
     | 
| 
      
 12 
     | 
    
         
            +
                  warn "  " + ::Expresenter.call(true).with(
         
     | 
| 
      
 13 
     | 
    
         
            +
                    actual:   new(message),
         
     | 
| 
      
 14 
     | 
    
         
            +
                    error:    nil,
         
     | 
| 
      
 15 
     | 
    
         
            +
                    expected: self,
         
     | 
| 
      
 16 
     | 
    
         
            +
                    got:      false,
         
     | 
| 
      
 17 
     | 
    
         
            +
                    matcher:  :raise_exception,
         
     | 
| 
      
 18 
     | 
    
         
            +
                    negate:   true,
         
     | 
| 
      
 19 
     | 
    
         
            +
                    level:    :SHOULD,
         
     | 
| 
      
 20 
     | 
    
         
            +
                    valid:    false
         
     | 
| 
      
 21 
     | 
    
         
            +
                  ).colored_string
         
     | 
| 
      
 22 
     | 
    
         
            +
                end
         
     | 
| 
      
 23 
     | 
    
         
            +
              end
         
     | 
| 
      
 24 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/r_spec/test.rb
    ADDED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,208 +1,190 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: r_spec
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.0.0.beta2
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
     | 
    
         
            -
            - Cyril  
     | 
| 
      
 7 
     | 
    
         
            +
            - Cyril Kato
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
     | 
    
         
            -
            cert_chain:
         
     | 
| 
       11 
     | 
    
         
            -
            -  
     | 
| 
       12 
     | 
    
         
            -
              -----BEGIN CERTIFICATE-----
         
     | 
| 
       13 
     | 
    
         
            -
              MIIDdDCCAlygAwIBAgIBATANBgkqhkiG9w0BAQUFADBAMRAwDgYDVQQDDAdjb250
         
     | 
| 
       14 
     | 
    
         
            -
              YWN0MRUwEwYKCZImiZPyLGQBGRYFY3lyaWwxFTATBgoJkiaJk/IsZAEZFgVlbWFp
         
     | 
| 
       15 
     | 
    
         
            -
              bDAeFw0xNTA3MzExMjExMDZaFw0xNjA3MzAxMjExMDZaMEAxEDAOBgNVBAMMB2Nv
         
     | 
| 
       16 
     | 
    
         
            -
              bnRhY3QxFTATBgoJkiaJk/IsZAEZFgVjeXJpbDEVMBMGCgmSJomT8ixkARkWBWVt
         
     | 
| 
       17 
     | 
    
         
            -
              YWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6hUEYoxnn1mtoaiK
         
     | 
| 
       18 
     | 
    
         
            -
              NiwjzVPqPgQCR9ZeYdWjLJ3UUG2h5Q6awJCnbaGr8LGGcKtveCDbOJRjtdKNuOTH
         
     | 
| 
       19 
     | 
    
         
            -
              O2FLTkf46nrMGiF+6/j//qh8o0EQHBRKIVMYkxZxZe4Fcqtdf1bWNMZuXeyoDjdt
         
     | 
| 
       20 
     | 
    
         
            -
              4yiGfizbbTOu0gBf7Yrsv5DsL0a5CU/We7zxMfgGXCVb9PYkD+OWUMcTARYDKfYa
         
     | 
| 
       21 
     | 
    
         
            -
              nN9ECI7CFm/yXcsof/eIQA5EmJNmQnhx8B+8L6jDqQeSUAUrBZnC9CdloKOoqmEL
         
     | 
| 
       22 
     | 
    
         
            -
              weqM2g6LM932Ba74rEl4QlFRYDcs8kjr71UcvseHRCUkFr36j26OU8+gKelsTNdO
         
     | 
| 
       23 
     | 
    
         
            -
              7OZNKQIDAQABo3kwdzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU
         
     | 
| 
       24 
     | 
    
         
            -
              LSJTN9h29D6bqOhp+vyvhyM0AF4wHgYDVR0RBBcwFYETY29udGFjdEBjeXJpbC5l
         
     | 
| 
       25 
     | 
    
         
            -
              bWFpbDAeBgNVHRIEFzAVgRNjb250YWN0QGN5cmlsLmVtYWlsMA0GCSqGSIb3DQEB
         
     | 
| 
       26 
     | 
    
         
            -
              BQUAA4IBAQArqCC1rUyGJlF0DF9ZhUOgggyROvO0/WroSI5zWgzdB8EU7RJpsDIV
         
     | 
| 
       27 
     | 
    
         
            -
              caGnpji7h0rQIGWQuJ6TL2fTFLfeGRFdIzRZwWC7TeXhcXngJHZxSjDBt2OpfM8A
         
     | 
| 
       28 
     | 
    
         
            -
              P5eElSQS9iJCetBGGMyt354PfgZkg3URaC+JA6mdEisdtEdo64ElnMsLg9shCqye
         
     | 
| 
       29 
     | 
    
         
            -
              JSR3BbejbyPVva0/MHKD+dR6RswlcM9KMiYOXQml7a/kH6huOHvVq9gj5xC2ih8W
         
     | 
| 
       30 
     | 
    
         
            -
              dzJvWzQ1+dJU6WQv75E9ddSkaQrK3nhdgQVu+/wgvGSrsMvOGNz+LXaSDxQqZuwX
         
     | 
| 
       31 
     | 
    
         
            -
              0KNQFuIukfrdk8URwRnHoAnvx4U93iUw
         
     | 
| 
       32 
     | 
    
         
            -
              -----END CERTIFICATE-----
         
     | 
| 
       33 
     | 
    
         
            -
            date: 2015-11-29 00:00:00.000000000 Z
         
     | 
| 
      
 10 
     | 
    
         
            +
            cert_chain: []
         
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2021-06-04 00:00:00.000000000 Z
         
     | 
| 
       34 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       35 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       36 
     | 
    
         
            -
              name:  
     | 
| 
      
 14 
     | 
    
         
            +
              name: expresenter
         
     | 
| 
       37 
15 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       38 
16 
     | 
    
         
             
                requirements:
         
     | 
| 
       39 
17 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       40 
18 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       41 
     | 
    
         
            -
                    version:  
     | 
| 
      
 19 
     | 
    
         
            +
                    version: 1.2.0
         
     | 
| 
       42 
20 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       43 
21 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       44 
22 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       45 
23 
     | 
    
         
             
                requirements:
         
     | 
| 
       46 
24 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       47 
25 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       48 
     | 
    
         
            -
                    version:  
     | 
| 
      
 26 
     | 
    
         
            +
                    version: 1.2.0
         
     | 
| 
       49 
27 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       50 
     | 
    
         
            -
              name:  
     | 
| 
      
 28 
     | 
    
         
            +
              name: matchi-rspec
         
     | 
| 
       51 
29 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       52 
30 
     | 
    
         
             
                requirements:
         
     | 
| 
       53 
31 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       54 
32 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       55 
     | 
    
         
            -
                    version:  
     | 
| 
      
 33 
     | 
    
         
            +
                    version: 1.1.0
         
     | 
| 
       56 
34 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       57 
35 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       58 
36 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       59 
37 
     | 
    
         
             
                requirements:
         
     | 
| 
       60 
38 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       61 
39 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       62 
     | 
    
         
            -
                    version:  
     | 
| 
      
 40 
     | 
    
         
            +
                    version: 1.1.0
         
     | 
| 
       63 
41 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       64 
     | 
    
         
            -
              name:  
     | 
| 
      
 42 
     | 
    
         
            +
              name: bundler
         
     | 
| 
       65 
43 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       66 
44 
     | 
    
         
             
                requirements:
         
     | 
| 
       67 
     | 
    
         
            -
                - - " 
     | 
| 
      
 45 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       68 
46 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       69 
     | 
    
         
            -
                    version: 0 
     | 
| 
       70 
     | 
    
         
            -
              type: : 
     | 
| 
      
 47 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 48 
     | 
    
         
            +
              type: :development
         
     | 
| 
       71 
49 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       72 
50 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       73 
51 
     | 
    
         
             
                requirements:
         
     | 
| 
       74 
     | 
    
         
            -
                - - " 
     | 
| 
      
 52 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       75 
53 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       76 
     | 
    
         
            -
                    version: 0 
     | 
| 
      
 54 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       77 
55 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       78 
     | 
    
         
            -
              name:  
     | 
| 
      
 56 
     | 
    
         
            +
              name: rake
         
     | 
| 
       79 
57 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       80 
58 
     | 
    
         
             
                requirements:
         
     | 
| 
       81 
     | 
    
         
            -
                - - " 
     | 
| 
      
 59 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       82 
60 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       83 
     | 
    
         
            -
                    version: 0 
     | 
| 
       84 
     | 
    
         
            -
              type: : 
     | 
| 
      
 61 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 62 
     | 
    
         
            +
              type: :development
         
     | 
| 
       85 
63 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       86 
64 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       87 
65 
     | 
    
         
             
                requirements:
         
     | 
| 
       88 
     | 
    
         
            -
                - - " 
     | 
| 
      
 66 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       89 
67 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       90 
     | 
    
         
            -
                    version: 0 
     | 
| 
      
 68 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       91 
69 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       92 
     | 
    
         
            -
              name:  
     | 
| 
      
 70 
     | 
    
         
            +
              name: rubocop-md
         
     | 
| 
       93 
71 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       94 
72 
     | 
    
         
             
                requirements:
         
     | 
| 
       95 
     | 
    
         
            -
                - - " 
     | 
| 
      
 73 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       96 
74 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       97 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 75 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       98 
76 
     | 
    
         
             
              type: :development
         
     | 
| 
       99 
77 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       100 
78 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       101 
79 
     | 
    
         
             
                requirements:
         
     | 
| 
       102 
     | 
    
         
            -
                - - " 
     | 
| 
      
 80 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       103 
81 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       104 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 82 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       105 
83 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       106 
     | 
    
         
            -
              name:  
     | 
| 
      
 84 
     | 
    
         
            +
              name: rubocop-performance
         
     | 
| 
       107 
85 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       108 
86 
     | 
    
         
             
                requirements:
         
     | 
| 
       109 
     | 
    
         
            -
                - - " 
     | 
| 
      
 87 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       110 
88 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       111 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 89 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       112 
90 
     | 
    
         
             
              type: :development
         
     | 
| 
       113 
91 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       114 
92 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       115 
93 
     | 
    
         
             
                requirements:
         
     | 
| 
       116 
     | 
    
         
            -
                - - " 
     | 
| 
      
 94 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       117 
95 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       118 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 96 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       119 
97 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       120 
     | 
    
         
            -
              name:  
     | 
| 
      
 98 
     | 
    
         
            +
              name: rubocop-rake
         
     | 
| 
       121 
99 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       122 
100 
     | 
    
         
             
                requirements:
         
     | 
| 
       123 
     | 
    
         
            -
                - - " 
     | 
| 
      
 101 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       124 
102 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       125 
     | 
    
         
            -
                    version: '0 
     | 
| 
      
 103 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       126 
104 
     | 
    
         
             
              type: :development
         
     | 
| 
       127 
105 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       128 
106 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       129 
107 
     | 
    
         
             
                requirements:
         
     | 
| 
       130 
     | 
    
         
            -
                - - " 
     | 
| 
      
 108 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       131 
109 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       132 
     | 
    
         
            -
                    version: '0 
     | 
| 
      
 110 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       133 
111 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       134 
     | 
    
         
            -
              name:  
     | 
| 
      
 112 
     | 
    
         
            +
              name: rubocop-rspec
         
     | 
| 
       135 
113 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       136 
114 
     | 
    
         
             
                requirements:
         
     | 
| 
       137 
     | 
    
         
            -
                - - " 
     | 
| 
      
 115 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       138 
116 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       139 
     | 
    
         
            -
                    version: '0 
     | 
| 
      
 117 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       140 
118 
     | 
    
         
             
              type: :development
         
     | 
| 
       141 
119 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       142 
120 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       143 
121 
     | 
    
         
             
                requirements:
         
     | 
| 
       144 
     | 
    
         
            -
                - - " 
     | 
| 
      
 122 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       145 
123 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       146 
     | 
    
         
            -
                    version: '0 
     | 
| 
      
 124 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       147 
125 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       148 
     | 
    
         
            -
              name: rubocop
         
     | 
| 
      
 126 
     | 
    
         
            +
              name: rubocop-thread_safety
         
     | 
| 
       149 
127 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       150 
128 
     | 
    
         
             
                requirements:
         
     | 
| 
       151 
     | 
    
         
            -
                - - " 
     | 
| 
      
 129 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       152 
130 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       153 
     | 
    
         
            -
                    version: '0 
     | 
| 
      
 131 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       154 
132 
     | 
    
         
             
              type: :development
         
     | 
| 
       155 
133 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       156 
134 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       157 
135 
     | 
    
         
             
                requirements:
         
     | 
| 
       158 
     | 
    
         
            -
                - - " 
     | 
| 
      
 136 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       159 
137 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       160 
     | 
    
         
            -
                    version: '0 
     | 
| 
      
 138 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       161 
139 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       162 
     | 
    
         
            -
              name:  
     | 
| 
      
 140 
     | 
    
         
            +
              name: simplecov
         
     | 
| 
       163 
141 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       164 
142 
     | 
    
         
             
                requirements:
         
     | 
| 
       165 
     | 
    
         
            -
                - - " 
     | 
| 
      
 143 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       166 
144 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       167 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 145 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       168 
146 
     | 
    
         
             
              type: :development
         
     | 
| 
       169 
147 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       170 
148 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       171 
149 
     | 
    
         
             
                requirements:
         
     | 
| 
       172 
     | 
    
         
            -
                - - " 
     | 
| 
      
 150 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 151 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 152 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 153 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 154 
     | 
    
         
            +
              name: yard
         
     | 
| 
      
 155 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 156 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 157 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 158 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 159 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 160 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 161 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 162 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 163 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 164 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       173 
165 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       174 
     | 
    
         
            -
                    version: ' 
     | 
| 
       175 
     | 
    
         
            -
            description: A  
     | 
| 
       176 
     | 
    
         
            -
            email:
         
     | 
| 
       177 
     | 
    
         
            -
            - contact@cyril.email
         
     | 
| 
      
 166 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 167 
     | 
    
         
            +
            description: A minimalist RSpec clone with an emphasis on correctness and simplicity.
         
     | 
| 
      
 168 
     | 
    
         
            +
            email: contact@cyril.email
         
     | 
| 
       178 
169 
     | 
    
         
             
            executables: []
         
     | 
| 
       179 
170 
     | 
    
         
             
            extensions: []
         
     | 
| 
       180 
171 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       181 
172 
     | 
    
         
             
            files:
         
     | 
| 
       182 
     | 
    
         
            -
            - ".gitignore"
         
     | 
| 
       183 
     | 
    
         
            -
            - ".travis.yml"
         
     | 
| 
       184 
     | 
    
         
            -
            - ".yardopts"
         
     | 
| 
       185 
     | 
    
         
            -
            - CODE_OF_CONDUCT.md
         
     | 
| 
       186 
     | 
    
         
            -
            - Gemfile
         
     | 
| 
       187 
173 
     | 
    
         
             
            - LICENSE.md
         
     | 
| 
       188 
174 
     | 
    
         
             
            - README.md
         
     | 
| 
       189 
     | 
    
         
            -
            - Rakefile
         
     | 
| 
       190 
     | 
    
         
            -
            - VERSION.semver
         
     | 
| 
       191 
     | 
    
         
            -
            - bin/console
         
     | 
| 
       192 
     | 
    
         
            -
            - bin/setup
         
     | 
| 
       193 
     | 
    
         
            -
            - certs/gem-cyril-public_cert.pem
         
     | 
| 
       194 
     | 
    
         
            -
            - checksum/r_spec-0.1.0.gem.sha512
         
     | 
| 
       195 
     | 
    
         
            -
            - checksum/r_spec-0.1.1.gem.sha512
         
     | 
| 
       196 
     | 
    
         
            -
            - checksum/r_spec-0.2.0.gem.sha512
         
     | 
| 
       197 
     | 
    
         
            -
            - lib/fix/it.rb
         
     | 
| 
       198 
     | 
    
         
            -
            - lib/fix/on.rb
         
     | 
| 
       199 
175 
     | 
    
         
             
            - lib/r_spec.rb
         
     | 
| 
       200 
     | 
    
         
            -
            -  
     | 
| 
       201 
     | 
    
         
            -
            - r_spec. 
     | 
| 
       202 
     | 
    
         
            -
             
     | 
| 
      
 176 
     | 
    
         
            +
            - lib/r_spec/dsl.rb
         
     | 
| 
      
 177 
     | 
    
         
            +
            - lib/r_spec/expectation_target.rb
         
     | 
| 
      
 178 
     | 
    
         
            +
            - lib/r_spec/log.rb
         
     | 
| 
      
 179 
     | 
    
         
            +
            - lib/r_spec/pending.rb
         
     | 
| 
      
 180 
     | 
    
         
            +
            - lib/r_spec/test.rb
         
     | 
| 
      
 181 
     | 
    
         
            +
            homepage: https://r-spec.dev/
         
     | 
| 
       203 
182 
     | 
    
         
             
            licenses:
         
     | 
| 
       204 
183 
     | 
    
         
             
            - MIT
         
     | 
| 
       205 
     | 
    
         
            -
            metadata: 
     | 
| 
      
 184 
     | 
    
         
            +
            metadata:
         
     | 
| 
      
 185 
     | 
    
         
            +
              bug_tracker_uri: https://github.com/cyril/r_spec.rb/issues
         
     | 
| 
      
 186 
     | 
    
         
            +
              documentation_uri: https://rubydoc.info/gems/r_spec
         
     | 
| 
      
 187 
     | 
    
         
            +
              source_code_uri: https://github.com/cyril/r_spec.rb
         
     | 
| 
       206 
188 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
       207 
189 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       208 
190 
     | 
    
         
             
            require_paths:
         
     | 
| 
         @@ -211,17 +193,15 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       211 
193 
     | 
    
         
             
              requirements:
         
     | 
| 
       212 
194 
     | 
    
         
             
              - - ">="
         
     | 
| 
       213 
195 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       214 
     | 
    
         
            -
                  version:  
     | 
| 
      
 196 
     | 
    
         
            +
                  version: 2.7.0
         
     | 
| 
       215 
197 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       216 
198 
     | 
    
         
             
              requirements:
         
     | 
| 
       217 
     | 
    
         
            -
              - - " 
     | 
| 
      
 199 
     | 
    
         
            +
              - - ">"
         
     | 
| 
       218 
200 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       219 
     | 
    
         
            -
                  version:  
     | 
| 
      
 201 
     | 
    
         
            +
                  version: 1.3.1
         
     | 
| 
       220 
202 
     | 
    
         
             
            requirements: []
         
     | 
| 
       221 
     | 
    
         
            -
             
     | 
| 
       222 
     | 
    
         
            -
            rubygems_version: 2.4.5.1
         
     | 
| 
      
 203 
     | 
    
         
            +
            rubygems_version: 3.1.6
         
     | 
| 
       223 
204 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       224 
205 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       225 
     | 
    
         
            -
            summary:  
     | 
| 
      
 206 
     | 
    
         
            +
            summary: A minimalist RSpec clone
         
     | 
| 
       226 
207 
     | 
    
         
             
            test_files: []
         
     | 
| 
       227 
     | 
    
         
            -
            has_rdoc: 
         
     | 
    
        checksums.yaml.gz.sig
    DELETED
    
    | 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            ��׃�{}����6t�B������%I����̺��~�'�:I�Շb��zq���G�Z�e�H�>)�W�����@/E�Y�"��1�ym�a?�����9]�evu�w�ٹ���Υ��~t^�.qv����E�9�:�%=��'z�~�:IT�=ֺ;9>a[�����epsvIC��Lxvt?�=e�dq1��&$%�4ձX4����c�H���ظ����C<']���qCB�4�!�����)�
         
     | 
    
        data.tar.gz.sig
    DELETED
    
    
    
        data/.gitignore
    DELETED
    
    
    
        data/.travis.yml
    DELETED
    
    | 
         @@ -1,27 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            language: ruby
         
     | 
| 
       2 
     | 
    
         
            -
            sudo: false
         
     | 
| 
       3 
     | 
    
         
            -
            cache: bundler
         
     | 
| 
       4 
     | 
    
         
            -
            script: 'bundle exec rake test:coverage --trace'
         
     | 
| 
       5 
     | 
    
         
            -
            before_install:
         
     | 
| 
       6 
     | 
    
         
            -
              - gem install bundler
         
     | 
| 
       7 
     | 
    
         
            -
            rvm:
         
     | 
| 
       8 
     | 
    
         
            -
              - 1.9.3
         
     | 
| 
       9 
     | 
    
         
            -
              - 2.0
         
     | 
| 
       10 
     | 
    
         
            -
              - 2.1
         
     | 
| 
       11 
     | 
    
         
            -
              - 2.2
         
     | 
| 
       12 
     | 
    
         
            -
              - ruby-head
         
     | 
| 
       13 
     | 
    
         
            -
              - jruby
         
     | 
| 
       14 
     | 
    
         
            -
              - jruby-head
         
     | 
| 
       15 
     | 
    
         
            -
              - rbx-2
         
     | 
| 
       16 
     | 
    
         
            -
            matrix:
         
     | 
| 
       17 
     | 
    
         
            -
              allow_failures:
         
     | 
| 
       18 
     | 
    
         
            -
                - rvm: rbx-2
         
     | 
| 
       19 
     | 
    
         
            -
                - rvm: jruby-head
         
     | 
| 
       20 
     | 
    
         
            -
                - rvm: ruby-head
         
     | 
| 
       21 
     | 
    
         
            -
            notifications:
         
     | 
| 
       22 
     | 
    
         
            -
              webhooks:
         
     | 
| 
       23 
     | 
    
         
            -
                urls:
         
     | 
| 
       24 
     | 
    
         
            -
                  - https://webhooks.gitter.im/e/a44b19cc5cf6db25fa87
         
     | 
| 
       25 
     | 
    
         
            -
                on_success: change
         
     | 
| 
       26 
     | 
    
         
            -
                on_failure: always
         
     | 
| 
       27 
     | 
    
         
            -
                on_start: never
         
     | 
    
        data/.yardopts
    DELETED
    
    | 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            - README.md
         
     | 
    
        data/CODE_OF_CONDUCT.md
    DELETED
    
    | 
         @@ -1,13 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # Contributor Code of Conduct
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
            We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
            Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
            Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
            Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
            This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
         
     | 
    
        data/Gemfile
    DELETED
    
    
    
        data/Rakefile
    DELETED
    
    | 
         @@ -1,20 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require 'bundler/gem_tasks'
         
     | 
| 
       2 
     | 
    
         
            -
            require 'rake/testtask'
         
     | 
| 
       3 
     | 
    
         
            -
            require 'rubocop/rake_task'
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
            RuboCop::RakeTask.new
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
            Rake::TestTask.new do |t|
         
     | 
| 
       8 
     | 
    
         
            -
              t.verbose = true
         
     | 
| 
       9 
     | 
    
         
            -
              t.warning = true
         
     | 
| 
       10 
     | 
    
         
            -
            end
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
            namespace :test do
         
     | 
| 
       13 
     | 
    
         
            -
              task :coverage do
         
     | 
| 
       14 
     | 
    
         
            -
                ENV['COVERAGE'] = 'true'
         
     | 
| 
       15 
     | 
    
         
            -
                Rake::Task['test'].invoke
         
     | 
| 
       16 
     | 
    
         
            -
              end
         
     | 
| 
       17 
     | 
    
         
            -
            end
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
            task(:doc_stats) { ruby '-S yard stats' }
         
     | 
| 
       20 
     | 
    
         
            -
            task default: [:test, :doc_stats, :rubocop]
         
     | 
    
        data/VERSION.semver
    DELETED
    
    | 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            0.3.0
         
     | 
    
        data/bin/console
    DELETED
    
    
    
        data/bin/setup
    DELETED
    
    
| 
         @@ -1,21 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            -----BEGIN CERTIFICATE-----
         
     | 
| 
       2 
     | 
    
         
            -
            MIIDdDCCAlygAwIBAgIBATANBgkqhkiG9w0BAQUFADBAMRAwDgYDVQQDDAdjb250
         
     | 
| 
       3 
     | 
    
         
            -
            YWN0MRUwEwYKCZImiZPyLGQBGRYFY3lyaWwxFTATBgoJkiaJk/IsZAEZFgVlbWFp
         
     | 
| 
       4 
     | 
    
         
            -
            bDAeFw0xNTA3MzExMjExMDZaFw0xNjA3MzAxMjExMDZaMEAxEDAOBgNVBAMMB2Nv
         
     | 
| 
       5 
     | 
    
         
            -
            bnRhY3QxFTATBgoJkiaJk/IsZAEZFgVjeXJpbDEVMBMGCgmSJomT8ixkARkWBWVt
         
     | 
| 
       6 
     | 
    
         
            -
            YWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6hUEYoxnn1mtoaiK
         
     | 
| 
       7 
     | 
    
         
            -
            NiwjzVPqPgQCR9ZeYdWjLJ3UUG2h5Q6awJCnbaGr8LGGcKtveCDbOJRjtdKNuOTH
         
     | 
| 
       8 
     | 
    
         
            -
            O2FLTkf46nrMGiF+6/j//qh8o0EQHBRKIVMYkxZxZe4Fcqtdf1bWNMZuXeyoDjdt
         
     | 
| 
       9 
     | 
    
         
            -
            4yiGfizbbTOu0gBf7Yrsv5DsL0a5CU/We7zxMfgGXCVb9PYkD+OWUMcTARYDKfYa
         
     | 
| 
       10 
     | 
    
         
            -
            nN9ECI7CFm/yXcsof/eIQA5EmJNmQnhx8B+8L6jDqQeSUAUrBZnC9CdloKOoqmEL
         
     | 
| 
       11 
     | 
    
         
            -
            weqM2g6LM932Ba74rEl4QlFRYDcs8kjr71UcvseHRCUkFr36j26OU8+gKelsTNdO
         
     | 
| 
       12 
     | 
    
         
            -
            7OZNKQIDAQABo3kwdzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU
         
     | 
| 
       13 
     | 
    
         
            -
            LSJTN9h29D6bqOhp+vyvhyM0AF4wHgYDVR0RBBcwFYETY29udGFjdEBjeXJpbC5l
         
     | 
| 
       14 
     | 
    
         
            -
            bWFpbDAeBgNVHRIEFzAVgRNjb250YWN0QGN5cmlsLmVtYWlsMA0GCSqGSIb3DQEB
         
     | 
| 
       15 
     | 
    
         
            -
            BQUAA4IBAQArqCC1rUyGJlF0DF9ZhUOgggyROvO0/WroSI5zWgzdB8EU7RJpsDIV
         
     | 
| 
       16 
     | 
    
         
            -
            caGnpji7h0rQIGWQuJ6TL2fTFLfeGRFdIzRZwWC7TeXhcXngJHZxSjDBt2OpfM8A
         
     | 
| 
       17 
     | 
    
         
            -
            P5eElSQS9iJCetBGGMyt354PfgZkg3URaC+JA6mdEisdtEdo64ElnMsLg9shCqye
         
     | 
| 
       18 
     | 
    
         
            -
            JSR3BbejbyPVva0/MHKD+dR6RswlcM9KMiYOXQml7a/kH6huOHvVq9gj5xC2ih8W
         
     | 
| 
       19 
     | 
    
         
            -
            dzJvWzQ1+dJU6WQv75E9ddSkaQrK3nhdgQVu+/wgvGSrsMvOGNz+LXaSDxQqZuwX
         
     | 
| 
       20 
     | 
    
         
            -
            0KNQFuIukfrdk8URwRnHoAnvx4U93iUw
         
     | 
| 
       21 
     | 
    
         
            -
            -----END CERTIFICATE-----
         
     | 
| 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            2988d048456c0dcc53bd2c8c45d8fd0f7de49e1f2bb0a3aca0749671b4baa4376e44e25d05f9ee457fe024872155ce93c8fe5c5e03fdcd494962d69805c5fce3
         
     | 
| 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            541eb96ff91798d807dc5b0bd71dab3e5c17358bc0e5bca8784607b8de0c8e9532011e958e152fb4a22bc653d9af13bd5edaf0989ff77c7941004f03ad0f29be
         
     | 
| 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            9c58b303e8a3c03de72abb0ee0083cf4a83e71d3c3d783fc2d70c51e6e3a49cc281881da78a9ff326cf5462eace11bdb5acb5826228896e6b91abd437d859b17
         
     | 
    
        data/lib/fix/it.rb
    DELETED
    
    
    
        data/lib/fix/on.rb
    DELETED
    
    | 
         @@ -1,43 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # Namespace for the Fix framework.
         
     | 
| 
       2 
     | 
    
         
            -
            module Fix
         
     | 
| 
       3 
     | 
    
         
            -
              # Override Fix's On class.
         
     | 
| 
       4 
     | 
    
         
            -
              class On
         
     | 
| 
       5 
     | 
    
         
            -
                # Useful to perform side-effects, e.g., add something in to a database.
         
     | 
| 
       6 
     | 
    
         
            -
                #
         
     | 
| 
       7 
     | 
    
         
            -
                # @note To declare an instance variable, use the `let` helper instead.
         
     | 
| 
       8 
     | 
    
         
            -
                #
         
     | 
| 
       9 
     | 
    
         
            -
                # @param block [Proc] The block to call.
         
     | 
| 
       10 
     | 
    
         
            -
                #
         
     | 
| 
       11 
     | 
    
         
            -
                # @return [#object_id] The given block.
         
     | 
| 
       12 
     | 
    
         
            -
                def before(*, &block)
         
     | 
| 
       13 
     | 
    
         
            -
                  block.call
         
     | 
| 
       14 
     | 
    
         
            -
                end
         
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
                # @param another_front_object [#object_id]  Override the front object.
         
     | 
| 
       17 
     | 
    
         
            -
                # @param specs                [Proc]        A set of specs.
         
     | 
| 
       18 
     | 
    
         
            -
                #
         
     | 
| 
       19 
     | 
    
         
            -
                # @return [Array] List of results.
         
     | 
| 
       20 
     | 
    
         
            -
                def describe(another_front_object, *, &specs)
         
     | 
| 
       21 
     | 
    
         
            -
                  o = On.new(another_front_object,
         
     | 
| 
       22 
     | 
    
         
            -
                             results,
         
     | 
| 
       23 
     | 
    
         
            -
                             challenges,
         
     | 
| 
       24 
     | 
    
         
            -
                             helpers.dup,
         
     | 
| 
       25 
     | 
    
         
            -
                             configuration)
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
                  o.instance_eval(&specs)
         
     | 
| 
       28 
     | 
    
         
            -
                end
         
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
                # Override the implicit subject.
         
     | 
| 
       31 
     | 
    
         
            -
                #
         
     | 
| 
       32 
     | 
    
         
            -
                # @param block [Proc, nil] Another subject inside a block.
         
     | 
| 
       33 
     | 
    
         
            -
                #
         
     | 
| 
       34 
     | 
    
         
            -
                # @return [#object_id] The subject.
         
     | 
| 
       35 
     | 
    
         
            -
                def subject(&block)
         
     | 
| 
       36 
     | 
    
         
            -
                  if block_given?
         
     | 
| 
       37 
     | 
    
         
            -
                    @described = block.call
         
     | 
| 
       38 
     | 
    
         
            -
                  else
         
     | 
| 
       39 
     | 
    
         
            -
                    super
         
     | 
| 
       40 
     | 
    
         
            -
                  end
         
     | 
| 
       41 
     | 
    
         
            -
                end
         
     | 
| 
       42 
     | 
    
         
            -
              end
         
     | 
| 
       43 
     | 
    
         
            -
            end
         
     | 
    
        data/pkg_checksum
    DELETED
    
    | 
         @@ -1,11 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #!/usr/bin/env ruby
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            require 'digest/sha2'
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
            gemname         = 'r_spec'.to_sym
         
     | 
| 
       6 
     | 
    
         
            -
            ARGV[0]         = File.read('VERSION.semver').chomp if ARGV[0].nil?
         
     | 
| 
       7 
     | 
    
         
            -
            built_gem_path  = "pkg/#{gemname}-#{ARGV[0]}.gem"
         
     | 
| 
       8 
     | 
    
         
            -
            checksum        = Digest::SHA512.new.hexdigest(File.read(built_gem_path))
         
     | 
| 
       9 
     | 
    
         
            -
            checksum_path   = "checksum/#{gemname}-#{ARGV[0]}.gem.sha512"
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
            File.open(checksum_path, 'w') { |f| f.write("#{checksum}\n") }
         
     | 
    
        data/r_spec.gemspec
    DELETED
    
    | 
         @@ -1,32 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            Gem::Specification.new do |spec|
         
     | 
| 
       2 
     | 
    
         
            -
              spec.name          = 'r_spec'
         
     | 
| 
       3 
     | 
    
         
            -
              spec.version       = File.read('VERSION.semver').chomp
         
     | 
| 
       4 
     | 
    
         
            -
              spec.authors       = ['Cyril Wack']
         
     | 
| 
       5 
     | 
    
         
            -
              spec.email         = ['contact@cyril.email']
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
              spec.summary       = 'Rspec clone with Fix.'
         
     | 
| 
       8 
     | 
    
         
            -
              spec.description   = 'A small Rspec clone based on Fix specing framework.'
         
     | 
| 
       9 
     | 
    
         
            -
              spec.homepage      = 'https://github.com/cyril/r_spec'
         
     | 
| 
       10 
     | 
    
         
            -
              spec.license       = 'MIT'
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
              spec.files         =
         
     | 
| 
       13 
     | 
    
         
            -
                `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^test/}) }
         
     | 
| 
       14 
     | 
    
         
            -
              spec.executables   = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
         
     | 
| 
       15 
     | 
    
         
            -
              spec.require_paths = ['lib']
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
              spec.add_dependency 'fix-expect',             '~> 0.3.1'
         
     | 
| 
       18 
     | 
    
         
            -
              spec.add_dependency 'fix-its',                '~> 0.5.0'
         
     | 
| 
       19 
     | 
    
         
            -
              spec.add_dependency 'fix-let',                '~> 0.1.0'
         
     | 
| 
       20 
     | 
    
         
            -
              spec.add_dependency 'matchi-rspec',           '~> 0.1.0'
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
              spec.add_development_dependency 'bundler',    '~> 1.10'
         
     | 
| 
       23 
     | 
    
         
            -
              spec.add_development_dependency 'rake',       '~> 10.4'
         
     | 
| 
       24 
     | 
    
         
            -
              spec.add_development_dependency 'yard',       '~> 0.8'
         
     | 
| 
       25 
     | 
    
         
            -
              spec.add_development_dependency 'simplecov',  '~> 0.10'
         
     | 
| 
       26 
     | 
    
         
            -
              spec.add_development_dependency 'rubocop',    '~> 0.35'
         
     | 
| 
       27 
     | 
    
         
            -
              spec.add_development_dependency 'spectus',    '~> 3.0'
         
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
              spec.cert_chain   = ['certs/gem-cyril-public_cert.pem']
         
     | 
| 
       30 
     | 
    
         
            -
              private_key       = File.expand_path('~/.ssh/gem-cyril-private_key.pem')
         
     | 
| 
       31 
     | 
    
         
            -
              spec.signing_key  = private_key if File.exist?(private_key)
         
     | 
| 
       32 
     | 
    
         
            -
            end
         
     | 
    
        metadata.gz.sig
    DELETED
    
    | 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            �r?DX<_x�s���a>E`GB:�*+�{u�t���
         
     |