hirber 0.8.0

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.
Files changed (56) hide show
  1. checksums.yaml +7 -0
  2. data/.gemspec +21 -0
  3. data/.travis.yml +11 -0
  4. data/CHANGELOG.rdoc +165 -0
  5. data/CONTRIBUTING.md +1 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.rdoc +205 -0
  8. data/Rakefile +35 -0
  9. data/lib/bond/completions/hirb.rb +15 -0
  10. data/lib/hirb.rb +84 -0
  11. data/lib/hirb/console.rb +43 -0
  12. data/lib/hirb/dynamic_view.rb +113 -0
  13. data/lib/hirb/formatter.rb +126 -0
  14. data/lib/hirb/helpers.rb +18 -0
  15. data/lib/hirb/helpers/auto_table.rb +24 -0
  16. data/lib/hirb/helpers/markdown_table.rb +14 -0
  17. data/lib/hirb/helpers/object_table.rb +14 -0
  18. data/lib/hirb/helpers/parent_child_tree.rb +24 -0
  19. data/lib/hirb/helpers/tab_table.rb +24 -0
  20. data/lib/hirb/helpers/table.rb +376 -0
  21. data/lib/hirb/helpers/table/filters.rb +10 -0
  22. data/lib/hirb/helpers/table/resizer.rb +82 -0
  23. data/lib/hirb/helpers/tree.rb +181 -0
  24. data/lib/hirb/helpers/unicode_table.rb +15 -0
  25. data/lib/hirb/helpers/vertical_table.rb +37 -0
  26. data/lib/hirb/import_object.rb +10 -0
  27. data/lib/hirb/menu.rb +226 -0
  28. data/lib/hirb/pager.rb +106 -0
  29. data/lib/hirb/string.rb +44 -0
  30. data/lib/hirb/util.rb +96 -0
  31. data/lib/hirb/version.rb +3 -0
  32. data/lib/hirb/view.rb +272 -0
  33. data/lib/hirb/views.rb +8 -0
  34. data/lib/hirb/views/couch_db.rb +11 -0
  35. data/lib/hirb/views/misc_db.rb +15 -0
  36. data/lib/hirb/views/mongo_db.rb +17 -0
  37. data/lib/hirb/views/orm.rb +11 -0
  38. data/lib/hirb/views/rails.rb +19 -0
  39. data/lib/ripl/hirb.rb +15 -0
  40. data/test/auto_table_test.rb +33 -0
  41. data/test/console_test.rb +27 -0
  42. data/test/dynamic_view_test.rb +94 -0
  43. data/test/formatter_test.rb +176 -0
  44. data/test/hirb_test.rb +39 -0
  45. data/test/import_test.rb +9 -0
  46. data/test/menu_test.rb +272 -0
  47. data/test/object_table_test.rb +79 -0
  48. data/test/pager_test.rb +162 -0
  49. data/test/resizer_test.rb +62 -0
  50. data/test/table_test.rb +667 -0
  51. data/test/test_helper.rb +60 -0
  52. data/test/tree_test.rb +184 -0
  53. data/test/util_test.rb +59 -0
  54. data/test/view_test.rb +178 -0
  55. data/test/views_test.rb +22 -0
  56. metadata +164 -0
@@ -0,0 +1,22 @@
1
+ require File.join(File.dirname(__FILE__), 'test_helper')
2
+
3
+ describe "activerecord table" do
4
+ it "with no select gets default options" do
5
+ pet = stub(:name=>'rufus', :age=>7, :attributes=>{"name"=>'rufus', 'age'=>7}, :class=>stub(:column_names=>%w{age name}))
6
+ Helpers::AutoTable.active_record__base_view(pet).should == {:fields=>[:age, :name]}
7
+ end
8
+
9
+ it "with select gets default options" do
10
+ pet = stub(:name=>'rufus', :age=>7, :attributes=>{'name'=>'rufus'}, :class=>stub(:column_names=>%w{age name}))
11
+ Helpers::AutoTable.active_record__base_view(pet).should == {:fields=>[:name]}
12
+ end
13
+ end
14
+
15
+ describe "mongoid table" do
16
+ it "only has one _id" do
17
+ fields = {'_id' => 'x0f0x', 'name' => 'blah'}
18
+ mongoid_stub = stub(:class => stub(:fields => fields))
19
+ Helpers::AutoTable.mongoid__document_view(mongoid_stub).should ==
20
+ {:fields => fields.keys.sort}
21
+ end
22
+ end
metadata ADDED
@@ -0,0 +1,164 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hirber
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.8.0
5
+ platform: ruby
6
+ authors:
7
+ - Gabriel Horner
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-10-09 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bacon
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 1.1.0
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 1.1.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: mocha
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.12.1
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.12.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: mocha-on-bacon
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.2.1
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.2.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: bacon-bits
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: Hirb provides a mini view framework for console applications and uses
70
+ it to improve ripl(irb)'s default inspect output. Given an object or array of objects,
71
+ hirb renders a view based on the object's class and/or ancestry. Hirb offers reusable
72
+ views in the form of helper classes. The two main helpers, Hirb::Helpers::Table
73
+ and Hirb::Helpers::Tree, provide several options for generating ascii tables and
74
+ trees. Using Hirb::Helpers::AutoTable, hirb has useful default views for at least
75
+ ten popular database gems i.e. Rails' ActiveRecord::Base. Other than views, hirb
76
+ offers a smart pager and a console menu. The smart pager only pages when the output
77
+ exceeds the current screen size. The menu is used in conjunction with tables to
78
+ offer two dimensional menus.
79
+ email: gabriel.horner@gmail.com
80
+ executables: []
81
+ extensions: []
82
+ extra_rdoc_files:
83
+ - README.rdoc
84
+ - LICENSE.txt
85
+ files:
86
+ - ".gemspec"
87
+ - ".travis.yml"
88
+ - CHANGELOG.rdoc
89
+ - CONTRIBUTING.md
90
+ - LICENSE.txt
91
+ - README.rdoc
92
+ - Rakefile
93
+ - lib/bond/completions/hirb.rb
94
+ - lib/hirb.rb
95
+ - lib/hirb/console.rb
96
+ - lib/hirb/dynamic_view.rb
97
+ - lib/hirb/formatter.rb
98
+ - lib/hirb/helpers.rb
99
+ - lib/hirb/helpers/auto_table.rb
100
+ - lib/hirb/helpers/markdown_table.rb
101
+ - lib/hirb/helpers/object_table.rb
102
+ - lib/hirb/helpers/parent_child_tree.rb
103
+ - lib/hirb/helpers/tab_table.rb
104
+ - lib/hirb/helpers/table.rb
105
+ - lib/hirb/helpers/table/filters.rb
106
+ - lib/hirb/helpers/table/resizer.rb
107
+ - lib/hirb/helpers/tree.rb
108
+ - lib/hirb/helpers/unicode_table.rb
109
+ - lib/hirb/helpers/vertical_table.rb
110
+ - lib/hirb/import_object.rb
111
+ - lib/hirb/menu.rb
112
+ - lib/hirb/pager.rb
113
+ - lib/hirb/string.rb
114
+ - lib/hirb/util.rb
115
+ - lib/hirb/version.rb
116
+ - lib/hirb/view.rb
117
+ - lib/hirb/views.rb
118
+ - lib/hirb/views/couch_db.rb
119
+ - lib/hirb/views/misc_db.rb
120
+ - lib/hirb/views/mongo_db.rb
121
+ - lib/hirb/views/orm.rb
122
+ - lib/hirb/views/rails.rb
123
+ - lib/ripl/hirb.rb
124
+ - test/auto_table_test.rb
125
+ - test/console_test.rb
126
+ - test/dynamic_view_test.rb
127
+ - test/formatter_test.rb
128
+ - test/hirb_test.rb
129
+ - test/import_test.rb
130
+ - test/menu_test.rb
131
+ - test/object_table_test.rb
132
+ - test/pager_test.rb
133
+ - test/resizer_test.rb
134
+ - test/table_test.rb
135
+ - test/test_helper.rb
136
+ - test/tree_test.rb
137
+ - test/util_test.rb
138
+ - test/view_test.rb
139
+ - test/views_test.rb
140
+ homepage: http://tagaholic.me/hirb/
141
+ licenses:
142
+ - MIT
143
+ metadata: {}
144
+ post_install_message:
145
+ rdoc_options: []
146
+ require_paths:
147
+ - lib
148
+ required_ruby_version: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ required_rubygems_version: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: 1.3.5
158
+ requirements: []
159
+ rubygems_version: 3.1.2
160
+ signing_key:
161
+ specification_version: 4
162
+ summary: A mini view framework for console/irb that's easy to use, even while under
163
+ its influence.
164
+ test_files: []