prism_checker 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +29 -0
- data/README.md +145 -4
- data/lib/prism_checker/node/base.rb +2 -1
- data/lib/prism_checker/site_prism_compat.rb +17 -0
- metadata +21 -154
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ba46f4fc664beea6ea8ce92f28aacd290909ec228bbc75d43a28433853b51a95
|
|
4
|
+
data.tar.gz: 2db3609621ccb519163d98f0f0a18bcbbaddefb7455f5f62f211c5bc3eb6e337
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 49532ad537da621054457190b11ca14b0acf18af760b2dca27700e967114e9be77d25f9640b88c7221403f1e76d8d005989ea688cccbce79b968e077df171eac
|
|
7
|
+
data.tar.gz: 27ff911f88064c9f4fb7c5146876f41146c99d9952f2673af172ee0407fff7757be119888f52a9b18ce8024192843920937b9b87a79b4c54bb7775ca84d12d9b
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project are documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## 1.1.0 - 2026-07-16
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Minimum supported Ruby is now 3.3 (was 2.5).
|
|
13
|
+
- `SitePrism::TimeoutError` is resolved at runtime, so both site_prism 5 and 6 are supported.
|
|
14
|
+
- `site_prism` dependency narrowed to `>= 5.0, < 7`.
|
|
15
|
+
- Development dependencies moved from the gemspec to the `Gemfile`.
|
|
16
|
+
- Gemspec now publishes `metadata` links (source, changelog, bug tracker) and requires MFA for releases.
|
|
17
|
+
|
|
18
|
+
### Removed
|
|
19
|
+
|
|
20
|
+
- The `webdrivers` development dependency. Selenium Manager, bundled with
|
|
21
|
+
`selenium-webdriver >= 4.6`, resolves browser drivers instead.
|
|
22
|
+
|
|
23
|
+
## 1.0.1
|
|
24
|
+
|
|
25
|
+
- Sequential loading of page objects.
|
|
26
|
+
|
|
27
|
+
## 1.0.0
|
|
28
|
+
|
|
29
|
+
- First public release.
|
data/README.md
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|

|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
## Contents
|
|
4
|
+
|
|
5
|
+
- [Overview](#overview)
|
|
6
|
+
- [Install](#install)
|
|
7
|
+
- [Setup](#setup)
|
|
8
|
+
- [Cheat sheet](#cheat-sheet)
|
|
9
|
+
- [Examples](#examples)
|
|
10
|
+
- [Common cases](#common-cases)
|
|
11
|
+
- [HTML elements](#html-elements)
|
|
12
|
+
- [Visibility](#visibility)
|
|
13
|
+
- [Absence](#absence)
|
|
14
|
+
- [Configuration](#configuration)
|
|
15
|
+
- [String comparison](#string-comparison)
|
|
16
|
+
- [Colorizer](#colorizer)
|
|
4
17
|
|
|
5
18
|
## Overview
|
|
6
19
|
|
|
@@ -8,6 +21,8 @@ PrismChecker is an extension for rspec and minitest, built on top of the [SitePr
|
|
|
8
21
|
gem and using its page object model.
|
|
9
22
|
It allows you to write short, easy-to-read browser tests with clear error messages
|
|
10
23
|
|
|
24
|
+
Requires Ruby >= 3.3 and site_prism >= 5.0.
|
|
25
|
+
|
|
11
26
|
Let's assume your application has the following shop cart:
|
|
12
27
|
|
|
13
28
|

|
|
@@ -95,7 +110,7 @@ describe 'Cart' do
|
|
|
95
110
|
}
|
|
96
111
|
],
|
|
97
112
|
checkout: {
|
|
98
|
-
total: '67.00',
|
|
113
|
+
total: '67.00', # deliberately wrong, to show the failure report below
|
|
99
114
|
checkout_button: 'Checkout'
|
|
100
115
|
}
|
|
101
116
|
)
|
|
@@ -104,7 +119,8 @@ end
|
|
|
104
119
|
|
|
105
120
|
```
|
|
106
121
|
|
|
107
|
-
In case of errors, an easy-to-read message will be displayed
|
|
122
|
+
In case of errors, an easy-to-read message will be displayed. Every key is reported with its
|
|
123
|
+
own status, so the failing one is visible at a glance:
|
|
108
124
|
|
|
109
125
|

|
|
110
126
|
|
|
@@ -122,6 +138,109 @@ gem install prism_checker_rspec
|
|
|
122
138
|
gem install prism_checker_minitest
|
|
123
139
|
```
|
|
124
140
|
|
|
141
|
+
## Setup
|
|
142
|
+
|
|
143
|
+
PrismChecker drives the browser through SitePrism and Capybara, so a Capybara driver has to be
|
|
144
|
+
registered as usual. Only the last two lines are PrismChecker-specific.
|
|
145
|
+
|
|
146
|
+
### RSpec
|
|
147
|
+
|
|
148
|
+
Adds the `be_like` matcher:
|
|
149
|
+
|
|
150
|
+
```ruby
|
|
151
|
+
# Gemfile
|
|
152
|
+
gem 'prism_checker_rspec'
|
|
153
|
+
```
|
|
154
|
+
```ruby
|
|
155
|
+
# spec/spec_helper.rb
|
|
156
|
+
require 'capybara/rspec'
|
|
157
|
+
require 'selenium-webdriver'
|
|
158
|
+
require 'site_prism'
|
|
159
|
+
require 'prism_checker_rspec'
|
|
160
|
+
|
|
161
|
+
Capybara.register_driver :prism_checker do |app|
|
|
162
|
+
options = Selenium::WebDriver::Chrome::Options.new
|
|
163
|
+
options.add_argument('--headless=new')
|
|
164
|
+
|
|
165
|
+
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
Capybara.configure do |config|
|
|
169
|
+
config.default_driver = :prism_checker
|
|
170
|
+
config.app_host = 'http://localhost:3000'
|
|
171
|
+
# Needed so that :invisible expectations can see hidden elements
|
|
172
|
+
config.ignore_hidden_elements = false
|
|
173
|
+
end
|
|
174
|
+
```
|
|
175
|
+
```ruby
|
|
176
|
+
# spec/cart_spec.rb
|
|
177
|
+
describe 'Cart' do
|
|
178
|
+
it 'is correct' do
|
|
179
|
+
page = Cart.new
|
|
180
|
+
page.load
|
|
181
|
+
|
|
182
|
+
expect(page).to be_like(header: 'Shopping Cart')
|
|
183
|
+
end
|
|
184
|
+
end
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### MiniTest
|
|
188
|
+
|
|
189
|
+
Adds the `assert_page_like` assertion:
|
|
190
|
+
|
|
191
|
+
```ruby
|
|
192
|
+
# Gemfile
|
|
193
|
+
gem 'prism_checker_minitest'
|
|
194
|
+
```
|
|
195
|
+
```ruby
|
|
196
|
+
# test/test_helper.rb
|
|
197
|
+
require 'minitest/autorun'
|
|
198
|
+
require 'capybara/minitest'
|
|
199
|
+
require 'site_prism'
|
|
200
|
+
require 'prism_checker_minitest'
|
|
201
|
+
|
|
202
|
+
# ...same Capybara.register_driver / Capybara.configure as above
|
|
203
|
+
```
|
|
204
|
+
```ruby
|
|
205
|
+
# test/cart_test.rb
|
|
206
|
+
class CartTest < Minitest::Test
|
|
207
|
+
include Capybara::DSL
|
|
208
|
+
include Capybara::Minitest::Assertions
|
|
209
|
+
|
|
210
|
+
def test_cart
|
|
211
|
+
page = Cart.new
|
|
212
|
+
page.load
|
|
213
|
+
|
|
214
|
+
assert_page_like page, header: 'Shopping Cart'
|
|
215
|
+
end
|
|
216
|
+
end
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## Cheat sheet
|
|
220
|
+
|
|
221
|
+
What gets checked depends on the type of the expectation and on the inspected item.
|
|
222
|
+
|
|
223
|
+
| Expectation | Checked against |
|
|
224
|
+
|---|---|
|
|
225
|
+
| `'text'` | `text` of an element, section or page; `value` of an input, textarea or select; `src` of an image |
|
|
226
|
+
| `/regexp/` | the same values, matched as a regular expression |
|
|
227
|
+
| `42` | `size` of elements/sections |
|
|
228
|
+
| `[...]` | `size` of elements/sections, then each entry in turn |
|
|
229
|
+
| `{...}` | element is visible, then each key in turn |
|
|
230
|
+
| `true` / `false` | `checked?` of a checkbox or radio |
|
|
231
|
+
| `:visible` | `visible?` |
|
|
232
|
+
| `:invisible` | `visible?` is false |
|
|
233
|
+
| `:absent` | `has_no_<name>?` |
|
|
234
|
+
| `:absent3` | sleep 3 seconds, then `has_no_<name>?` |
|
|
235
|
+
| `:empty` | value is an empty string |
|
|
236
|
+
|
|
237
|
+
Inside a `{...}` expectation, keys map to Capybara methods (`text`, `value`, `checked`, `disabled`,
|
|
238
|
+
`readonly`, `selected`, `multiple`) or, failing that, to HTML attributes (`class`, `id`, `src`, `alt`,
|
|
239
|
+
`data-*`, ...).
|
|
240
|
+
|
|
241
|
+
A page or element is always checked for being loaded or visible before its value is compared,
|
|
242
|
+
so those assertions never need to be spelled out.
|
|
243
|
+
|
|
125
244
|
## Examples
|
|
126
245
|
### Common cases
|
|
127
246
|
|
|
@@ -628,6 +747,8 @@ expect(page).to be_like(article: :absent3)
|
|
|
628
747
|
# sleep 3
|
|
629
748
|
# expect(page.has_no_article?).to eq(true)
|
|
630
749
|
```
|
|
750
|
+
## Configuration
|
|
751
|
+
|
|
631
752
|
### String comparison
|
|
632
753
|
|
|
633
754
|
#### Exact match and inclusion
|
|
@@ -668,3 +789,23 @@ expect(page.element_without_text).to be_like(/^$/)
|
|
|
668
789
|
# expect(page.element_without_text.visible?).to eq(true)
|
|
669
790
|
# expect(page.element_without_text.text).to match(/^$/)
|
|
670
791
|
```
|
|
792
|
+
|
|
793
|
+
### Colorizer
|
|
794
|
+
|
|
795
|
+
Failure reports are colorized through `PrismChecker.colorizer`. `prism_checker_rspec` sets one that
|
|
796
|
+
uses the RSpec console codes; the default of the core gem returns text unchanged.
|
|
797
|
+
|
|
798
|
+
A colorizer answers `colorize(text, code)`, where `code` is one of `:success`, `:failure`,
|
|
799
|
+
`:detail` or `:white`:
|
|
800
|
+
|
|
801
|
+
```ruby
|
|
802
|
+
class MyColorizer
|
|
803
|
+
CODES = { success: 32, failure: 31, detail: 33, white: 37 }.freeze
|
|
804
|
+
|
|
805
|
+
def self.colorize(text, code)
|
|
806
|
+
"\e[#{CODES[code]}m#{text}\e[0m"
|
|
807
|
+
end
|
|
808
|
+
end
|
|
809
|
+
|
|
810
|
+
PrismChecker.colorizer = MyColorizer
|
|
811
|
+
```
|
|
@@ -6,6 +6,7 @@ require_relative 'bad_expectation'
|
|
|
6
6
|
require_relative '../element_wrapper'
|
|
7
7
|
require_relative '../absence_expectation'
|
|
8
8
|
require_relative '../item_classifier'
|
|
9
|
+
require_relative '../site_prism_compat'
|
|
9
10
|
|
|
10
11
|
module PrismChecker
|
|
11
12
|
module Node
|
|
@@ -67,7 +68,7 @@ module PrismChecker
|
|
|
67
68
|
|
|
68
69
|
def wait_until_true(timeout = @timeout, &block)
|
|
69
70
|
SitePrism::Waiter.wait_until_true(timeout, &block)
|
|
70
|
-
rescue
|
|
71
|
+
rescue SitePrismCompat.timeout_error
|
|
71
72
|
false
|
|
72
73
|
end
|
|
73
74
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module PrismChecker
|
|
4
|
+
# site_prism 6 nests its errors under SitePrism::Error, while 5 keeps them
|
|
5
|
+
# at the top level. The gem supports both, so the class is resolved on first
|
|
6
|
+
# use rather than at load time: site_prism is required by the host suite,
|
|
7
|
+
# not by prism_checker itself.
|
|
8
|
+
module SitePrismCompat
|
|
9
|
+
def self.timeout_error
|
|
10
|
+
@timeout_error ||= if SitePrism.const_defined?(:Error, false) && SitePrism::Error.const_defined?(:TimeoutError, false)
|
|
11
|
+
SitePrism::Error::TimeoutError
|
|
12
|
+
else
|
|
13
|
+
SitePrism::TimeoutError
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: prism_checker
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ganglion-17
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: site_prism
|
|
@@ -16,160 +15,20 @@ dependencies:
|
|
|
16
15
|
requirements:
|
|
17
16
|
- - ">="
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
20
|
-
type: :runtime
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - ">="
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: '3.0'
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: byebug
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - "~>"
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '11.1'
|
|
34
|
-
type: :development
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - "~>"
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: '11.1'
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: dotenv
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - ">="
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '0'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - ">="
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '0'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: rspec
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - "~>"
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '3.1'
|
|
62
|
-
type: :development
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - "~>"
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: '3.1'
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: rubocop
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - "~>"
|
|
74
|
-
- !ruby/object:Gem::Version
|
|
75
|
-
version: 1.11.0
|
|
76
|
-
type: :development
|
|
77
|
-
prerelease: false
|
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
-
requirements:
|
|
80
|
-
- - "~>"
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: 1.11.0
|
|
83
|
-
- !ruby/object:Gem::Dependency
|
|
84
|
-
name: rubocop-performance
|
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
|
86
|
-
requirements:
|
|
87
|
-
- - "~>"
|
|
88
|
-
- !ruby/object:Gem::Version
|
|
89
|
-
version: 1.10.1
|
|
90
|
-
type: :development
|
|
91
|
-
prerelease: false
|
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
-
requirements:
|
|
94
|
-
- - "~>"
|
|
95
|
-
- !ruby/object:Gem::Version
|
|
96
|
-
version: 1.10.1
|
|
97
|
-
- !ruby/object:Gem::Dependency
|
|
98
|
-
name: rubocop-rspec
|
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
|
100
|
-
requirements:
|
|
101
|
-
- - "~>"
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: 2.2.0
|
|
104
|
-
type: :development
|
|
105
|
-
prerelease: false
|
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
-
requirements:
|
|
108
|
-
- - "~>"
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: 2.2.0
|
|
111
|
-
- !ruby/object:Gem::Dependency
|
|
112
|
-
name: selenium-webdriver
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - ">="
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: '3.13'
|
|
18
|
+
version: '5.0'
|
|
118
19
|
- - "<"
|
|
119
20
|
- !ruby/object:Gem::Version
|
|
120
|
-
version: '
|
|
121
|
-
type: :
|
|
21
|
+
version: '7'
|
|
22
|
+
type: :runtime
|
|
122
23
|
prerelease: false
|
|
123
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
124
25
|
requirements:
|
|
125
26
|
- - ">="
|
|
126
27
|
- !ruby/object:Gem::Version
|
|
127
|
-
version: '
|
|
28
|
+
version: '5.0'
|
|
128
29
|
- - "<"
|
|
129
30
|
- !ruby/object:Gem::Version
|
|
130
|
-
version: '
|
|
131
|
-
- !ruby/object:Gem::Dependency
|
|
132
|
-
name: simplecov
|
|
133
|
-
requirement: !ruby/object:Gem::Requirement
|
|
134
|
-
requirements:
|
|
135
|
-
- - "~>"
|
|
136
|
-
- !ruby/object:Gem::Version
|
|
137
|
-
version: '0.22'
|
|
138
|
-
type: :development
|
|
139
|
-
prerelease: false
|
|
140
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
141
|
-
requirements:
|
|
142
|
-
- - "~>"
|
|
143
|
-
- !ruby/object:Gem::Version
|
|
144
|
-
version: '0.22'
|
|
145
|
-
- !ruby/object:Gem::Dependency
|
|
146
|
-
name: simplecov_json_formatter
|
|
147
|
-
requirement: !ruby/object:Gem::Requirement
|
|
148
|
-
requirements:
|
|
149
|
-
- - ">="
|
|
150
|
-
- !ruby/object:Gem::Version
|
|
151
|
-
version: '0'
|
|
152
|
-
type: :development
|
|
153
|
-
prerelease: false
|
|
154
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
155
|
-
requirements:
|
|
156
|
-
- - ">="
|
|
157
|
-
- !ruby/object:Gem::Version
|
|
158
|
-
version: '0'
|
|
159
|
-
- !ruby/object:Gem::Dependency
|
|
160
|
-
name: webdrivers
|
|
161
|
-
requirement: !ruby/object:Gem::Requirement
|
|
162
|
-
requirements:
|
|
163
|
-
- - "~>"
|
|
164
|
-
- !ruby/object:Gem::Version
|
|
165
|
-
version: '4.6'
|
|
166
|
-
type: :development
|
|
167
|
-
prerelease: false
|
|
168
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
169
|
-
requirements:
|
|
170
|
-
- - "~>"
|
|
171
|
-
- !ruby/object:Gem::Version
|
|
172
|
-
version: '4.6'
|
|
31
|
+
version: '7'
|
|
173
32
|
description: |
|
|
174
33
|
prism_checker is an extension for rspec and minitest, built on top of the site_prism gem and using its page object model.
|
|
175
34
|
It allows you to write short, easy-to-read browser tests with clear error messages
|
|
@@ -177,8 +36,12 @@ email:
|
|
|
177
36
|
- ganglion1717@gmail.com
|
|
178
37
|
executables: []
|
|
179
38
|
extensions: []
|
|
180
|
-
extra_rdoc_files:
|
|
39
|
+
extra_rdoc_files:
|
|
40
|
+
- CHANGELOG.md
|
|
41
|
+
- LICENSE.md
|
|
42
|
+
- README.md
|
|
181
43
|
files:
|
|
44
|
+
- CHANGELOG.md
|
|
182
45
|
- LICENSE.md
|
|
183
46
|
- README.md
|
|
184
47
|
- lib/prism_checker.rb
|
|
@@ -222,11 +85,16 @@ files:
|
|
|
222
85
|
- lib/prism_checker/node/expectation.rb
|
|
223
86
|
- lib/prism_checker/node/hash.rb
|
|
224
87
|
- lib/prism_checker/report_builder.rb
|
|
88
|
+
- lib/prism_checker/site_prism_compat.rb
|
|
225
89
|
homepage: https://github.com/prism-checker/prism_checker
|
|
226
90
|
licenses:
|
|
227
91
|
- BSD-3-Clause
|
|
228
|
-
metadata:
|
|
229
|
-
|
|
92
|
+
metadata:
|
|
93
|
+
bug_tracker_uri: https://github.com/prism-checker/prism_checker/issues
|
|
94
|
+
changelog_uri: https://github.com/prism-checker/prism_checker/blob/main/CHANGELOG.md
|
|
95
|
+
documentation_uri: https://github.com/prism-checker/prism_checker/blob/main/README.md
|
|
96
|
+
source_code_uri: https://github.com/prism-checker/prism_checker
|
|
97
|
+
rubygems_mfa_required: 'true'
|
|
230
98
|
rdoc_options: []
|
|
231
99
|
require_paths:
|
|
232
100
|
- lib
|
|
@@ -234,15 +102,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
234
102
|
requirements:
|
|
235
103
|
- - ">="
|
|
236
104
|
- !ruby/object:Gem::Version
|
|
237
|
-
version: '
|
|
105
|
+
version: '3.3'
|
|
238
106
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
239
107
|
requirements:
|
|
240
108
|
- - ">="
|
|
241
109
|
- !ruby/object:Gem::Version
|
|
242
110
|
version: '0'
|
|
243
111
|
requirements: []
|
|
244
|
-
rubygems_version: 3.
|
|
245
|
-
signing_key:
|
|
112
|
+
rubygems_version: 3.6.9
|
|
246
113
|
specification_version: 4
|
|
247
114
|
summary: Short and easy-to-read browser tests with clear error messages
|
|
248
115
|
test_files: []
|