blockhead 0.0.9 → 0.1.0

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: c8f59be478cbaf6153fe0b94bcea804c858c99f6
4
- data.tar.gz: 1774224932870e637dd29c3b5ee19b09a8cd9e5d
3
+ metadata.gz: 2c51ee1ab661d7be298f79440aa5bd92e3ff3dee
4
+ data.tar.gz: 1540f2cc54e2347d68790ab09fbb2623e5cf6323
5
5
  SHA512:
6
- metadata.gz: b6ea9c349214fe6113732096d1b0c305e0bba6651fdf9d8356773354c55f4a7964c57422b129c9b586e967c1eafa705e3a0ff183ca09fac830178038746f271f
7
- data.tar.gz: ff16b3465cab348b377a8b2b5a3261b3bdf104d45747e717f5f80c0b3d6942e4918fab5e0273c20a75ce48b115239aac207cbd6651604f732d257e14061d47b2
6
+ metadata.gz: aef54770cde7143c485698993bc5f6a5d3ffeec5211d59f47457f68d9b57a1b5432df9deb47eab98f771852215c52ea9ab0c7c68a5561aa1401cdf7a5188dfbb
7
+ data.tar.gz: fc0c353296de5f83f33745275c2939f235ae3d8d786ef161a99b0080d1b822af6e2bbdc9587517957e481c74b50a8d0a3cc0a645d3c8055bf867af30c0ee7e07
data/lib/blockhead.rb CHANGED
@@ -10,4 +10,16 @@ require 'blockhead/extractors/proc'
10
10
  require 'blockhead/extractors/value'
11
11
 
12
12
  module Blockhead
13
+
14
+ def self.configure
15
+ yield self if block_given?
16
+ end
17
+
18
+ def self.pretty_print=(enabled = true)
19
+ @pretty_print = enabled
20
+ end
21
+
22
+ def self.pretty_print
23
+ @pretty_print
24
+ end
13
25
  end
@@ -6,7 +6,21 @@ module Blockhead
6
6
  end
7
7
 
8
8
  def extract_value
9
- object
9
+ value
10
+ end
11
+
12
+ private
13
+
14
+ def value
15
+ if object.is_a?(String) && Blockhead.pretty_print
16
+ pretty
17
+ else
18
+ object
19
+ end
20
+ end
21
+
22
+ def pretty
23
+ object.split(/ |\_/).map(&:capitalize).join(' ').strip
10
24
  end
11
25
  end
12
26
  end
@@ -1,3 +1,3 @@
1
1
  module Blockhead
2
- VERSION = '0.0.9'
2
+ VERSION = '0.1.0'
3
3
  end
@@ -2,6 +2,29 @@ require 'spec_helper'
2
2
  require 'debugger'
3
3
  require 'ostruct'
4
4
 
5
+ describe Blockhead, '#config' do
6
+ class MessyObject
7
+ def title
8
+ " title stuffs \n"
9
+ end
10
+
11
+ def foo
12
+ 12
13
+ end
14
+ end
15
+
16
+ it 'prettifies object attributes that are string values' do
17
+ Blockhead.configure do |config|
18
+ config.pretty_print = true
19
+ end
20
+
21
+ schema = Blockhead::Schema.define MessyObject.new do
22
+ title
23
+ end.marshal
24
+ expect(schema[:title]).to eq 'Title Stuffs'
25
+ end
26
+ end
27
+
5
28
  describe Blockhead::Schema, '::define' do
6
29
  class Tester
7
30
  def title
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blockhead
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vincent Franco