barkeep 0.1.1 → 0.2.1
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.
- data/README.rdoc +17 -6
- data/lib/barkeep.rb +23 -14
- data/test/test_barkeep.rb +17 -6
- metadata +114 -119
data/README.rdoc
CHANGED
@@ -10,7 +10,12 @@ http://i.imgur.com/0TTHX.png
|
|
10
10
|
|
11
11
|
== Install
|
12
12
|
|
13
|
+
=== Gem Installation
|
14
|
+
|
13
15
|
* Install and require gem (add it to your Gemfile or your environment.rb file).
|
16
|
+
|
17
|
+
=== Application Setup
|
18
|
+
|
14
19
|
* in Rails, include Barkeep in your ApplicationHelper, i.e.
|
15
20
|
|
16
21
|
module ApplicationHelper
|
@@ -22,18 +27,24 @@ http://i.imgur.com/0TTHX.png
|
|
22
27
|
|
23
28
|
helpers Barkeep
|
24
29
|
|
25
|
-
* add the barkeep styles in your layout header
|
30
|
+
* add the barkeep styles in your layout header. This bypasses the assets pipeline. But that is OK,
|
31
|
+
because you don't want this in your pipeline in production.
|
26
32
|
|
27
|
-
<%=
|
33
|
+
<%= barkeep.styles %>
|
28
34
|
|
29
|
-
* call
|
35
|
+
* call barkeep.render from your layout or footer, i.e.
|
30
36
|
|
31
|
-
<%=
|
37
|
+
<%= barkeep.render %>
|
32
38
|
|
33
39
|
* These two methods will return an empty string unless the app is running under one of the environments specified in your config file
|
34
40
|
|
35
41
|
* Create a config file in config/barkeep.json (see example below)
|
36
42
|
|
43
|
+
=== Rails 2
|
44
|
+
|
45
|
+
If you are stuck in Rails 2, version 0.1.1 of Barkeep should work for you. Note that some of the installation options are
|
46
|
+
different in Rails 2. Check the README in that version for more details.
|
47
|
+
|
37
48
|
== Config
|
38
49
|
|
39
50
|
Configuration is specified in a config/barkeep.json
|
@@ -64,11 +75,11 @@ the format "partial path/to/your/partial"
|
|
64
75
|
|
65
76
|
Barkeep comes with some basic styling that has worked well for us. You are
|
66
77
|
encouraged to modify it to suit your needs. The easiest way to do this is to
|
67
|
-
call
|
78
|
+
call barkeep.styles as normal, view source, and extract the css (search for
|
68
79
|
barkeep). You can then pull it in to your main stylesheet or Sass-ify it, etc.
|
69
80
|
|
70
81
|
Once you've setup your own styles, you probably won't want to call
|
71
|
-
|
82
|
+
barkeep.styles anymore.
|
72
83
|
|
73
84
|
== Included panes
|
74
85
|
|
data/lib/barkeep.rb
CHANGED
@@ -2,27 +2,40 @@ require 'json'
|
|
2
2
|
require 'grit_wrapper'
|
3
3
|
|
4
4
|
module Barkeep
|
5
|
-
|
5
|
+
|
6
|
+
def barkeep
|
7
|
+
@@barkeep ||= Barkeeper.new
|
8
|
+
end
|
9
|
+
|
10
|
+
end
|
11
|
+
|
12
|
+
class Barkeeper
|
13
|
+
|
14
|
+
def config
|
15
|
+
@config ||= JSON.parse(File.read("config/barkeep.json"))
|
16
|
+
end
|
17
|
+
|
18
|
+
def load?
|
6
19
|
if defined?(Rails)
|
7
20
|
this_env = Rails.env
|
8
21
|
elsif defined?(Sinatra)
|
9
22
|
this_env = Sinatra::Application.settings.environment
|
10
23
|
end
|
11
|
-
|
24
|
+
config['environments'].include?(this_env.to_s)
|
12
25
|
end
|
13
26
|
|
14
|
-
def
|
15
|
-
return unless
|
27
|
+
def styles
|
28
|
+
return unless load?
|
16
29
|
%(<style>#{File.read(File.expand_path(File.dirname(__FILE__) + "/default.css"))}</style>)
|
17
30
|
end
|
18
31
|
|
19
|
-
def
|
20
|
-
return unless
|
32
|
+
def render
|
33
|
+
return unless load? && grit_info.repository?
|
21
34
|
|
22
35
|
%(
|
23
36
|
<dl id="barkeep">
|
24
37
|
#{
|
25
|
-
|
38
|
+
config['panes'].map do |name|
|
26
39
|
if name =~ /^(p|partial) (.*)/
|
27
40
|
render :partial => $2
|
28
41
|
else
|
@@ -34,11 +47,7 @@ module Barkeep
|
|
34
47
|
<a href="#" onclick="c = document.getElementById('barkeep'); c.parentNode.removeChild(c); return false" title="Close me!">×</a>
|
35
48
|
</dd>
|
36
49
|
</dl>
|
37
|
-
)
|
38
|
-
end
|
39
|
-
|
40
|
-
def barkeep_config
|
41
|
-
@@barkeep_config ||= JSON.parse(File.read("config/barkeep.json"))
|
50
|
+
).html_safe
|
42
51
|
end
|
43
52
|
|
44
53
|
def branch_info
|
@@ -65,7 +74,7 @@ module Barkeep
|
|
65
74
|
end
|
66
75
|
|
67
76
|
def github_url
|
68
|
-
|
77
|
+
config['github_url']
|
69
78
|
end
|
70
79
|
|
71
80
|
def grit_info
|
@@ -82,7 +91,7 @@ module Barkeep
|
|
82
91
|
def commit_link_attributes
|
83
92
|
{
|
84
93
|
:href => "#{github_url}/commit/#{grit_info[:commit]}",
|
85
|
-
:title => "committed #{grit_info[:date]}"
|
94
|
+
:title => "committed #{grit_info[:date]} by #{grit_info[:last_author]}"
|
86
95
|
}
|
87
96
|
end
|
88
97
|
|
data/test/test_barkeep.rb
CHANGED
@@ -6,26 +6,37 @@ class TestBarkeep < Test::Unit::TestCase
|
|
6
6
|
attr_accessor :output_buffer
|
7
7
|
|
8
8
|
def setup
|
9
|
-
|
9
|
+
@barkeep = barkeep
|
10
|
+
@barkeep.stubs({
|
11
|
+
:config => {'github_url' => 'http://github.com/project_name', 'panes' => ['branch_info', 'commit_sha_info'], 'environments' => ['development']},
|
12
|
+
:load? => true
|
13
|
+
})
|
10
14
|
end
|
11
15
|
|
12
16
|
should "render a style tag filled with css" do
|
13
17
|
css = File.read(File.expand_path(File.dirname(__FILE__) + "/../lib/default.css"))
|
14
|
-
assert_equal "<style>#{css}</style>",
|
18
|
+
assert_equal "<style>#{css}</style>", barkeep.styles
|
15
19
|
end
|
16
20
|
|
17
21
|
should "render the barkeep bar" do
|
18
|
-
stubs(:
|
19
|
-
GritWrapper.instance.stubs(:repository? => true, :to_hash => {:branch => 'new_branch', :commit => 'abcdef'})
|
22
|
+
GritWrapper.instance.stubs(:repository? => true, :to_hash => {:branch => 'new_branch', :commit => 'abcdef', :last_author => 'Johnny', :date => '2/11/2012'})
|
20
23
|
expected = %(
|
21
24
|
<dl id="barkeep">
|
22
25
|
<dt>Branch:</dt>
|
23
26
|
<dd><a href="http://github.com/project_name/tree/new_branch">new_branch</a></dd>
|
24
27
|
<dt>Commit:</dt>
|
25
|
-
<dd><a href="http://github.com/project_name/commit/abcdef" title="committed ">abcdef</a></dd>
|
28
|
+
<dd><a href="http://github.com/project_name/commit/abcdef" title="committed 2/11/2012 by Johnny">abcdef</a></dd>
|
26
29
|
<dd class="close"><a href="#" onclick="c = document.getElementById('barkeep'); c.parentNode.removeChild(c); return false" title="Close me!">×</a></dd>
|
27
30
|
</dl>
|
28
31
|
)
|
29
|
-
assert_equal expected.gsub(/\s+/, ''),
|
32
|
+
assert_equal expected.gsub(/\s+/, ''), barkeep.render.gsub(/\s+/, '')
|
30
33
|
end
|
31
34
|
end
|
35
|
+
|
36
|
+
# Stub out html_safe, we don't need to test that here.
|
37
|
+
class String
|
38
|
+
def html_safe
|
39
|
+
self
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
metadata
CHANGED
@@ -1,137 +1,137 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: barkeep
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.1
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 1
|
10
|
-
version: 0.1.1
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- PatientsLikeMe
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-05-10 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: grit
|
23
|
-
|
24
|
-
version_requirements: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
33
22
|
type: :runtime
|
34
|
-
requirement: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: json
|
37
23
|
prerelease: false
|
38
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: json
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
39
33
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
segments:
|
45
|
-
- 0
|
46
|
-
version: "0"
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
47
38
|
type: :runtime
|
48
|
-
requirement: *id002
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: mocha
|
51
39
|
prerelease: false
|
52
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: mocha
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
53
49
|
none: false
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
hash: 35
|
58
|
-
segments:
|
59
|
-
- 0
|
60
|
-
- 9
|
61
|
-
- 12
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
62
53
|
version: 0.9.12
|
63
54
|
type: :development
|
64
|
-
requirement: *id003
|
65
|
-
- !ruby/object:Gem::Dependency
|
66
|
-
name: shoulda
|
67
55
|
prerelease: false
|
68
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.9.12
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: shoulda
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
69
65
|
none: false
|
70
|
-
requirements:
|
71
|
-
- -
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
|
74
|
-
segments:
|
75
|
-
- 0
|
76
|
-
version: "0"
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
77
70
|
type: :development
|
78
|
-
requirement: *id004
|
79
|
-
- !ruby/object:Gem::Dependency
|
80
|
-
name: bundler
|
81
71
|
prerelease: false
|
82
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: bundler
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
83
81
|
none: false
|
84
|
-
requirements:
|
82
|
+
requirements:
|
85
83
|
- - ~>
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
hash: 23
|
88
|
-
segments:
|
89
|
-
- 1
|
90
|
-
- 0
|
91
|
-
- 0
|
84
|
+
- !ruby/object:Gem::Version
|
92
85
|
version: 1.0.0
|
93
86
|
type: :development
|
94
|
-
requirement: *id005
|
95
|
-
- !ruby/object:Gem::Dependency
|
96
|
-
name: jeweler
|
97
87
|
prerelease: false
|
98
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
89
|
none: false
|
100
|
-
requirements:
|
90
|
+
requirements:
|
101
91
|
- - ~>
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 1.0.0
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: jeweler
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ~>
|
100
|
+
- !ruby/object:Gem::Version
|
108
101
|
version: 1.5.2
|
109
102
|
type: :development
|
110
|
-
requirement: *id006
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: rcov
|
113
103
|
prerelease: false
|
114
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
115
105
|
none: false
|
116
|
-
requirements:
|
117
|
-
- -
|
118
|
-
- !ruby/object:Gem::Version
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 1.5.2
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: rcov
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
123
118
|
type: :development
|
124
|
-
|
125
|
-
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
description: an extensible developer's status bar to track your current deployed commit
|
127
|
+
& more
|
126
128
|
email: open_source@patientslikeme.com
|
127
129
|
executables: []
|
128
|
-
|
129
130
|
extensions: []
|
130
|
-
|
131
|
-
extra_rdoc_files:
|
131
|
+
extra_rdoc_files:
|
132
132
|
- LICENSE.txt
|
133
133
|
- README.rdoc
|
134
|
-
files:
|
134
|
+
files:
|
135
135
|
- lib/barkeep.rb
|
136
136
|
- lib/default.css
|
137
137
|
- lib/grit_wrapper.rb
|
@@ -139,40 +139,35 @@ files:
|
|
139
139
|
- README.rdoc
|
140
140
|
- test/helper.rb
|
141
141
|
- test/test_barkeep.rb
|
142
|
-
has_rdoc: true
|
143
142
|
homepage: https://github.com/patientslikeme/barkeep
|
144
|
-
licenses:
|
143
|
+
licenses:
|
145
144
|
- MIT
|
146
145
|
post_install_message:
|
147
146
|
rdoc_options: []
|
148
|
-
|
149
|
-
require_paths:
|
147
|
+
require_paths:
|
150
148
|
- lib
|
151
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
149
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
152
150
|
none: false
|
153
|
-
requirements:
|
154
|
-
- -
|
155
|
-
- !ruby/object:Gem::Version
|
156
|
-
|
157
|
-
segments:
|
151
|
+
requirements:
|
152
|
+
- - ! '>='
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: '0'
|
155
|
+
segments:
|
158
156
|
- 0
|
159
|
-
|
160
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
|
+
hash: 1815072156926219370
|
158
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
161
159
|
none: false
|
162
|
-
requirements:
|
163
|
-
- -
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
|
166
|
-
segments:
|
167
|
-
- 0
|
168
|
-
version: "0"
|
160
|
+
requirements:
|
161
|
+
- - ! '>='
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: '0'
|
169
164
|
requirements: []
|
170
|
-
|
171
165
|
rubyforge_project:
|
172
|
-
rubygems_version: 1.
|
166
|
+
rubygems_version: 1.8.19
|
173
167
|
signing_key:
|
174
168
|
specification_version: 3
|
175
|
-
summary: an extensible developer's status bar to track your current deployed commit
|
176
|
-
|
169
|
+
summary: an extensible developer's status bar to track your current deployed commit
|
170
|
+
& more
|
171
|
+
test_files:
|
177
172
|
- test/helper.rb
|
178
173
|
- test/test_barkeep.rb
|