fix 0.18.2 → 1.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.md +1 -1
  3. data/README.md +36 -69
  4. data/lib/fix.rb +5 -8
  5. data/lib/fix/context.rb +147 -0
  6. data/lib/fix/expectation_result_not_found_error.rb +5 -0
  7. data/lib/fix/it.rb +15 -25
  8. data/lib/fix/suspicious_success_error.rb +5 -0
  9. data/lib/kernel.rb +9 -0
  10. metadata +29 -86
  11. data/.gitignore +0 -11
  12. data/.rubocop.yml +0 -1
  13. data/.rubocop_todo.yml +0 -25
  14. data/.travis.yml +0 -28
  15. data/.yardopts +0 -1
  16. data/CODE_OF_CONDUCT.md +0 -13
  17. data/Gemfile +0 -5
  18. data/Rakefile +0 -23
  19. data/VERSION.semver +0 -1
  20. data/bin/console +0 -8
  21. data/bin/setup +0 -6
  22. data/checksum/fix-0.0.1.pre.gem.sha512 +0 -1
  23. data/checksum/fix-0.1.0.gem.sha512 +0 -1
  24. data/checksum/fix-0.1.0.pre.gem.sha512 +0 -1
  25. data/checksum/fix-0.10.0.gem.sha512 +0 -1
  26. data/checksum/fix-0.11.0.gem.sha512 +0 -1
  27. data/checksum/fix-0.11.1.gem.sha512 +0 -1
  28. data/checksum/fix-0.12.0.gem.sha512 +0 -1
  29. data/checksum/fix-0.12.1.gem.sha512 +0 -1
  30. data/checksum/fix-0.12.2.gem.sha512 +0 -1
  31. data/checksum/fix-0.12.3.gem.sha512 +0 -1
  32. data/checksum/fix-0.13.0.gem.sha512 +0 -1
  33. data/checksum/fix-0.14.0.gem.sha512 +0 -1
  34. data/checksum/fix-0.14.1.gem.sha512 +0 -1
  35. data/checksum/fix-0.15.0.gem.sha512 +0 -1
  36. data/checksum/fix-0.15.2.gem.sha512 +0 -1
  37. data/checksum/fix-0.16.0.gem.sha512 +0 -1
  38. data/checksum/fix-0.17.0.gem.sha512 +0 -1
  39. data/checksum/fix-0.17.1.gem.sha512 +0 -1
  40. data/checksum/fix-0.17.2.gem.sha512 +0 -1
  41. data/checksum/fix-0.18.0.gem.sha512 +0 -1
  42. data/checksum/fix-0.18.1.gem.sha512 +0 -1
  43. data/checksum/fix-0.2.0.gem.sha512 +0 -1
  44. data/checksum/fix-0.3.0.gem.sha512 +0 -1
  45. data/checksum/fix-0.4.0.gem.sha512 +0 -1
  46. data/checksum/fix-0.5.0.gem.sha512 +0 -1
  47. data/checksum/fix-0.6.0.gem.sha512 +0 -1
  48. data/checksum/fix-0.6.1.gem.sha512 +0 -1
  49. data/checksum/fix-0.7.0.gem.sha512 +0 -1
  50. data/checksum/fix-0.8.0.gem.sha512 +0 -1
  51. data/checksum/fix-0.9.0.gem.sha512 +0 -1
  52. data/checksum/fix-0.9.1.gem.sha512 +0 -1
  53. data/fix.gemspec +0 -29
  54. data/lib/fix/on.rb +0 -139
  55. data/lib/fix/report.rb +0 -120
  56. data/lib/fix/test.rb +0 -89
  57. data/pkg_checksum +0 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f3185bfc9a8b56c3a47a7efbbcbf141ea054e405bf2d4c6d0e76ceec8bc0fed2
4
- data.tar.gz: fff9e1401b1e7aff1b9214692922eb6176548f12b94265d673fc4daa311bba53
3
+ metadata.gz: 3f307018b701019985c925b9a244c7b6813462faac51b8fef26488070a564f30
4
+ data.tar.gz: c09cc676e5394ef581f5fa7d0ae57beafc4a28686661c5d66b0bdd0006481864
5
5
  SHA512:
6
- metadata.gz: 7de8da736c7d22d71a24b0d4a03fc691e34f2c33bf1394aeda3a78856b687c6e686b1b4ac548c7a52237953996fb70e35de5733da715a2b06342654ae9737fd2
7
- data.tar.gz: 1058e6255fb4423d8479eddf1d95431de023acacefe84d87825f33ed4205378b5eea2ddfcdeb3b72aaa9e921eb96df240e52a12a55427d7dba9b68227550fb02
6
+ metadata.gz: 35d0e3bafa2f2b612a039c9892cf6024eb42bc52923a551c49b96d3b0efb2abcd9a6e5022b8086c69c351e15f5b789f460e2c938b1a82a4f7148c18a93ca4898
7
+ data.tar.gz: 9c6b388b420a98226aeb4fb59746725f4ea36824ea0d78065b01c4bd9d7c341a10b84dcb42351ca6a0bf865bf754404ad263cfd2b29de1cdd5916e97fd89fbf5
data/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2014-2019 Cyril Kato
3
+ Copyright (c) 2014-2020 Cyril Kato
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,26 +1,20 @@
1
1
  # Fix
2
2
 
3
- [![Build Status](https://travis-ci.org/fixrb/fix.svg?branch=master)][travis]
3
+ [![Build Status](https://api.travis-ci.org/fixrb/fix.svg?branch=master)][travis]
4
4
  [![Code Climate](https://codeclimate.com/github/fixrb/fix/badges/gpa.svg)][codeclimate]
5
5
  [![Gem Version](https://badge.fury.io/rb/fix.svg)][gem]
6
- [![Inline docs](http://inch-ci.org/github/fixrb/fix.svg?branch=master)][inchpages]
7
- [![Documentation](http://img.shields.io/:yard-docs-38c800.svg)][rubydoc]
6
+ [![Inline docs](https://inch-ci.org/github/fixrb/fix.svg?branch=master)][inchpages]
7
+ [![Documentation](https://img.shields.io/:yard-docs-38c800.svg)][rubydoc]
8
8
  [![Gitter](https://badges.gitter.im/Join%20Chat.svg)][gitter]
9
9
 
10
10
  > Specing framework for Ruby.
11
11
 
12
- ## Contact
13
-
14
- * Home page: https://fixrb.dev/
15
- * Bugs/issues: https://github.com/fixrb/fix/issues
16
- * Support: https://stackoverflow.com/questions/tagged/fixrb
17
-
18
12
  ## Installation
19
13
 
20
14
  Add this line to your application's Gemfile:
21
15
 
22
16
  ```ruby
23
- gem 'fix'
17
+ gem 'fix', '>= 1.0.0.beta1'
24
18
  ```
25
19
 
26
20
  And then execute:
@@ -29,36 +23,14 @@ And then execute:
29
23
 
30
24
  Or install it yourself as:
31
25
 
32
- $ gem install fix
33
-
34
- ## Let's get started!
35
-
36
- [![asciicast](https://asciinema.org/a/29098.png)](https://asciinema.org/a/29098)
37
-
38
- ## Philosophy
39
-
40
- ### Simple, stupid
41
-
42
- With 174 LOC built on top of [Spectus expectation library](https://github.com/fixrb/spectus), facilities such as benchmarking and mocking are not supported. __Fix__ offers however a **consistent** DSL to focus your BDD.
43
-
44
- ### True specifications
45
-
46
- While specs behave like **documents** which can be logic-less, their interpretation should not be questioned regardless of the version of __Fix__, preventing from software erosion. Also, Fix specs are compliant with **[RFC 2119](http://tools.ietf.org/html/rfc2119)**.
47
-
48
- ### Low code complexity
49
-
50
- Monkey-patching, [magic tricks and friends](http://blog.arkency.com/2013/06/are-we-abusing-at-exit/) are not included. Instead, animated by **authentic** and **unmuted** Ruby objects, unambiguous, understandable and structured specs are encouraged.
51
-
52
- ### Test in isolation
53
-
54
- Rather than a _random order_ option to help finding bugs somewhere (and sometimes luck), __Fix__ prevents from **side effects** by running each context inside a distinct **sub-process**. As it behaves like a function, no matter how many times you call it, the build status remains the same.
26
+ $ gem install fix --pre
55
27
 
56
28
  ## Usage
57
29
 
58
30
  Given this app:
59
31
 
60
32
  ```ruby
61
- # duck.rb
33
+ # examples/duck/app.rb
62
34
  class Duck
63
35
  def walks
64
36
  'Klop klop!'
@@ -77,13 +49,13 @@ end
77
49
  When you run this:
78
50
 
79
51
  ```ruby
80
- # duck_spec.rb
81
- require_relative 'duck'
82
- require 'fix'
52
+ # examples/duck/fix.rb
53
+ require_relative 'app'
54
+ require_relative '../../lib/fix'
83
55
 
84
56
  @bird = Duck.new
85
57
 
86
- Fix.describe @bird do
58
+ Fix(@bird) do
87
59
  on :swims do
88
60
  it { MUST eql 'Swoosh...' }
89
61
  end
@@ -100,53 +72,48 @@ end
100
72
 
101
73
  Then the output should look like this:
102
74
 
103
- $ ruby duck_spec.rb
104
- ..I
105
-
106
- 1. Info: undefined method `sings' for #<Duck:0x007fb60383b740> (NoMethodError).
75
+ ```sh
76
+ ruby examples/duck/fix.rb
77
+ ```
107
78
 
108
- Ran 3 tests in 0.00038 seconds
109
- 100% compliant - 1 infos, 0 failures, 0 errors
79
+ ```txt
80
+ examples/duck/fix.rb:8: Success: expected to eql "Swoosh...".
81
+ examples/duck/fix.rb:12: Success: undefined method `speaks' for #<Duck:0x00007fe3be868ea0>.
82
+ examples/duck/fix.rb:16: NoMethodError: undefined method `sings' for #<Duck:0x00007fe3be868ea0>.
83
+ ```
110
84
 
111
- ## Security
85
+ ## Contact
112
86
 
113
- As a basic form of security __Fix__ provides a set of SHA512 checksums for
114
- every Gem release. These checksums can be found in the `checksum/` directory.
115
- Although these checksums do not prevent malicious users from tampering with a
116
- built Gem they can be used for basic integrity verification purposes.
87
+ * Home page: https://fixrb.dev/
88
+ * Bugs/issues: https://github.com/fixrb/fix/issues
89
+ * Support: https://stackoverflow.com/questions/tagged/fixrb
117
90
 
118
- The checksum of a file can be checked using the `sha512sum` command. For
119
- example:
91
+ ## Rubies
120
92
 
121
- $ sha512sum pkg/fix-0.1.0.gem
122
- d12d7d9c2a4fdfe075cbb7a141fa5f2195175891e4098c7e1a28c8bca655ab44fb9d67b6a2e3991d0f852026c5e4537fdf7e314575c68d1c80b3a4b1eb1c041f pkg/fix-0.1.0.gem
93
+ * [MRI](https://www.ruby-lang.org/)
94
+ * [Rubinius](https://rubinius.com/)
95
+ * [JRuby](https://www.jruby.org/)
123
96
 
124
97
  ## Versioning
125
98
 
126
99
  __Fix__ follows [Semantic Versioning 2.0](http://semver.org/).
127
100
 
128
- ## Contributing
101
+ ## License
129
102
 
130
- 1. [Fork it](https://github.com/fixrb/fix/fork)
131
- 2. Create your feature branch (`git checkout -b my-new-feature`)
132
- 3. Commit your changes (`git commit -am 'Add some feature'`)
133
- 4. Push to the branch (`git push origin my-new-feature`)
134
- 5. Create a new Pull Request
103
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
135
104
 
136
- ## License
105
+ ***
137
106
 
138
- See `LICENSE.md` file.
107
+ <p>
108
+ This project is sponsored by:<br />
109
+ <a href="https://sashite.com/"><img
110
+ src="https://github.com/fixrb/fix/raw/master/img/sashite.png"
111
+ alt="Sashite" /></a>
112
+ </p>
139
113
 
140
- [gem]: https://rubygems.org/gems/fix
141
114
  [travis]: https://travis-ci.org/fixrb/fix
142
115
  [codeclimate]: https://codeclimate.com/github/fixrb/fix
143
- [gemnasium]: https://gemnasium.com/fixrb/fix
116
+ [gem]: https://rubygems.org/gems/fix
144
117
  [inchpages]: http://inch-ci.org/github/fixrb/fix
145
118
  [rubydoc]: http://rubydoc.info/gems/fix/frames
146
119
  [gitter]: https://gitter.im/fixrb/fix?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge
147
-
148
- ***
149
-
150
- This project is sponsored by:
151
-
152
- [![Sashite](https://pbs.twimg.com/profile_images/618485028322975744/PZ9qPuI__400x400.png)](https://sashite.com/)
data/lib/fix.rb CHANGED
@@ -2,8 +2,6 @@
2
2
 
3
3
  # Namespace for the Fix framework.
4
4
  #
5
- # @api public
6
- #
7
5
  module Fix
8
6
  # Specs are built with this method.
9
7
  #
@@ -17,12 +15,11 @@ module Fix
17
15
  # @param specs [Proc] The set of specs.
18
16
  #
19
17
  # @raise [SystemExit] The result of the test.
20
- def self.describe(front_object, verbose: true, **options, &specs)
21
- t = Test.new(front_object, verbose: verbose, **options, &specs)
22
-
23
- print t.report.to_s if verbose
24
- exit t.pass?
18
+ def self.describe(front_object, **lets, &block)
19
+ c = Context.new(front_object, ::Defi.send(:itself), **lets)
20
+ c.instance_eval(&block)
25
21
  end
26
22
  end
27
23
 
28
- require_relative File.join('fix', 'test')
24
+ require_relative 'kernel'
25
+ require_relative File.join('fix', 'context')
@@ -0,0 +1,147 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aw'
4
+ require 'defi'
5
+
6
+ module Fix
7
+ # Wraps the target of challenge.
8
+ class Context
9
+ RESERVED_KEYWORDS = %i[
10
+ alias
11
+ and
12
+ begin
13
+ break
14
+ case
15
+ catch
16
+ class
17
+ def
18
+ defined?
19
+ do
20
+ else
21
+ elsif
22
+ end
23
+ ensure
24
+ fail
25
+ false
26
+ for
27
+ if
28
+ in
29
+ module
30
+ next
31
+ nil
32
+ not
33
+ or
34
+ raise
35
+ redo
36
+ rescue
37
+ retry
38
+ return
39
+ self
40
+ super
41
+ then
42
+ throw
43
+ true
44
+ undef
45
+ unless
46
+ until
47
+ when
48
+ while
49
+ yield
50
+ ].freeze
51
+
52
+ attr_reader :callable
53
+
54
+ def initialize(subject, challenge, before_hooks_counter = 0, *hooks, **lets)
55
+ @subject = subject
56
+ @callable = challenge.to(subject)
57
+ @before_hooks = hooks[0, before_hooks_counter]
58
+ @after_hooks = hooks[before_hooks_counter..-1]
59
+ @lets = lets
60
+ end
61
+
62
+ def before(&block)
63
+ @before_hooks << block
64
+ end
65
+
66
+ def after(&block)
67
+ @after_hooks << block
68
+ end
69
+
70
+ def let(name, &block)
71
+ raise ::TypeError, "expected a Symbol, got #{name.class}" unless name.is_a?(::Symbol)
72
+ raise ::NameError, "wrong method name `#{name}'" unless name.match?(/\A[a-z][a-z0-9_]+[?!]?\z/)
73
+ raise ::NameError, "reserved keyword name `#{name}'" if RESERVED_KEYWORDS.include?(name)
74
+ raise ::NameError, "reserved method name `#{name}'" if respond_to?(name, true) && !@lets.key?(name)
75
+
76
+ @lets.update(name => block.call)
77
+ rescue ::SystemExit => e
78
+ raise SuspiciousSuccessError, "attempt `#{name}' to bypass the tests" if e.success?
79
+ raise e
80
+ end
81
+
82
+ def let!(name, &block)
83
+ raise ::TypeError, "expected a Symbol, got #{name.class}" unless name.is_a?(::Symbol)
84
+ raise ::NameError, "wrong method name `#{name}'" unless name.match?(/\A[a-z][a-z0-9_]+[?!]?\z/)
85
+ raise ::NameError, "reserved keyword name `#{name}'" if RESERVED_KEYWORDS.include?(name)
86
+ raise ::NameError, "reserved method name `#{name}'" if respond_to?(name, true) && !@lets.key?(name)
87
+
88
+ @lets.update(name => ::Aw.fork! { block.call })
89
+ rescue ::SystemExit => e
90
+ raise SuspiciousSuccessError, "attempt `#{name}' to bypass the tests" if e.success?
91
+ raise e
92
+ end
93
+
94
+ # Verify the expectation.
95
+ #
96
+ # @param block [Proc] A spec to compare against the computed actual value.
97
+ #
98
+ # @return [::Spectus::Result::Pass, ::Spectus::Result::Fail] Pass or fail.
99
+ def it(_message = nil, &block)
100
+ print "#{block.source_location.join(':')}: "
101
+ i = It.new(callable, **@lets)
102
+ @before_hooks.each { |hook| i.instance_eval(&hook) }
103
+ result = i.instance_eval(&block)
104
+ puts result.colored_string
105
+ rescue ::Spectus::Result::Fail => result
106
+ abort result.colored_string
107
+ ensure
108
+ @after_hooks.each { |hook| i.instance_eval(&hook) }
109
+ raise ExpectationResultNotFoundError unless result.is_a?(::Spectus::Result::Common)
110
+ end
111
+
112
+ def on(name, *args, **options, &block)
113
+ if callable.raised?
114
+ actual = callable
115
+ challenge = ::Defi.send(:call)
116
+ else
117
+ actual = callable.object
118
+ challenge = ::Defi.send(name, *args, **options)
119
+ end
120
+
121
+ o = Context.new(actual, challenge, @before_hooks.length, *@before_hooks + @after_hooks, **@lets)
122
+ o.instance_eval(&block)
123
+ end
124
+
125
+ def with(_message = nil, **new_lets, &block)
126
+ actual = callable.object
127
+ challenge = ::Defi.send(:itself)
128
+
129
+ c = Context.new(actual, challenge, @before_hooks.length, *@before_hooks + @after_hooks, **@lets.merge(new_lets))
130
+ c.instance_eval(&block)
131
+ end
132
+
133
+ private
134
+
135
+ def method_missing(name, *args, &block)
136
+ @lets.fetch(name) { super }
137
+ end
138
+
139
+ def respond_to_missing?(name, include_private = false)
140
+ @lets.key?(name) || super
141
+ end
142
+ end
143
+ end
144
+
145
+ require_relative 'it'
146
+ require_relative 'expectation_result_not_found_error'
147
+ require_relative 'suspicious_success_error'
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Fix
4
+ class ExpectationResultNotFoundError < ::RuntimeError; end
5
+ end
@@ -1,41 +1,31 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'spectus/expectation_target'
4
- require 'spectus/matchers'
4
+ require 'matchi/helper'
5
5
 
6
6
  module Fix
7
7
  # Wraps the target of an expectation.
8
- #
9
- # @api private
10
- #
11
8
  class It < ::Spectus::ExpectationTarget
12
- include ::Spectus::Matchers
9
+ include ::Matchi::Helper
13
10
 
14
11
  # Create a new expection target
15
12
  #
16
- # @param subject [BasicObject] The front object.
17
- # @param challenges [Array] The list of challenges.
18
- # @param helpers [Hash] The list of helpers.
19
- def initialize(subject, challenges, helpers)
20
- @subject = subject
21
- @challenges = challenges
13
+ # @param callable [#call] The object to test.
14
+ def initialize(callable, **lets)
15
+ raise unless callable.respond_to?(:call)
22
16
 
23
- helpers.each do |method_name, method_block|
24
- define_singleton_method(method_name) do
25
- method_block.call
26
- end
27
- end
17
+ @callable = callable
18
+ @lets = lets
28
19
  end
29
20
 
30
- # Verify the expectation.
31
- #
32
- # @param spec [Proc] A spec to compare against the computed actual value.
33
- #
34
- # @return [::Spectus::Result::Pass, ::Spectus::Result::Fail] Pass or fail.
35
- def verify(&spec)
36
- instance_eval(&spec)
37
- rescue ::Spectus::Result::Fail => e
38
- e
21
+ private
22
+
23
+ def method_missing(name, *args, &block)
24
+ @lets.fetch(name) { super }
25
+ end
26
+
27
+ def respond_to_missing?(name, include_private = false)
28
+ @lets.key?(name) || super
39
29
  end
40
30
  end
41
31
  end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Fix
4
+ class SuspiciousSuccessError < ::StandardError; end
5
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Kernel
4
+ # rubocop:disable Naming/MethodName
5
+ def Fix(subject, **lets, &block)
6
+ ::Fix.describe(subject, **lets, &block)
7
+ end
8
+ # rubocop:enable Naming/MethodName
9
+ end
metadata CHANGED
@@ -1,71 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fix
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.2
4
+ version: 1.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cyril Kato
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-08 00:00:00.000000000 Z
11
+ date: 2020-01-01 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: aw
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 0.1.6
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 0.1.6
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: defi
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - "~>"
32
18
  - !ruby/object:Gem::Version
33
- version: 1.1.5
19
+ version: 2.0.3
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
24
  - - "~>"
39
25
  - !ruby/object:Gem::Version
40
- version: 1.1.5
26
+ version: 2.0.3
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: spectus
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: 3.0.9
33
+ version: 3.1.1
48
34
  type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
38
  - - "~>"
53
39
  - !ruby/object:Gem::Version
54
- version: 3.0.9
40
+ version: 3.1.1
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: bundler
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - "~>"
60
46
  - !ruby/object:Gem::Version
61
- version: '2.0'
47
+ version: '2.1'
62
48
  type: :development
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
52
  - - "~>"
67
53
  - !ruby/object:Gem::Version
68
- version: '2.0'
54
+ version: '2.1'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: rake
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -84,30 +70,30 @@ dependencies:
84
70
  name: rubocop
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
- - - "~>"
73
+ - - ">="
88
74
  - !ruby/object:Gem::Version
89
- version: '0.75'
75
+ version: '0'
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
- - - "~>"
80
+ - - ">="
95
81
  - !ruby/object:Gem::Version
96
- version: '0.75'
82
+ version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: rubocop-performance
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
- - - "~>"
87
+ - - ">="
102
88
  - !ruby/object:Gem::Version
103
- version: '1.5'
89
+ version: '0'
104
90
  type: :development
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
- - - "~>"
94
+ - - ">="
109
95
  - !ruby/object:Gem::Version
110
- version: '1.5'
96
+ version: '0'
111
97
  - !ruby/object:Gem::Dependency
112
98
  name: simplecov
113
99
  requirement: !ruby/object:Gem::Requirement
@@ -137,67 +123,24 @@ dependencies:
137
123
  - !ruby/object:Gem::Version
138
124
  version: '0.9'
139
125
  description: Specing framework for Ruby.
140
- email:
141
- - contact@cyril.email
126
+ email: contact@cyril.email
142
127
  executables: []
143
128
  extensions: []
144
129
  extra_rdoc_files: []
145
130
  files:
146
- - ".gitignore"
147
- - ".rubocop.yml"
148
- - ".rubocop_todo.yml"
149
- - ".travis.yml"
150
- - ".yardopts"
151
- - CODE_OF_CONDUCT.md
152
- - Gemfile
153
131
  - LICENSE.md
154
132
  - README.md
155
- - Rakefile
156
- - VERSION.semver
157
- - bin/console
158
- - bin/setup
159
- - checksum/fix-0.0.1.pre.gem.sha512
160
- - checksum/fix-0.1.0.gem.sha512
161
- - checksum/fix-0.1.0.pre.gem.sha512
162
- - checksum/fix-0.10.0.gem.sha512
163
- - checksum/fix-0.11.0.gem.sha512
164
- - checksum/fix-0.11.1.gem.sha512
165
- - checksum/fix-0.12.0.gem.sha512
166
- - checksum/fix-0.12.1.gem.sha512
167
- - checksum/fix-0.12.2.gem.sha512
168
- - checksum/fix-0.12.3.gem.sha512
169
- - checksum/fix-0.13.0.gem.sha512
170
- - checksum/fix-0.14.0.gem.sha512
171
- - checksum/fix-0.14.1.gem.sha512
172
- - checksum/fix-0.15.0.gem.sha512
173
- - checksum/fix-0.15.2.gem.sha512
174
- - checksum/fix-0.16.0.gem.sha512
175
- - checksum/fix-0.17.0.gem.sha512
176
- - checksum/fix-0.17.1.gem.sha512
177
- - checksum/fix-0.17.2.gem.sha512
178
- - checksum/fix-0.18.0.gem.sha512
179
- - checksum/fix-0.18.1.gem.sha512
180
- - checksum/fix-0.2.0.gem.sha512
181
- - checksum/fix-0.3.0.gem.sha512
182
- - checksum/fix-0.4.0.gem.sha512
183
- - checksum/fix-0.5.0.gem.sha512
184
- - checksum/fix-0.6.0.gem.sha512
185
- - checksum/fix-0.6.1.gem.sha512
186
- - checksum/fix-0.7.0.gem.sha512
187
- - checksum/fix-0.8.0.gem.sha512
188
- - checksum/fix-0.9.0.gem.sha512
189
- - checksum/fix-0.9.1.gem.sha512
190
- - fix.gemspec
191
133
  - lib/fix.rb
134
+ - lib/fix/context.rb
135
+ - lib/fix/expectation_result_not_found_error.rb
192
136
  - lib/fix/it.rb
193
- - lib/fix/on.rb
194
- - lib/fix/report.rb
195
- - lib/fix/test.rb
196
- - pkg_checksum
197
- homepage: https://github.com/fixrb/fix
137
+ - lib/fix/suspicious_success_error.rb
138
+ - lib/kernel.rb
139
+ homepage: https://fixrb.dev/
198
140
  licenses:
199
141
  - MIT
200
- metadata: {}
142
+ metadata:
143
+ source_code_uri: https://github.com/fixrb/fix
201
144
  post_install_message:
202
145
  rdoc_options: []
203
146
  require_paths:
@@ -206,15 +149,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
206
149
  requirements:
207
150
  - - ">="
208
151
  - !ruby/object:Gem::Version
209
- version: '0'
152
+ version: 2.7.0
210
153
  required_rubygems_version: !ruby/object:Gem::Requirement
211
154
  requirements:
212
- - - ">="
155
+ - - ">"
213
156
  - !ruby/object:Gem::Version
214
- version: '0'
157
+ version: 1.3.1
215
158
  requirements: []
216
- rubygems_version: 3.0.3
159
+ rubygems_version: 3.1.2
217
160
  signing_key:
218
161
  specification_version: 4
219
- summary: Specing framework.
162
+ summary: Specing framework for Ruby.
220
163
  test_files: []