good_print 0.0.1 → 0.0.2

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
  SHA1:
3
- metadata.gz: efd0e338cdb5bddeb201aded80819d77a57011b3
4
- data.tar.gz: ca4e6bd0e4434364512fd9d7300203f4e55e8819
3
+ metadata.gz: 7b98353f2f09b2211c93580712b8552b0a10671e
4
+ data.tar.gz: 534936b83be90c67e52ffd9d8125432d0a39e63e
5
5
  SHA512:
6
- metadata.gz: f510679f0d8919edca3454525fc49742cd02039a36ec97e3d06bcb6adc34d02f0d96c794294120da158e6e6383009d35038907efdde209a71679b01c4f80b3ef
7
- data.tar.gz: 84e7308870c28df5b2da5e75f5855afad44f5b511868aa4a1220b90c1fac8fe39b9af919cc3063e077383f6fa6a0862685268bcd2b61c21aebe970deac9b8d3c
6
+ metadata.gz: e3c8a91b3a60e0df5eb9029a7f6c97a1c740dcf115afce871d0603578b74134c418a78d140a852703988f27c95357605f6d8a1b836fd5778d893c45f0961f3d1
7
+ data.tar.gz: b40185531ba898358bb0450cadcf8959c7eb362b2d5170998a54913ad47de62234284a39fdbda36cea6715bff773107a2b86160c5f244e98a866e2067f01c1fa
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # GoodPrint
1
+ # Good Print
2
2
 
3
- Not as awesome as awesome_print.
3
+ Not as awesome as awesome_print. Prints objects with simple balanced indentation.
4
4
 
5
5
  ```ruby
6
6
  >> require 'good_print'
@@ -9,6 +9,7 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Mark Dodwell"]
10
10
  spec.email = ["mark@mkdynamic.co.uk"]
11
11
  spec.summary = "Not as awesome as awesome_print."
12
+ spec.description = "Not as awesome as awesome_print. Prints objects with simple balanced indentation."
12
13
  spec.homepage = ""
13
14
  spec.license = "MIT"
14
15
 
@@ -7,40 +7,46 @@ module GoodPrint
7
7
  def gp_puts(string, level, trailer = false, end_with_comma = false)
8
8
  prefix = trailer ? "" : " " * GP_INDENT * level
9
9
  suffix = end_with_comma ? "," : ""
10
- puts "#{prefix}#{string}#{suffix}"
10
+ "#{prefix}#{string}#{suffix}\n"
11
11
  end
12
12
 
13
13
  def gp_print(string, level, trailer = false, end_with_comma = false)
14
14
  prefix = trailer ? "" : " " * GP_INDENT * level
15
15
  suffix = end_with_comma ? "," : ""
16
- print "#{prefix}#{string}#{suffix}"
16
+ "#{prefix}#{string}#{suffix}"
17
17
  end
18
18
 
19
- def gp(object, level = 0, trailer = false, end_with_comma = false)
19
+ def gp(io, object, level = 0, trailer = false, end_with_comma = false)
20
20
  case object
21
21
  when Hash
22
- gp_puts "{", level, trailer
22
+ io << gp_puts("{", level, trailer)
23
23
  object.each_pair.each_with_index do |(k, v), idx|
24
- gp_print "#{k.inspect} => ", level + 1
25
- gp v, level + 1, true, idx < object.size - 1
24
+ io << gp_print("#{k.inspect} => ", level + 1)
25
+ gp io, v, level + 1, true, idx < object.size - 1
26
26
  end
27
- gp_puts "}", level, false, end_with_comma
27
+ io << gp_puts("}", level, false, end_with_comma)
28
28
  when Enumerable
29
- prefix = if (defined? Set) && object.is_a?(Set)
30
- "<Set>"
29
+ if object.is_a?(Range) && object.begin.is_a?(Time)
30
+ io << gp_puts("#{object.inspect}", level, trailer, end_with_comma)
31
+ else
32
+ prefix = if (defined? Set) && object.is_a?(Set)
33
+ "<Set>"
34
+ end
35
+ io << gp_puts("#{prefix}[", level, trailer)
36
+ object.each_with_index do |v, idx|
37
+ gp io, v, level + 1, false, idx < object.size - 1
38
+ end
39
+ io << gp_puts("]", level, false, end_with_comma)
31
40
  end
32
- gp_puts "#{prefix}[", level, trailer
33
- object.each_with_index do |v, idx|
34
- gp v, level + 1, false, idx < object.size - 1
35
- end
36
- gp_puts "]", level, false, end_with_comma
37
41
  else
38
- gp_puts "#{object.inspect}", level, trailer, end_with_comma
42
+ io << gp_puts("#{object.inspect}", level, trailer, end_with_comma)
39
43
  end
44
+
45
+ nil
40
46
  end
41
47
  end
42
48
  end
43
49
 
44
- def gp(*args)
45
- GoodPrint.gp(*args)
50
+ def gp(object)
51
+ GoodPrint.gp(STDOUT, object)
46
52
  end
@@ -1,3 +1,3 @@
1
1
  module GoodPrint
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: good_print
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Dodwell
@@ -38,7 +38,8 @@ dependencies:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
- description:
41
+ description: Not as awesome as awesome_print. Prints objects with simple balanced
42
+ indentation.
42
43
  email:
43
44
  - mark@mkdynamic.co.uk
44
45
  executables: []