fix 0.18.2 → 1.0.0.beta1

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.
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: []