hirb 0.3.5 → 0.3.6
Sign up to get free protection for your applications and to get access to all the features.
- data/.gemspec +1 -1
- data/CHANGELOG.rdoc +5 -0
- data/README.rdoc +4 -4
- data/lib/hirb/formatter.rb +2 -2
- data/lib/hirb/helpers/table.rb +1 -1
- data/lib/hirb/version.rb +1 -1
- data/lib/ripl/hirb.rb +3 -2
- data/test/formatter_test.rb +6 -1
- data/test/table_test.rb +13 -0
- metadata +5 -5
data/.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.email = "gabriel.horner@gmail.com"
|
10
10
|
s.homepage = "http://tagaholic.me/hirb/"
|
11
11
|
s.summary = "A mini view framework for console/irb that's easy to use, even while under its influence."
|
12
|
-
s.description = "Hirb provides a mini view framework for console applications and uses it to improve irb's default inspect output. Given an object or array of objects, hirb renders a view based on the object's class and/or ancestry. Hirb offers reusable views in the form of helper classes. The two main helpers, Hirb::Helpers::Table and Hirb::Helpers::Tree, provide several options for generating ascii tables and trees. Using Hirb::Helpers::AutoTable, hirb has useful default views for at least ten popular database gems i.e. Rails' ActiveRecord::Base. Other than views, hirb offers a smart pager and a console menu. The smart pager only pages when the output exceeds the current screen size. The menu is used in conjunction with tables to offer two dimensional menus."
|
12
|
+
s.description = "Hirb provides a mini view framework for console applications and uses it to improve ripl(irb)'s default inspect output. Given an object or array of objects, hirb renders a view based on the object's class and/or ancestry. Hirb offers reusable views in the form of helper classes. The two main helpers, Hirb::Helpers::Table and Hirb::Helpers::Tree, provide several options for generating ascii tables and trees. Using Hirb::Helpers::AutoTable, hirb has useful default views for at least ten popular database gems i.e. Rails' ActiveRecord::Base. Other than views, hirb offers a smart pager and a console menu. The smart pager only pages when the output exceeds the current screen size. The menu is used in conjunction with tables to offer two dimensional menus."
|
13
13
|
s.required_rubygems_version = ">= 1.3.5"
|
14
14
|
s.rubyforge_project = 'tagaholic'
|
15
15
|
s.add_development_dependency 'bacon', '>= 1.1.0'
|
data/CHANGELOG.rdoc
CHANGED
data/README.rdoc
CHANGED
@@ -2,7 +2,7 @@ To read a linked version of this README, {click here}[http://tagaholic.me/hirb/d
|
|
2
2
|
|
3
3
|
== Description
|
4
4
|
|
5
|
-
Hirb provides a mini view framework for console applications and uses it to improve irb's default inspect output.
|
5
|
+
Hirb provides a mini view framework for console applications and uses it to improve ripl(irb)'s default inspect output.
|
6
6
|
Given an object or array of objects, hirb renders a view based on the object's class and/or ancestry. Hirb offers reusable
|
7
7
|
views in the form of helper classes. The two main helpers, Hirb::Helpers::Table and Hirb::Helpers::Tree, provide several options
|
8
8
|
for generating ascii tables and trees. Using Hirb::Helpers::AutoTable, hirb has useful default views for at least ten popular database gems
|
@@ -14,7 +14,7 @@ only pages when the output exceeds the current screen size. The menu is used in
|
|
14
14
|
|
15
15
|
Install the gem with:
|
16
16
|
|
17
|
-
|
17
|
+
gem install hirb
|
18
18
|
|
19
19
|
== View Tutorials
|
20
20
|
|
@@ -159,14 +159,14 @@ views for certain classes, put them under lib/hirb/views. Please submit views fo
|
|
159
159
|
number of users.
|
160
160
|
|
161
161
|
== Limitations
|
162
|
-
If using Wirble, you should call Hirb after it since they both override irb's default output.
|
162
|
+
If using Wirble and irb, you should call Hirb after it since they both override irb's default output.
|
163
163
|
|
164
164
|
== Motivation
|
165
165
|
Table code from http://gist.github.com/72234 and {my console app's needs}[http://github.com/cldwalker/tag-tree].
|
166
166
|
|
167
167
|
== Credits
|
168
168
|
* Chrononaut for vertical table helper.
|
169
|
-
* crafterm, spastorino, xaviershay, bogdan and joshua for patches.
|
169
|
+
* crafterm, spastorino, xaviershay, bogdan, asanghi and joshua for patches.
|
170
170
|
|
171
171
|
== Bugs/Issues
|
172
172
|
Please report them {on github}[http://github.com/cldwalker/hirb/issues].
|
data/lib/hirb/formatter.rb
CHANGED
@@ -2,7 +2,7 @@ module Hirb
|
|
2
2
|
# A Formatter object formats an output object (using Formatter.format_output) into a string based on the views defined
|
3
3
|
# for its class and/or ancestry.
|
4
4
|
class Formatter
|
5
|
-
TO_A_EXCEPTIONS = [
|
5
|
+
TO_A_EXCEPTIONS = [Hash, IO]
|
6
6
|
|
7
7
|
class<<self
|
8
8
|
# This config is used by Formatter.format_output to lazily load dynamic views defined with Hirb::DynamicView.
|
@@ -77,7 +77,7 @@ module Hirb
|
|
77
77
|
end
|
78
78
|
|
79
79
|
def determine_output_class(output)
|
80
|
-
output.respond_to?(:to_a) && !TO_A_EXCEPTIONS.
|
80
|
+
output.respond_to?(:to_a) && !TO_A_EXCEPTIONS.any? {|e| output.is_a?(e) } ?
|
81
81
|
Array(output)[0].class : output.class
|
82
82
|
end
|
83
83
|
|
data/lib/hirb/helpers/table.rb
CHANGED
data/lib/hirb/version.rb
CHANGED
data/lib/ripl/hirb.rb
CHANGED
data/test/formatter_test.rb
CHANGED
@@ -72,10 +72,15 @@ describe "Formatter" do
|
|
72
72
|
@formatter.parse_console_options(options).should == expected_options
|
73
73
|
end
|
74
74
|
|
75
|
-
it "#determine_output_class
|
75
|
+
it "#determine_output_class bypasses exceptions for to_a" do
|
76
76
|
@formatter.determine_output_class(STDOUT).should == IO
|
77
77
|
@formatter.determine_output_class({:a=>1}).should == Hash
|
78
78
|
end
|
79
|
+
|
80
|
+
it "#determine_output_class bypasses subclasses of exceptions for to_a" do
|
81
|
+
class Hash2 < Hash; end
|
82
|
+
@formatter.determine_output_class(Hash2[1=>2]).should == Hash2
|
83
|
+
end
|
79
84
|
end
|
80
85
|
|
81
86
|
describe "format_output" do
|
data/test/table_test.rb
CHANGED
@@ -361,6 +361,19 @@ describe "Table" do
|
|
361
361
|
table([['a','b'], ['c', 'd']], :number=>true).should == expected_table
|
362
362
|
end
|
363
363
|
|
364
|
+
it "number option renders with header that can be overridden" do
|
365
|
+
expected_table = <<-TABLE.unindent
|
366
|
+
+----+---+---+
|
367
|
+
| SR | 0 | 1 |
|
368
|
+
+----+---+---+
|
369
|
+
| 1 | a | b |
|
370
|
+
| 2 | c | d |
|
371
|
+
+----+---+---+
|
372
|
+
2 rows in set
|
373
|
+
TABLE
|
374
|
+
table([['a','b'], ['c', 'd']], :number=>true, :headers => {:hirb_number => "SR"}).should == expected_table
|
375
|
+
end
|
376
|
+
|
364
377
|
it "description option false renders" do
|
365
378
|
expected_table = <<-TABLE.unindent
|
366
379
|
+---+---+
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hirb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 31
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 6
|
10
|
+
version: 0.3.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Gabriel Horner
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2011-01-08 00:00:00 -05:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: "0"
|
77
77
|
type: :development
|
78
78
|
version_requirements: *id004
|
79
|
-
description: Hirb provides a mini view framework for console applications and uses it to improve irb's default inspect output. Given an object or array of objects, hirb renders a view based on the object's class and/or ancestry. Hirb offers reusable views in the form of helper classes. The two main helpers, Hirb::Helpers::Table and Hirb::Helpers::Tree, provide several options for generating ascii tables and trees. Using Hirb::Helpers::AutoTable, hirb has useful default views for at least ten popular database gems i.e. Rails' ActiveRecord::Base. Other than views, hirb offers a smart pager and a console menu. The smart pager only pages when the output exceeds the current screen size. The menu is used in conjunction with tables to offer two dimensional menus.
|
79
|
+
description: Hirb provides a mini view framework for console applications and uses it to improve ripl(irb)'s default inspect output. Given an object or array of objects, hirb renders a view based on the object's class and/or ancestry. Hirb offers reusable views in the form of helper classes. The two main helpers, Hirb::Helpers::Table and Hirb::Helpers::Tree, provide several options for generating ascii tables and trees. Using Hirb::Helpers::AutoTable, hirb has useful default views for at least ten popular database gems i.e. Rails' ActiveRecord::Base. Other than views, hirb offers a smart pager and a console menu. The smart pager only pages when the output exceeds the current screen size. The menu is used in conjunction with tables to offer two dimensional menus.
|
80
80
|
email: gabriel.horner@gmail.com
|
81
81
|
executables: []
|
82
82
|
|