good_print 0.0.1 → 0.0.2

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