rspec-snapshot 0.1.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 399a12bddd879883df59d2585f9b79f0af141f13
4
- data.tar.gz: 05f6017e55fa1cd0475e88c0c5c8c085a81ac9c2
2
+ SHA256:
3
+ metadata.gz: '099c9c3b45ca0936bb35a90dc10263dc0634cfbf307e32eab60eb6154cd0d94c'
4
+ data.tar.gz: 862c34e9f5693afe80ca9384048d03d67e78a6e09300b1906a1e8c929315b263
5
5
  SHA512:
6
- metadata.gz: a1e1bf2d3e3498d3edabc29e4327cd224086e6e0e4f5b990e33b5bd97e2ddb98b3b4d6360266e9cf46ef3352c2fb3b8faa42b21a9e57d3910354be1849453624
7
- data.tar.gz: e7c596351101233fe6faf2eaf2e567062b6abf256a2f1a935d626a1ea0376d920c27720a9b8dbb05660a7924b146b987b072240ac8138bc28fde355a3056e57b
6
+ metadata.gz: a25332c1f83a33d982f16fdf31284d68800db12c1f49a08320e3eca1515a614bd7ba1cb0a5028953d8d32c0cade632c8970a86d1c9fdf941c9b41c9d71476c55
7
+ data.tar.gz: 3c952f9f7da76ac1c464a9e35c69e8b280e09aa6066c9e763eba97e4ad7b4ded481516b68bdbecf35d235010a51e832a15955538e56d02d355c84299c4e42409
data/.rubocop.yml ADDED
@@ -0,0 +1,89 @@
1
+ require:
2
+ - rubocop-rspec
3
+
4
+ AllCops:
5
+ NewCops: "enable"
6
+ Exclude:
7
+ - "Gemfile"
8
+ - "Rakefile"
9
+ - "bin/**/*"
10
+ - "spec/fixtures/**/*"
11
+ TargetRubyVersion: 2.5
12
+
13
+ Layout/EmptyLinesAroundAttributeAccessor:
14
+ Enabled: true
15
+ Layout/LineLength:
16
+ Max: 80
17
+ Layout/SpaceAroundMethodCallOperator:
18
+ Enabled: true
19
+
20
+ Lint:
21
+ Severity: error
22
+ Lint/DeprecatedOpenSSLConstant:
23
+ Enabled: true
24
+ Lint/RaiseException:
25
+ Enabled: true
26
+ Lint/StructNewOverride:
27
+ Enabled: true
28
+
29
+ Metrics/BlockLength:
30
+ Exclude:
31
+ - "rspec-snapshot.gemspec"
32
+ - "spec/**/*"
33
+
34
+ RSpec/AnyInstance:
35
+ Enabled: true
36
+ RSpec/ContextWording:
37
+ Prefixes:
38
+ - when
39
+ - with
40
+ - without
41
+ - and
42
+ RSpec/ExampleLength:
43
+ Enabled: true
44
+ Max: 10
45
+ RSpec/ExpectInHook:
46
+ Enabled: true
47
+ RSpec/FilePath:
48
+ Enabled: true
49
+ RSpec/InstanceVariable:
50
+ Enabled: false
51
+ RSpec/LeakyConstantDeclaration:
52
+ Enabled: true
53
+ RSpec/LetSetup:
54
+ Enabled: true
55
+ RSpec/MessageSpies:
56
+ Enabled: true
57
+ RSpec/MultipleExpectations:
58
+ Enabled: true
59
+ RSpec/MultipleMemoizedHelpers:
60
+ Enabled: false
61
+ RSpec/NamedSubject:
62
+ Enabled: false # Disabled for preference
63
+ RSpec/NestedGroups:
64
+ Max: 6
65
+ RSpec/ScatteredSetup:
66
+ Enabled: true
67
+ RSpec/SubjectStub:
68
+ Enabled: true
69
+ RSpec/VerifiedDoubles:
70
+ Enabled: true
71
+
72
+ Style/AccessModifierDeclarations:
73
+ Enabled: false # Disabled since we follow Clean Code's newspaper code structure
74
+ Style/DoubleNegation:
75
+ Enabled: true
76
+ Style/ExponentialNotation:
77
+ Enabled: true
78
+ Style/HashEachMethods:
79
+ Enabled: true
80
+ Style/HashTransformKeys:
81
+ Enabled: true
82
+ Style/HashTransformValues:
83
+ Enabled: true
84
+ Style/LineEndConcatenation:
85
+ Enabled: false
86
+ Style/MultilineTernaryOperator:
87
+ Enabled: false # Disabled due to preference
88
+ Style/SlicingWithRange:
89
+ Enabled: true
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.7.3
data/.travis.yml CHANGED
@@ -1,6 +1,9 @@
1
1
  sudo: false
2
2
  language: ruby
3
+ dist: focal
3
4
  rvm:
4
- - 2.2.5
5
- - 2.3.1
6
- before_install: gem install bundler -v 1.12.5
5
+ - 2.5.9
6
+ - 2.6.8
7
+ - 2.7.4
8
+ - 3.0.2
9
+ before_install: gem install bundler:2.2.22
data/LICENSE.md ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2016 Wei Zhu
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
14
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
15
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
16
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
17
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
18
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
19
+ OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # RSpec::Snapshot
1
+ # RSpec::Snapshot [![Build Status](https://travis-ci.com/levinmr/rspec-snapshot.svg?branch=master)](https://travis-ci.com/levinmr/rspec-snapshot)
2
2
 
3
- Adding snapshot testing to RSpec, inspired by [jest](http://facebook.github.io/jest/blog/2016/07/27/jest-14.html).
3
+ Adds snapshot testing to RSpec, inspired by [Jest](https://jestjs.io/).
4
4
 
5
5
  ## Installation
6
6
 
@@ -12,7 +12,7 @@ gem 'rspec-snapshot'
12
12
 
13
13
  And then execute:
14
14
 
15
- $ bundle
15
+ $ bundle install
16
16
 
17
17
  Or install it yourself as:
18
18
 
@@ -20,24 +20,35 @@ Or install it yourself as:
20
20
 
21
21
  ## Usage
22
22
 
23
- ### Configration
23
+ The gem provides `match_snapshot` and `snapshot` RSpec matchers which take
24
+ a snapshot name as an argument like:
24
25
 
25
26
  ```ruby
26
- RSpec.configure do |config|
27
- # The default setting is `:relative`, that means snapshots will be generate to
28
- # the relative path of the spec file.
29
- config.snapshot_dir = "spec/fixtures/snapshots"
30
- end
27
+ # match_snapshot
28
+ expect(generated_email).to match_snapshot('welcome_email')
29
+
30
+ # match argument with snapshot
31
+ expect(logger).to have_received(:info).with(snapshot('log message'))
31
32
  ```
32
33
 
33
- ### Rails JSON API controller testing
34
+ When a test is run using a snapshot matcher and a snapshot file does not exist
35
+ matching the passed name, the test value encountered will be serialized and
36
+ stored in your snapshot directory as the file: `#{snapshot_name}.snap`
37
+
38
+ When a test is run using a snapshot matcher and a snapshot file exists matching
39
+ the passed name, then the test value encountered will be serialized and
40
+ compared to the snapshot file contents. If the values match your test passes,
41
+ otherwise it fails.
42
+
43
+ ### Rails request testing
34
44
 
35
45
  ```ruby
36
- describe TeamsController do
37
- describe "GET index" do
38
- it "returns a list of team" do
39
- get :index
40
- expect(response.body).to match_snapshot('controllers/teams/index')
46
+ RSpec.describe 'Posts', type: :request do
47
+ describe 'GET /posts' do
48
+ it 'returns a list of post' do
49
+ get posts_path
50
+
51
+ expect(response.body).to match_snapshot('get_posts')
41
52
  end
42
53
  end
43
54
  end
@@ -46,28 +57,112 @@ end
46
57
  ### Rails view testing
47
58
 
48
59
  ```ruby
49
- describe "widgets/index" do
50
- it "displays all the widgets" do
60
+ RSpec.describe 'widgets/index', type: :view do
61
+ it 'displays all the widgets' do
51
62
  assign(:widgets, [
52
- Widget.create!(:name => "slicer"),
53
- Widget.create!(:name => "dicer")
63
+ Widget.create!(:name => 'slicer'),
64
+ Widget.create!(:name => 'dicer')
54
65
  ])
55
66
 
56
67
  render
57
68
 
58
- expect(rendered).to match_snapshot('views/widgets/index')
69
+ expect(rendered).to match_snapshot('widgets/index')
59
70
  end
60
71
  end
61
72
  ```
62
73
 
63
- Use your imagination for other usages!
74
+ ### UPDATE_SNAPSHOTS environment variable
75
+
76
+ Occasionally you may want to regenerate all encountered snapshots for a set of
77
+ tests. To do this, just set the UPDATE_SNAPSHOTS environment variable for your
78
+ test command.
79
+
80
+ Update all snapshots
81
+
82
+ $ UPDATE_SNAPSHOTS=true bundle exec rspec
83
+
84
+ Update snapshots for some subset of tests
85
+
86
+ $ UPDATE_SNAPSHOTS=true bundle exec rspec spec/foo/bar
87
+
88
+ ## Configuration
89
+
90
+ Global configurations for rspec-snapshot are optional. Details below:
91
+
92
+ ```ruby
93
+ RSpec.configure do |config|
94
+ # The default setting is `:relative`, which means snapshot files will be
95
+ # created in a '__snapshots__' directory adjacent to the spec file where the
96
+ # matcher is used.
97
+ #
98
+ # Set this value to put all snapshots in a fixed directory
99
+ config.snapshot_dir = "spec/fixtures/snapshots"
100
+
101
+ # Defaults to using the awesome_print gem to serialize values for snapshots
102
+ #
103
+ # Set this value to use a custom snapshot serializer
104
+ config.snapshot_serializer = MyFavoriteSerializer
105
+ end
106
+ ```
107
+
108
+ ### Custom serializers
109
+
110
+ By default, values to be stored as snapshots are serialized to human readable
111
+ string form using the [awesome_print](https://github.com/awesome-print/awesome_print) gem.
112
+
113
+ You can pass custom serializers to `rspec-snapshot` if you prefer. Pass a serializer class name to the global RSpec config, or to an individual
114
+ matcher as a config option:
115
+
116
+ ```ruby
117
+ # Set a custom serializer for all tests
118
+ RSpec.configure do |config|
119
+ config.snapshot_serializer = MyCoolGeneralSerializer
120
+ end
121
+
122
+ # Set a custom serializer for this specific test
123
+ expect(html_response).to(
124
+ match_snapshot('html_response', { snapshot_serializer: MyAwesomeHTMLSerializer })
125
+ )
126
+ ```
127
+
128
+ Serializer classes are required to have one instance method `dump` which takes
129
+ the value to be serialized and returns a string.
130
+
131
+ ## Migration
132
+
133
+ If you're updating to version 2.x.x from 1.x.x, you may need to update all your existing snapshots since the serialization method has changed.
134
+
135
+ $ UPDATE_SNAPSHOTS=true bundle exec rspec
64
136
 
65
137
  ## Development
66
138
 
67
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
139
+ ### Initial Setup
140
+
141
+ Install a current version of ruby (> 2.5) and bundler. Then install gems
142
+
143
+ $ bundle install
144
+
145
+ ### Linting
146
+
147
+ $ bundle exec rubocop
148
+
149
+ ### Unit tests
68
150
 
69
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
151
+ $ bundle exec rspec
152
+
153
+ ### Interactive console with the gem code loaded
154
+
155
+ $ bin/console
156
+
157
+ ### Rake commands
158
+
159
+ To install this gem onto your local machine, run `bundle exec rake install`. To
160
+ release a new version, update the version number in `version.rb`, and then run
161
+ `bundle exec rake release`, which will create a git tag for the version, push
162
+ git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
70
163
 
71
164
  ## Contributing
72
165
 
73
- Bug reports and pull requests are welcome on GitHub at https://github.com/yesmeck/rspec-snapshot.
166
+ Bug reports and pull requests are welcome on GitHub at https://github.com/levinmr/rspec-snapshot.
167
+
168
+ A big thanks to the original author [@yesmeck](https://github.com/yesmeck).
@@ -1,11 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RSpec
4
+ # rubocop:disable Style/Documentation
2
5
  module Snapshot
3
- class Configuration; end
6
+ class Configuration
7
+ def self.initialize_configuration(config)
8
+ config.add_setting :snapshot_dir, default: :relative
4
9
 
5
- def self.initialize_configuration(config)
6
- config.add_setting :snapshot_dir, :default => :relative
10
+ config.add_setting :snapshot_serializer, default: nil
11
+ end
7
12
  end
8
13
 
9
- initialize_configuration RSpec.configuration
14
+ Configuration.initialize_configuration RSpec.configuration
10
15
  end
16
+ # rubocop:enable Style/Documentation
11
17
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'awesome_print'
4
+
5
+ module RSpec
6
+ module Snapshot
7
+ # Serializes values in a human readable way for snapshots using the
8
+ # awesome_print gem
9
+ class DefaultSerializer
10
+ def dump(value)
11
+ value.ai(plain: true, indent: 2)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,45 +1,109 @@
1
- require "fileutils"
1
+ # frozen_string_literal: true
2
+
3
+ require 'fileutils'
4
+ require 'rspec/snapshot/default_serializer'
2
5
 
3
6
  module RSpec
4
7
  module Snapshot
5
8
  module Matchers
6
- class MatchSnapShot
7
- def initialize(metadata, snapshot_name)
9
+ # RSpec matcher for snapshot testing
10
+ class MatchSnapshot
11
+ attr_reader :actual, :expected
12
+
13
+ def initialize(metadata, snapshot_name, config)
8
14
  @metadata = metadata
9
15
  @snapshot_name = snapshot_name
16
+ @config = config
17
+ @serializer = serializer_class.new
18
+ @snapshot_path = File.join(snapshot_dir, "#{@snapshot_name}.snap")
19
+ create_snapshot_dir
10
20
  end
11
21
 
12
- def matches?(actual)
13
- @actual = actual
14
- filename = "#{@snapshot_name}.snap"
15
- snap_path = File.join(snapshot_dir, filename)
16
- FileUtils.mkdir_p(File.dirname(snap_path)) unless Dir.exist?(File.dirname(snap_path))
17
- if File.exist?(snap_path)
18
- file = File.new(snap_path)
19
- @expect = file.read
20
- file.close
21
- @actual == @expect
22
+ private def serializer_class
23
+ if @config[:snapshot_serializer]
24
+ @config[:snapshot_serializer]
25
+ elsif RSpec.configuration.snapshot_serializer
26
+ RSpec.configuration.snapshot_serializer
22
27
  else
23
- RSpec.configuration.reporter.message "Generate #{snap_path}"
24
- file = File.new(snap_path, "w+")
25
- file.write(@actual)
26
- file.close
27
- true
28
+ DefaultSerializer
28
29
  end
29
30
  end
30
31
 
31
-
32
- def failure_message
33
- "\nexpected: #{@expect_snap}\n got: #{@actual_snap}\n"
34
- end
35
-
36
- def snapshot_dir
32
+ private def snapshot_dir
37
33
  if RSpec.configuration.snapshot_dir.to_s == 'relative'
38
- File.dirname(@metadata[:file_path]) << "/__snapshots__"
34
+ File.dirname(@metadata[:file_path]) << '/__snapshots__'
39
35
  else
40
36
  RSpec.configuration.snapshot_dir
41
37
  end
42
38
  end
39
+
40
+ private def create_snapshot_dir
41
+ return if Dir.exist?(File.dirname(@snapshot_path))
42
+
43
+ FileUtils.mkdir_p(File.dirname(@snapshot_path))
44
+ end
45
+
46
+ def matches?(actual)
47
+ @actual = serialize(actual)
48
+
49
+ write_snapshot
50
+
51
+ @expected = read_snapshot
52
+
53
+ @actual == @expected
54
+ end
55
+
56
+ # === is the method called when matching an argument
57
+ alias === matches?
58
+ alias match matches?
59
+
60
+ private def serialize(value)
61
+ return value if value.is_a?(String)
62
+
63
+ @serializer.dump(value)
64
+ end
65
+
66
+ private def write_snapshot
67
+ return unless should_write?
68
+
69
+ RSpec.configuration.reporter.message(
70
+ "Snapshot written: #{@snapshot_path}"
71
+ )
72
+ file = File.new(@snapshot_path, 'w+')
73
+ file.write(@actual)
74
+ file.close
75
+ end
76
+
77
+ private def should_write?
78
+ update_snapshots? || !File.exist?(@snapshot_path)
79
+ end
80
+
81
+ private def update_snapshots?
82
+ ENV['UPDATE_SNAPSHOTS']
83
+ end
84
+
85
+ private def read_snapshot
86
+ file = File.new(@snapshot_path)
87
+ value = file.read
88
+ file.close
89
+ value
90
+ end
91
+
92
+ def description
93
+ "to match a snapshot containing: \"#{@expected}\""
94
+ end
95
+
96
+ def diffable?
97
+ true
98
+ end
99
+
100
+ def failure_message
101
+ "\nexpected: #{@expected}\n got: #{@actual}\n"
102
+ end
103
+
104
+ def failure_message_when_negated
105
+ "\nexpected: #{@expected} not to match #{@actual}\n"
106
+ end
43
107
  end
44
108
  end
45
109
  end
@@ -1,13 +1,20 @@
1
- require "json"
2
- require "rspec/snapshot/matchers/match_snapshot"
1
+ # frozen_string_literal: true
2
+
3
+ require 'rspec/snapshot/matchers/match_snapshot'
3
4
 
4
5
  module RSpec
5
6
  module Snapshot
7
+ # rubocop:disable Style/Documentation
6
8
  module Matchers
7
- def match_snapshot(snapshot_name)
8
- MatchSnapShot.new(self.class.metadata, snapshot_name)
9
+ def match_snapshot(snapshot_name, config = {})
10
+ MatchSnapshot.new(RSpec.current_example.metadata,
11
+ snapshot_name,
12
+ config)
9
13
  end
14
+
15
+ alias snapshot match_snapshot
10
16
  end
17
+ # rubocop:enable Style/Documentation
11
18
  end
12
19
  end
13
20
 
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RSpec
2
4
  module Snapshot
3
- VERSION = "0.1.0"
5
+ VERSION = '2.0.1'
4
6
  end
5
7
  end
@@ -1,4 +1,6 @@
1
- require "rspec"
2
- require "rspec/snapshot/version"
3
- require "rspec/snapshot/configuration"
4
- require "rspec/snapshot/matchers"
1
+ # frozen_string_literal: true
2
+
3
+ require 'rspec'
4
+ require 'rspec/snapshot/version'
5
+ require 'rspec/snapshot/configuration'
6
+ require 'rspec/snapshot/matchers'
@@ -1,27 +1,37 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'rspec/snapshot/version'
5
6
 
6
7
  Gem::Specification.new do |spec|
7
- spec.name = "rspec-snapshot"
8
+ spec.name = 'rspec-snapshot'
8
9
  spec.version = RSpec::Snapshot::VERSION
9
- spec.authors = ["Wei Zhu"]
10
- spec.email = ["yesmeck@gmail.com"]
10
+ spec.authors = ['Mike Levin']
11
+ spec.email = ['michael_r_levin@yahoo.com']
12
+ spec.license = 'MIT'
11
13
 
12
- spec.summary = %q{RSpec Snapshot Matcher}
13
- spec.description = %q{Adding snapshot testing to RSpec}
14
- spec.homepage = "https://github.com/yesmeck/rspec-snapshot"
14
+ spec.summary = 'RSpec Snapshot Matcher'
15
+ spec.description = 'Adding snapshot testing to RSpec'
16
+ spec.homepage = 'https://github.com/levinmr/rspec-snapshot'
15
17
 
16
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
- spec.bindir = "exe"
18
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
19
+ f.match(%r{^(test|spec|features)/})
20
+ end
21
+ spec.bindir = 'exe'
18
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
- spec.require_paths = ["lib"]
23
+ spec.require_paths = ['lib']
24
+
25
+ spec.required_ruby_version = '>= 2.5.0'
20
26
 
21
- spec.add_dependency "rspec", "> 3.0.0"
27
+ spec.add_dependency 'awesome_print', '> 1.0.0'
28
+ spec.add_dependency 'rspec', '> 3.0.0'
22
29
 
23
- spec.add_development_dependency "bundler", "~> 1.12"
24
- spec.add_development_dependency "rake", "~> 10.0"
25
- spec.add_development_dependency "pry", "~> 0.10.4"
26
- spec.add_development_dependency "activesupport", "~> 5.0.0"
30
+ spec.add_development_dependency 'bundler', '~> 2.2'
31
+ spec.add_development_dependency 'byebug'
32
+ spec.add_development_dependency 'pry-byebug'
33
+ spec.add_development_dependency 'rake', '~> 13.0'
34
+ spec.add_development_dependency 'rubocop', '~> 1.22'
35
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.5'
36
+ spec.add_development_dependency 'simplecov'
27
37
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-snapshot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
- - Wei Zhu
8
- autorequire:
7
+ - Mike Levin
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-09-05 00:00:00.000000000 Z
11
+ date: 2021-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: awesome_print
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.0.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.0.0
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: rspec
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -30,81 +44,127 @@ dependencies:
30
44
  requirements:
31
45
  - - "~>"
32
46
  - !ruby/object:Gem::Version
33
- version: '1.12'
47
+ version: '2.2'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
- version: '1.12'
54
+ version: '2.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: byebug
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry-byebug
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
41
83
  - !ruby/object:Gem::Dependency
42
84
  name: rake
43
85
  requirement: !ruby/object:Gem::Requirement
44
86
  requirements:
45
87
  - - "~>"
46
88
  - !ruby/object:Gem::Version
47
- version: '10.0'
89
+ version: '13.0'
48
90
  type: :development
49
91
  prerelease: false
50
92
  version_requirements: !ruby/object:Gem::Requirement
51
93
  requirements:
52
94
  - - "~>"
53
95
  - !ruby/object:Gem::Version
54
- version: '10.0'
96
+ version: '13.0'
55
97
  - !ruby/object:Gem::Dependency
56
- name: pry
98
+ name: rubocop
57
99
  requirement: !ruby/object:Gem::Requirement
58
100
  requirements:
59
101
  - - "~>"
60
102
  - !ruby/object:Gem::Version
61
- version: 0.10.4
103
+ version: '1.22'
62
104
  type: :development
63
105
  prerelease: false
64
106
  version_requirements: !ruby/object:Gem::Requirement
65
107
  requirements:
66
108
  - - "~>"
67
109
  - !ruby/object:Gem::Version
68
- version: 0.10.4
110
+ version: '1.22'
69
111
  - !ruby/object:Gem::Dependency
70
- name: activesupport
112
+ name: rubocop-rspec
71
113
  requirement: !ruby/object:Gem::Requirement
72
114
  requirements:
73
115
  - - "~>"
74
116
  - !ruby/object:Gem::Version
75
- version: 5.0.0
117
+ version: '2.5'
76
118
  type: :development
77
119
  prerelease: false
78
120
  version_requirements: !ruby/object:Gem::Requirement
79
121
  requirements:
80
122
  - - "~>"
81
123
  - !ruby/object:Gem::Version
82
- version: 5.0.0
124
+ version: '2.5'
125
+ - !ruby/object:Gem::Dependency
126
+ name: simplecov
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
83
139
  description: Adding snapshot testing to RSpec
84
140
  email:
85
- - yesmeck@gmail.com
141
+ - michael_r_levin@yahoo.com
86
142
  executables: []
87
143
  extensions: []
88
144
  extra_rdoc_files: []
89
145
  files:
90
146
  - ".gitignore"
91
147
  - ".rspec"
148
+ - ".rubocop.yml"
149
+ - ".ruby-version"
92
150
  - ".travis.yml"
93
151
  - Gemfile
152
+ - LICENSE.md
94
153
  - README.md
95
154
  - Rakefile
96
155
  - bin/console
97
- - bin/setup
98
156
  - lib/rspec/snapshot.rb
99
157
  - lib/rspec/snapshot/configuration.rb
158
+ - lib/rspec/snapshot/default_serializer.rb
100
159
  - lib/rspec/snapshot/matchers.rb
101
160
  - lib/rspec/snapshot/matchers/match_snapshot.rb
102
161
  - lib/rspec/snapshot/version.rb
103
162
  - rspec-snapshot.gemspec
104
- homepage: https://github.com/yesmeck/rspec-snapshot
105
- licenses: []
163
+ homepage: https://github.com/levinmr/rspec-snapshot
164
+ licenses:
165
+ - MIT
106
166
  metadata: {}
107
- post_install_message:
167
+ post_install_message:
108
168
  rdoc_options: []
109
169
  require_paths:
110
170
  - lib
@@ -112,16 +172,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
112
172
  requirements:
113
173
  - - ">="
114
174
  - !ruby/object:Gem::Version
115
- version: '0'
175
+ version: 2.5.0
116
176
  required_rubygems_version: !ruby/object:Gem::Requirement
117
177
  requirements:
118
178
  - - ">="
119
179
  - !ruby/object:Gem::Version
120
180
  version: '0'
121
181
  requirements: []
122
- rubyforge_project:
123
- rubygems_version: 2.4.8
124
- signing_key:
182
+ rubygems_version: 3.1.6
183
+ signing_key:
125
184
  specification_version: 4
126
185
  summary: RSpec Snapshot Matcher
127
186
  test_files: []
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here