check_please 0.2.2 → 0.2.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b880759afe4d4cfa6b3fda2332fdea92be7a141a2faa4ce24ed1f5952a395953
4
- data.tar.gz: 580bb6e7de516510534d315f4d2a0effb539f4e195bb58a30a4f345912591523
3
+ metadata.gz: f794a7a96790b642f2afc6f66bebb761a788c2b2a95025662e4ec8e654e612ef
4
+ data.tar.gz: 98a088234aa843abf60668d8ee6722de318f60d19e29352f8332338d28268e7c
5
5
  SHA512:
6
- metadata.gz: 2c23315e2c734b3d8234c2a8f05c3d7f3626b0d53b255c182f68de20a60df7f28c124260aedb59f015560fc625f4301c48ec29bdf3b772f495c34c6181e114d6
7
- data.tar.gz: 973adce53f7fd590bbd478e8727f3f409def0caed3815b049af9613427a866d761426fcd84c481798e73d7da3abd9c9d77a8bc726171f3030ac7d87b481ddb12
6
+ metadata.gz: 376fe8e75cf2c952d0cbaf42c32ca659c4f96488919eda781fc29cb50b259ddd3a91d60aa4bbae48022ccce96ab04148e60938079920a7657b7e288061b707dc
7
+ data.tar.gz: dd4c24bd01c391fa70e626bd9753efd3601a4a9a92dfe92956ce5742c0d8771e53a32a3ef05cbd1e45ac75eff30342230ba2b3dd238274fbe00bea2291f7d148
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- check_please (0.2.2)
4
+ check_please (0.2.3)
5
5
  table_print
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # check_please
2
2
 
3
- Check for differences between two JSON strings (or Ruby data structures parsed from them).
3
+ Check for differences between two JSON documents, YAML documents, or Ruby data
4
+ structures parsed from either of those.
4
5
 
5
6
  ## Installation
6
7
 
@@ -7,6 +7,9 @@ require_relative "check_please/diffs"
7
7
  require_relative "check_please/printers"
8
8
  require_relative "check_please/cli"
9
9
 
10
+ require 'yaml'
11
+ require 'json'
12
+
10
13
  module CheckPlease
11
14
  ELEVATOR_PITCH = "Tool for parsing and diffing two JSON documents."
12
15
 
@@ -25,16 +28,17 @@ module CheckPlease
25
28
  private
26
29
 
27
30
  # Maybe you gave us JSON strings, maybe you gave us Ruby objects.
28
- # We just don't know! That's what makes it so exciting!
29
- def maybe_parse(maybe_json)
31
+ # Heck, maybe you even gave us some YAML! We just don't know!
32
+ # That's what makes it so exciting!
33
+ def maybe_parse(document)
30
34
 
31
- case maybe_json
32
- when String ; JSON.parse(maybe_json) # don't worry, if this raises we'll assume you've already parsed it
33
- else ; maybe_json
35
+ case document
36
+ when String ; return YAML.load(document) # don't worry, if this raises we'll assume you've already parsed it
37
+ else ; return document
34
38
  end
35
39
 
36
- rescue JSON::ParserError
37
- return maybe_json
40
+ rescue JSON::ParserError, Psych::SyntaxError
41
+ return document
38
42
  end
39
43
  end
40
44
  end
@@ -1,5 +1,3 @@
1
- require 'json'
2
-
3
1
  module CheckPlease
4
2
  module Printers
5
3
 
@@ -14,11 +14,12 @@ module Printers
14
14
  def to_s
15
15
  return "" if diffs.empty?
16
16
 
17
- build_string do |io|
17
+ out = build_string do |io|
18
18
  switch_tableprint_io(io) do
19
19
  tp diffs.data, *TP_OPTS
20
20
  end
21
21
  end
22
+ strip_trailing_whitespace(out)
22
23
  end
23
24
 
24
25
  private
@@ -31,6 +32,10 @@ module Printers
31
32
  ensure
32
33
  config.io = @old_io
33
34
  end
35
+
36
+ def strip_trailing_whitespace(s)
37
+ s.lines.map(&:rstrip).join("\n")
38
+ end
34
39
  end
35
40
 
36
41
  end
@@ -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.2"
4
+ VERSION = "0.2.3"
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.2
4
+ version: 0.2.3
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-15 00:00:00.000000000 Z
11
+ date: 2020-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: table_print