maiha-merb_inspector 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -5,7 +5,7 @@ require 'merb-core'
5
5
  require 'merb-core/tasks/merb'
6
6
 
7
7
  GEM_NAME = "merb_inspector"
8
- GEM_VERSION = "0.2.3"
8
+ GEM_VERSION = "0.2.4"
9
9
  AUTHOR = "Maiha"
10
10
  EMAIL = "maiha@wota.jp"
11
11
  HOMEPAGE = "http://github.com/maiha/merb_inspector"
data/inspectors/array.rb CHANGED
@@ -1,3 +1,4 @@
1
1
  class ArrayInspector < Merb::Inspector
2
2
  model Array
3
+ lead :size=>[40,20,15]
3
4
  end
data/inspectors/hash.rb CHANGED
@@ -1,3 +1,4 @@
1
1
  class HashInspector < Merb::Inspector
2
2
  model Hash
3
+ lead :size=>[40,20,15]
3
4
  end
@@ -23,6 +23,14 @@ module Merb
23
23
  Merb::Inspector::Manager.register(model, inspector)
24
24
  end
25
25
 
26
+ def self.lead(options = {})
27
+ @lead_options = options
28
+ end
29
+
30
+ def self.lead_options
31
+ @lead_options
32
+ end
33
+
26
34
  def show(object, options = {})
27
35
  @object = object
28
36
  @options = options
@@ -40,7 +48,7 @@ module Merb
40
48
  end
41
49
 
42
50
  def toggle
43
- "$('##{dom_id} .reversible').toggle();return false;"
51
+ "$('##{dom_id} > .reversible').toggle();return false;"
44
52
  end
45
53
 
46
54
  def dir
@@ -51,10 +59,39 @@ module Merb
51
59
  dir + name.to_s
52
60
  end
53
61
 
54
- def execute
62
+ def main
55
63
  partial template_for(template), current_options
56
64
  end
57
65
 
66
+ def execute
67
+ if self.class.lead_options
68
+ wrapped_main
69
+ else
70
+ main
71
+ end
72
+ end
73
+
74
+ def close_lead_label
75
+ "[x]"
76
+ end
77
+
78
+ def lead_size
79
+ sizes = Array((self.class.lead_options || {})[:size]).compact
80
+ sizes[level-1] || sizes[-1] || 15
81
+ end
82
+
83
+ def lead
84
+ "<span class=nowrap>%s</span>" % h(@object.inspect.truncate(lead_size))
85
+ end
86
+
87
+ def link_to_lead
88
+ link_to close_lead_label, "#", :onclick=>toggle
89
+ end
90
+
91
+ def link_to_main
92
+ link_to lead, "#", :onclick=>toggle
93
+ end
94
+
58
95
  def template
59
96
  :default
60
97
  end
@@ -67,17 +104,34 @@ module Merb
67
104
  {}
68
105
  end
69
106
 
107
+ def level
108
+ @options[:level]
109
+ end
110
+
70
111
  def basic_options
71
- {:options=>@options, :level=>@options[:level]}
112
+ {:options=>@options, :level=>level}
72
113
  end
73
114
 
74
115
  def child_options
75
116
  {:level=>@options[:level]+1}
76
117
  end
118
+
119
+ def wrapped_main
120
+ <<-HTML
121
+ <div id="#{dom_id}">
122
+ <div id="#{dom_id}_lead" class="reversible" style="display:block;">
123
+ #{link_to_main}
124
+ </div>
125
+ <div id="#{dom_id}_main" class="reversible" style="display:none;">
126
+ <div style="float:right;">#{link_to_lead}</div>
127
+ #{main}
128
+ </div>
129
+ </div>
130
+ HTML
131
+ end
77
132
  end
78
133
 
79
134
  def self.inspector
80
135
  Merb::Inspector
81
136
  end
82
137
  end
83
-
@@ -1,3 +1,7 @@
1
+ span.nowrap {
2
+ white-space: nowrap;
3
+ }
4
+
1
5
  table.inspector {
2
6
  border-collapse:collapse;
3
7
  }
@@ -1,7 +1,3 @@
1
- <div id="<%= dom_id %>">
2
-
3
- <div id="<%= dom_id %>_level1" class="reversible" style="display:<%= (level == 1) ? 'display' : 'none' %>">
4
- <div style="float:right;"><%= link_to "[x]", "#", :onclick=>toggle %></div>
5
1
  <table class="inspector">
6
2
  <tr>
7
3
  <th><p>index</p></th>
@@ -20,10 +16,3 @@ tr_class += " #{list_row_class(obj)}" if respond_to? :list_row_class
20
16
  </tr>
21
17
  <%- end -%>
22
18
  </table>
23
- </div>
24
-
25
- <div id="<%= dom_id %>_level2" class="reversible" style="display:<%= (level == 1) ? 'none' : 'display' %>">
26
- <%= link_to h(@object.inspect.truncate), "#", :onclick=>toggle %>
27
- </div>
28
-
29
- </div>
@@ -1,7 +1,3 @@
1
- <div id="<%= dom_id %>">
2
- <div id="<%= dom_id %>_level1" class="reversible" style="display:<%= (level == 1) ? 'display' : 'none' %>">
3
- <div style="float:right;"><%= link_to "[x]", "#", :onclick=>toggle %></div>
4
-
5
1
  <table class="inspector">
6
2
  <tr>
7
3
  <th><p>key</p></th>
@@ -21,10 +17,3 @@ tr_class += " #{list_row_class(obj)}" if respond_to? :list_row_class
21
17
  </tr>
22
18
  <%- end -%>
23
19
  </table>
24
- </div>
25
-
26
- <div id="<%= dom_id %>_level2" class="reversible" style="display:<%= (level == 1) ? 'none' : 'display' %>">
27
- <%= link_to h(@object.inspect.truncate), "#", :onclick=>toggle %>
28
- </div>
29
-
30
- </div>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: maiha-merb_inspector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maiha