check_please 0.2.3 → 0.2.4

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
2
  SHA256:
3
- metadata.gz: f794a7a96790b642f2afc6f66bebb761a788c2b2a95025662e4ec8e654e612ef
4
- data.tar.gz: 98a088234aa843abf60668d8ee6722de318f60d19e29352f8332338d28268e7c
3
+ metadata.gz: c4433e70c9c7da92bbc95c1bfb2f22a947be4e3d30c9fa5b1d735826cc45dde1
4
+ data.tar.gz: 249804476d1b19c1f9add240b20f5e05b9258d4a70f992b5bc8a3654339e7f5c
5
5
  SHA512:
6
- metadata.gz: 376fe8e75cf2c952d0cbaf42c32ca659c4f96488919eda781fc29cb50b259ddd3a91d60aa4bbae48022ccce96ab04148e60938079920a7657b7e288061b707dc
7
- data.tar.gz: dd4c24bd01c391fa70e626bd9753efd3601a4a9a92dfe92956ce5742c0d8771e53a32a3ef05cbd1e45ac75eff30342230ba2b3dd238274fbe00bea2291f7d148
6
+ metadata.gz: be7a4320ecb7bf5836ed62ed629e3445b20e2e847e497847a5cdbab856694b46b7f039e8c423622b0b35f5d098398c1f060655e9f4f11aacc2b15adeeb1dda61
7
+ data.tar.gz: e15695cfa60a8c2cf29b54b32c33ce76a5758fe76cd8ac92cb90b362d1597060de469b99c4a2e182a5b35b28b4d1757508b6e8b058a6371fd7455ad2a30d7ae3
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- check_please (0.2.3)
4
+ check_please (0.2.4)
5
5
  table_print
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -19,11 +19,10 @@ Or install it yourself as:
19
19
 
20
20
  $ gem install check_please
21
21
 
22
- ## Usage
23
-
24
- ### Terminology
22
+ ## Terminology
25
23
 
26
- CheckPlease uses a few words in a jargony way:
24
+ I know, you just want to see how to use this thing. Feel free to scroll down,
25
+ but be aware that CheckPlease uses a few words in a jargony way:
27
26
 
28
27
  * **Reference** is always used to refer to the "target" or "source of truth."
29
28
  We assume you're comparing two things because you want one of them to be like
@@ -36,7 +35,9 @@ CheckPlease uses a few words in a jargony way:
36
35
  **reference** and the **candidate**. More on this in "Understanding the Output",
37
36
  below.
38
37
 
39
- ### CLI
38
+ ## Usage
39
+
40
+ ### From the Terminal
40
41
 
41
42
  Use the `bin/check_please` executable. (To get started, run it with the '-h' flag.)
42
43
 
@@ -47,19 +48,16 @@ of giving it a second filename as the argument. (This is especially useful if
47
48
  you're copying an XHR response out of a web browser's dev tools and have a tool
48
49
  like MacOS's `pbpaste` utility.)
49
50
 
50
- ### RSpec Matcher
51
+ ### From RSpec
51
52
 
52
53
  See [check_please_rspec_matcher](https://github.com/RealGeeks/check_please_rspec_matcher).
53
54
 
54
- ### From Within Ruby
55
-
56
- Create two JSON strings and pass them to `CheckPlease.render_diff`. You'll get
57
- back a third string containing a nicely formatted report of all the differences
58
- CheckPlease found in the two JSON strings. (See also: [./usage_examples.rb](usage_examples.rb).)
55
+ ### From Ruby
59
56
 
60
- (You can also parse the JSON strings yourself and pass the resulting data
61
- structures in, if you're into that. I mean, I wrote this to help compare JSON
62
- data that's too big and complicated to scan through visually, but you do you!
57
+ Create two strings, each containing a JSON or YAML document, and pass them to
58
+ `CheckPlease.render_diff`. You'll get back a third string containing a report
59
+ of all the differences CheckPlease found in the two JSON strings. (See also:
60
+ [./usage_examples.rb](usage_examples.rb).)
63
61
 
64
62
  ### Understanding the Output
65
63
 
@@ -71,9 +69,7 @@ tool because you want a human-friendly summary of all the places that your
71
69
  **candidate** fell short.
72
70
 
73
71
  When CheckPlease compares your two samples, it generates a list of diffs to
74
- describe any discrepancies it encounters. (By default, it prints that list in a
75
- tabular format, but if you want to incorporate this into another toolchain,
76
- CheckPlease can also print these diffs as JSON to facilitate parsing.)
72
+ describe any discrepancies it encounters.
77
73
 
78
74
  An example would probably help here.
79
75
 
@@ -125,23 +121,22 @@ CheckPlease defines:
125
121
  * **type_mismatch** means that both the **reference** and the **candidate** had
126
122
  a value at the given path, but one value was an Array or a Hash and the other
127
123
  was not. **When CheckPlease encounters a type mismatch, it does not compare
128
- anything "below" the given path.** producing a lot of "garbage" diffs.
129
- _(Technical note: CheckPlease uses a "recursive descent" strategy to
130
- traverse the **reference** data structure, and it stops when it encounters a
131
- type mismatch in order to avoid producing a lot of "garbage" diff output.
132
- Also, the way these get displayed is likely to change.)_
124
+ anything "below" the given path.** _(Technical note: CheckPlease uses a
125
+ "recursive descent" strategy to traverse the **reference** data structure,
126
+ and it stops when it encounters a type mismatch in order to avoid producing a
127
+ lot of "garbage" diff output.)_
133
128
  * **mismatch** means that both the **reference** and the **candidate** had a
134
129
  value at the given path, and neither value was an Array or a Hash.
135
- * **extra** means that, inside an Array or a Hash, the **candidate**
136
- contained values that were not found in the **reference**.
130
+ * **extra** means that, inside an Array or a Hash, the **candidate** contained
131
+ values that were not found in the **reference**.
137
132
  * **missing** is the opposite of **extra**: inside an Array or a Hash, the
138
133
  **reference** contained values that were not found in the **candidate**.
139
134
 
140
135
  #### Paths
141
136
 
142
- The second column contains a path expression. This is extremely basic:
137
+ The second column contains a path expression. This is extremely lo-fi:
143
138
 
144
- * The first element in the data structure is defined as "/".
139
+ * The root of the data structure is defined as "/".
145
140
  * If an element in the data structure is an array, its child elements will have
146
141
  a **one-based** index appended to their parent's path.
147
142
  * If an element in the data structure is an object ("Hash" in Ruby), the key
@@ -165,7 +160,6 @@ print diffs as JSON to facilitate parsing. In Ruby, pass `format: :json` to
165
160
 
166
161
  * command line flags for :allthethings:!
167
162
  * sort by path?
168
- * max depth (for iterative refinement?)
169
163
  * detect timestamps and compare after parsing?
170
164
  * ignore sub-second precision (option / CLI flag)?
171
165
  * possibly support plugins for other folks to add custom coercions?
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require_relative '../lib/check_please'
3
+ require 'check_please'
4
4
  CheckPlease::CLI.run(__FILE__)
@@ -1,5 +1,5 @@
1
1
  module CheckPlease
2
2
  # NOTE: 'check_please_rspec_matcher' depends on this,
3
3
  # so try to keep them roughly in sync
4
- VERSION = "0.2.3"
4
+ VERSION = "0.2.4"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: check_please
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Livingston-Gray
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-16 00:00:00.000000000 Z
11
+ date: 2020-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: table_print
@@ -56,7 +56,8 @@ description: Check for differences between two JSON strings (or Ruby data struct
56
56
  parsed from them)
57
57
  email:
58
58
  - geeksam@gmail.com
59
- executables: []
59
+ executables:
60
+ - check_please
60
61
  extensions: []
61
62
  extra_rdoc_files: []
62
63
  files:
@@ -69,10 +70,10 @@ files:
69
70
  - LICENSE.txt
70
71
  - README.md
71
72
  - Rakefile
72
- - bin/check_please
73
73
  - bin/console
74
74
  - bin/setup
75
75
  - check_please.gemspec
76
+ - exe/check_please
76
77
  - lib/check_please.rb
77
78
  - lib/check_please/cli.rb
78
79
  - lib/check_please/cli/flag.rb