Class: Barkeeper
- Inherits:
-
Object
- Object
- Barkeeper
- Defined in:
- lib/barkeep.rb
Instance Attribute Summary collapse
-
#renderer ⇒ Object
Returns the value of attribute renderer.
Instance Method Summary collapse
- #branch_info ⇒ Object
- #branch_link_attributes ⇒ Object
- #commit_author_info ⇒ Object
- #commit_date_info ⇒ Object
- #commit_link(commit_hash) ⇒ Object
- #commit_link_attributes ⇒ Object
- #commit_sha_info ⇒ Object
- #config ⇒ Object
- #github_url ⇒ Object
- #grit_info ⇒ Object
- #load? ⇒ Boolean
- #render_toolbar ⇒ Object
- #rpm_enabled? ⇒ Boolean
- #rpm_request_info ⇒ Object
- #rpm_sample_id ⇒ Object
- #rpm_url ⇒ Object
- #styles ⇒ Object
Instance Attribute Details
#renderer ⇒ Object
Returns the value of attribute renderer.
15 16 17 |
# File 'lib/barkeep.rb', line 15 def renderer @renderer end |
Instance Method Details
#branch_info ⇒ Object
64 65 66 67 68 |
# File 'lib/barkeep.rb', line 64 def branch_info if grit_info.repository? %(<dt>Branch:</dt><dd><a href="#{branch_link_attributes[:href]}">#{grit_info[:branch]}</a></dd>) end end |
#branch_link_attributes ⇒ Object
106 107 108 109 110 111 |
# File 'lib/barkeep.rb', line 106 def branch_link_attributes { :href => "#{github_url}/tree/#{grit_info[:branch]}", :title => grit_info[:message] } end |
#commit_author_info ⇒ Object
79 80 81 82 83 |
# File 'lib/barkeep.rb', line 79 def if grit_info.repository? %(<dt>Who:</dt><dd>#{grit_info[:last_author]}</dd>) end end |
#commit_date_info ⇒ Object
85 86 87 88 89 90 |
# File 'lib/barkeep.rb', line 85 def commit_date_info if grit_info.repository? short_date = (grit_info[:date].respond_to?(:strftime) ? grit_info[:date].strftime("%d %B, %H:%M") : short_date.to_s) %(<dt>When:</dt><dd title="#{grit_info[:date].to_s}">#{short_date}</dd>) end end |
#commit_link(commit_hash) ⇒ Object
113 114 115 |
# File 'lib/barkeep.rb', line 113 def commit_link(commit_hash) "#{github_url}/commit/#{commit_hash}" end |
#commit_link_attributes ⇒ Object
117 118 119 120 121 122 |
# File 'lib/barkeep.rb', line 117 def commit_link_attributes { :href => commit_link(grit_info[:commit]), :title => "committed #{grit_info[:date]} by #{grit_info[:last_author]}" } end |
#commit_sha_info ⇒ Object
70 71 72 73 74 75 76 77 |
# File 'lib/barkeep.rb', line 70 def commit_sha_info if grit_info.repository? %(<dt>Commit:</dt><dd><a href="#{commit_link_attributes[:href]}" title="#{commit_link_attributes[:title]}">#{(grit_info[:commit] || "").slice(0,8)}</a></dd>) elsif File.exist?(Rails.root.join('REVISION')) commit = Rails.root.join('REVISION').read.strip %(<dt>Commit:</dt><dd><a href="#{commit_link(commit)}">#{commit.slice(0,8)}</a></dd>) end end |
#config ⇒ Object
17 18 19 |
# File 'lib/barkeep.rb', line 17 def config @config ||= JSON.parse(File.read("config/barkeep.json")) end |
#github_url ⇒ Object
98 99 100 |
# File 'lib/barkeep.rb', line 98 def github_url config['github_url'] end |
#grit_info ⇒ Object
102 103 104 |
# File 'lib/barkeep.rb', line 102 def grit_info GitWrapper.instance end |
#load? ⇒ Boolean
21 22 23 24 25 26 27 28 |
# File 'lib/barkeep.rb', line 21 def load? if defined?(Rails) this_env = Rails.env elsif defined?(Sinatra) this_env = Sinatra::Application.settings.environment end config['environments'].include?(this_env.to_s) end |
#render_toolbar ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/barkeep.rb', line 35 def return unless load? %( <dl id="barkeep"> #{ config['panes'].map do |name| if name =~ /^(p|partial) (.*)/ if renderer.respond_to?(:render_to_string) renderer.send(:render_to_string, {:partial => $2}) else renderer.send(:render, {:partial => $2}) end else send(name) end end.join('') } <dd class="close"> <a href="#" onclick="c = document.getElementById('barkeep'); c.parentNode.removeChild(c); return false" title="Close me!">×</a> </dd> </dl> ).html_safe end |
#rpm_enabled? ⇒ Boolean
124 125 126 127 128 129 130 131 132 |
# File 'lib/barkeep.rb', line 124 def rpm_enabled? if defined?(NewRelic) if defined?(NewRelic::Control) !NewRelic::Control.instance['skip_developer_route'] else !NewRelic::Config.instance['skip_developer_route'] end end end |
#rpm_request_info ⇒ Object
92 93 94 95 96 |
# File 'lib/barkeep.rb', line 92 def rpm_request_info if rpm_enabled? %(<dt><a href="/newrelic">RPM:</a></dt><dd><a href="#{rpm_url}">request</a></dd>) end end |
#rpm_sample_id ⇒ Object
134 135 136 |
# File 'lib/barkeep.rb', line 134 def rpm_sample_id NewRelic::Agent.instance.transaction_sampler.current_sample_id end |
#rpm_url ⇒ Object
138 139 140 |
# File 'lib/barkeep.rb', line 138 def rpm_url "/newrelic/show_sample_detail/#{rpm_sample_id}" end |
#styles ⇒ Object
30 31 32 33 |
# File 'lib/barkeep.rb', line 30 def styles return unless load? %(<style>#{File.read(File.(File.dirname(__FILE__) + "/default.css"))}</style>).html_safe end |