check_please 0.2.2 → 0.2.3

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: 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