dock_driver 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Manifest.txt +2 -1
- data/lib/dock_driver/constants.rb +2 -2
- data/lib/dock_driver/template/freebsd.rb +47 -0
- data/lib/dock_driver/template.rb +58 -50
- metadata +17 -78
- data.tar.gz.sig +0 -1
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8aa7bf79f334adbb9c8309e8eda96e813424d016
|
4
|
+
data.tar.gz: 8363367795cc852d5f82e29feda1aa4d454619c5
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 26e9ced577e865e3a64774bdb328b7343a1be2e43712facc06ed459aee168242c068dd5d6c8d376f03e8ecf1ba0b6c17d35df51a756d21b585bc1a636ebe88f2
|
7
|
+
data.tar.gz: bc7a4e58a9b60342d3a958374422f5cb6b6757455d4260c79062bee1bf148b5205426e1f3060cf9cd05a172e46f9e60c331dada909f06543aba733638a28b586
|
data/Manifest.txt
CHANGED
@@ -1696,6 +1696,7 @@ lib/dock_driver/template/dates_and_times.rb
|
|
1696
1696
|
lib/dock_driver/template/dzen2.rb
|
1697
1697
|
lib/dock_driver/template/environment.rb
|
1698
1698
|
lib/dock_driver/template/linux.rb
|
1699
|
+
lib/dock_driver/template/freebsd.rb
|
1699
1700
|
lib/dock_driver/template/network.rb
|
1700
1701
|
lib/dock_driver/workspace_pager.rb
|
1701
1702
|
spec/dock_driver_spec.rb
|
@@ -1704,4 +1705,4 @@ spec/dock_spec.rb
|
|
1704
1705
|
spec/i3_spec.rb
|
1705
1706
|
spec/rspec_helpers.rb
|
1706
1707
|
spec/template_spec.rb
|
1707
|
-
spec/workspace_pager_spec.rb
|
1708
|
+
spec/workspace_pager_spec.rb
|
@@ -2,10 +2,10 @@
|
|
2
2
|
module DockDriver
|
3
3
|
|
4
4
|
# Project version.
|
5
|
-
VERSION = '0.3.
|
5
|
+
VERSION = '0.3.3'
|
6
6
|
|
7
7
|
# Project revision.
|
8
|
-
REVISION = %$Revision:
|
8
|
+
REVISION = %$Revision: a21aabe884ff $
|
9
9
|
|
10
10
|
# The default location of a user's config file.
|
11
11
|
USER_CONFIG_FILE = Pathname( '~/.dock_driver.yml' ).expand_path
|
@@ -0,0 +1,47 @@
|
|
1
|
+
|
2
|
+
# Adds network-related methods to the DockDriver::Template DSL.
|
3
|
+
#
|
4
|
+
# Since I'm using a bit of metaprogramming, here's a list of DSL methods that
|
5
|
+
# this module brings to the template:
|
6
|
+
#
|
7
|
+
# [\loadavg_one]
|
8
|
+
# 1 minute load average
|
9
|
+
# [\loadavg_five]
|
10
|
+
# minute load average
|
11
|
+
# [\loadavg_fifteen]
|
12
|
+
# 15 minute load average
|
13
|
+
#
|
14
|
+
# Example:
|
15
|
+
#
|
16
|
+
# <%= loadavg_one %> => 1.61
|
17
|
+
#
|
18
|
+
module DockDriver::Template::FreeBSD
|
19
|
+
|
20
|
+
# Map of column names for the load stats.
|
21
|
+
LOADAVG_KEYS = [
|
22
|
+
:one,
|
23
|
+
:five,
|
24
|
+
:fifteen
|
25
|
+
]
|
26
|
+
|
27
|
+
# Define methods for each key in LOADAVG_KEYS.
|
28
|
+
LOADAVG_KEYS.each do |key|
|
29
|
+
name = ("loadavg_%s" % [key]).to_sym
|
30
|
+
define_method( name ) do
|
31
|
+
return loadavg()[key]
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
#######
|
36
|
+
private
|
37
|
+
#######
|
38
|
+
|
39
|
+
# Parse the contents of LOADAVG_PATH and return a hash of values found.
|
40
|
+
def loadavg
|
41
|
+
items = `sysctl vm.loadavg`.chomp.scan( /(\d+[,.]\d+)+/ ).flatten!
|
42
|
+
return Hash[LOADAVG_KEYS.zip( items )]
|
43
|
+
rescue Exception
|
44
|
+
return Hash.new
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
data/lib/dock_driver/template.rb
CHANGED
@@ -4,55 +4,63 @@ require 'ostruct'
|
|
4
4
|
|
5
5
|
module DockDriver
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
7
|
+
# This class provides a binding/namespace for ERB templating.
|
8
|
+
class Template < OpenStruct
|
9
|
+
|
10
|
+
# A factory method to render the template, given a string, and a
|
11
|
+
# list of objects that respond to +:to_s+.
|
12
|
+
#
|
13
|
+
# Returns the result of the template.
|
14
|
+
#
|
15
|
+
# Example:
|
16
|
+
#
|
17
|
+
# my_tmpl = "<%= date %>"
|
18
|
+
# DockDriver::Template.render( my_tmpl, [] ) => '2012-10-05 11:30:22'
|
19
|
+
#
|
20
|
+
def self::render( tmpl, items )
|
21
|
+
tmpl = ERB.new( tmpl )
|
22
|
+
result = tmpl.result( self.new( items ).instance_eval { binding } )
|
23
|
+
return result.gsub( /\s+/, ' ' )
|
24
|
+
end
|
25
|
+
|
26
|
+
# Handle missing methods gracefully, by returning a red ! instead.
|
27
|
+
def method_missing( sym, *args, &block )
|
28
|
+
return '^fg(red)!^fg()'
|
29
|
+
end
|
30
|
+
|
31
|
+
#####################################################################
|
32
|
+
### D S L
|
33
|
+
#####################################################################
|
34
|
+
|
35
|
+
# Get the workspace pager as a string. See WorkspacePager.
|
36
|
+
# Example:
|
37
|
+
#
|
38
|
+
# <%= pager %>
|
39
|
+
#
|
40
|
+
def pager
|
41
|
+
return DockDriver::pager.to_s
|
42
|
+
end
|
43
|
+
|
44
|
+
require 'dock_driver/template/dates_and_times'
|
45
|
+
require 'dock_driver/template/environment'
|
46
|
+
require 'dock_driver/template/network'
|
47
|
+
require 'dock_driver/template/dzen2'
|
48
|
+
|
49
|
+
include DatesAndTimes
|
50
|
+
include Environment
|
51
|
+
include Network
|
52
|
+
include Dzen2
|
53
|
+
|
54
|
+
if RUBY_PLATFORM =~ /linux/i
|
55
|
+
require 'dock_driver/template/linux'
|
56
|
+
include Linux
|
57
|
+
end
|
58
|
+
|
59
|
+
if RUBY_PLATFORM =~ /freebsd/i
|
60
|
+
require 'dock_driver/template/freebsd'
|
61
|
+
include FreeBSD
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
57
65
|
|
58
66
|
end
|
metadata
CHANGED
@@ -1,47 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dock_driver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Michael Hix
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
|
-
cert_chain:
|
12
|
-
-
|
13
|
-
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLRENDQWhDZ0F3SUJB
|
14
|
-
Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREE2TVEwd0N3WURWUVFEREFSdGFX
|
15
|
-
dGwKTVJRd0VnWUtDWkltaVpQeUxHUUJHUllFYlhWemJERVRNQkVHQ2dtU0pv
|
16
|
-
bVQ4aXhrQVJrV0EyOXlaekFlRncweApNakEwTWpVeE9ETTRNamRhRncweE16
|
17
|
-
QTBNalV4T0RNNE1qZGFNRG94RFRBTEJnTlZCQU1NQkcxcGEyVXhGREFTCkJn
|
18
|
-
b0praWFKay9Jc1pBRVpGZ1J0ZFhOc01STXdFUVlLQ1pJbWlaUHlMR1FCR1JZ
|
19
|
-
RGIzSm5NSUlCSWpBTkJna3EKaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dL
|
20
|
-
Q0FRRUF5WUtvNXRUaXJkZk1Ua3NNTTVEbm53THRHVW5BUEUrKwpwVFBPZW5C
|
21
|
-
MjlyVnVyckkyVnc4bmRqYmlXdGFCT3diNmpWZE16RXd4QndWQmE0cjRGZFNR
|
22
|
-
TzhyekVtMWpWLytCCkxFYmw1eHZPeS9QUkFYS3ZhVXJRWUN2dVl0SkExcHkx
|
23
|
-
bUdJQzhldk5pSDRqeFpsMEZuOUdyak56enVSb1NpL08KbkxBNGRjSTVJbkNX
|
24
|
-
QXRVVFV0TWtNUG45bXo5ZVpSbnFkMnl4emljaXdIekhrWEJxVkRBQ2VBdm80
|
25
|
-
UFpVdFRFTAphQXMveVAzSGMvQUg3U3Ryd1hiMktVSmV4U0p4aW1rQUdnMUow
|
26
|
-
aU1DdUtUQkU5ZTUzNE9YbkUwTmdDdXlPcmxlCmxwUFR4RjV1bU1wa2lUd0hM
|
27
|
-
cm1CV2V6My9KeUF0MXd0KzVZV1hhbVFCTzFiR3F6Ry9hR1UxUUlEQVFBQm96
|
28
|
-
a3cKTnpBZEJnTlZIUTRFRmdRVVBkWDBKQURzWk1PdE9EU1AwS2xncVRnTUcx
|
29
|
-
Y3dDUVlEVlIwVEJBSXdBREFMQmdOVgpIUThFQkFNQ0JMQXdEUVlKS29aSWh2
|
30
|
-
Y05BUUVGQlFBRGdnRUJBRG5scFA1aE5QYU0yeDFxL2x1bXZwSGkxTlU1Cm4x
|
31
|
-
VEoxM1pkVmJSVDFlOUhiQ3MyblE2VGFoSWRmLzF2ZFZsVmxkZU5SRFd4ZTJ5
|
32
|
-
WFNHOFJycEZaVjFBVHUrTC8KbUNHUE0yTkJVaDN6VDUya01pVkpGaDRqcUk2
|
33
|
-
U1dMVS82dm9qeFptczhqcGdoVDdnaUE1S05RWU42WkszanJUSwp5b2NSQmgv
|
34
|
-
clRLSG03QzIwN3FUZi9pTFpqNGtHNjBvelZka1lrWlBsclA2L0RrZnlhbW5U
|
35
|
-
SHJtdE4wVzMweFdDClY5QUdQZlZtN1hWZmIvd1BrV1BEM2pnQTc3L2o0S0py
|
36
|
-
SUgwTUwwVzlxeXBjWWdIMTFYM1JTMGhCTStjeDFXY1gKRWRjN1NoQlRNRTkr
|
37
|
-
dTZLL0hGd1Z4VE9IOFdKVnhrd0dUbXhLZ0NldnI1bVp6YklOSC9DNkxia21m
|
38
|
-
RUE9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
|
39
|
-
date: 2012-12-13 00:00:00.000000000 Z
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-02-04 00:00:00.000000000 Z
|
40
12
|
dependencies:
|
41
13
|
- !ruby/object:Gem::Dependency
|
42
14
|
name: trollop
|
43
15
|
requirement: !ruby/object:Gem::Requirement
|
44
|
-
none: false
|
45
16
|
requirements:
|
46
17
|
- - ~>
|
47
18
|
- !ruby/object:Gem::Version
|
@@ -49,7 +20,6 @@ dependencies:
|
|
49
20
|
type: :runtime
|
50
21
|
prerelease: false
|
51
22
|
version_requirements: !ruby/object:Gem::Requirement
|
52
|
-
none: false
|
53
23
|
requirements:
|
54
24
|
- - ~>
|
55
25
|
- !ruby/object:Gem::Version
|
@@ -57,7 +27,6 @@ dependencies:
|
|
57
27
|
- !ruby/object:Gem::Dependency
|
58
28
|
name: columnize
|
59
29
|
requirement: !ruby/object:Gem::Requirement
|
60
|
-
none: false
|
61
30
|
requirements:
|
62
31
|
- - ~>
|
63
32
|
- !ruby/object:Gem::Version
|
@@ -65,7 +34,6 @@ dependencies:
|
|
65
34
|
type: :runtime
|
66
35
|
prerelease: false
|
67
36
|
version_requirements: !ruby/object:Gem::Requirement
|
68
|
-
none: false
|
69
37
|
requirements:
|
70
38
|
- - ~>
|
71
39
|
- !ruby/object:Gem::Version
|
@@ -73,7 +41,6 @@ dependencies:
|
|
73
41
|
- !ruby/object:Gem::Dependency
|
74
42
|
name: configurability
|
75
43
|
requirement: !ruby/object:Gem::Requirement
|
76
|
-
none: false
|
77
44
|
requirements:
|
78
45
|
- - ~>
|
79
46
|
- !ruby/object:Gem::Version
|
@@ -81,7 +48,6 @@ dependencies:
|
|
81
48
|
type: :runtime
|
82
49
|
prerelease: false
|
83
50
|
version_requirements: !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
51
|
requirements:
|
86
52
|
- - ~>
|
87
53
|
- !ruby/object:Gem::Version
|
@@ -89,7 +55,6 @@ dependencies:
|
|
89
55
|
- !ruby/object:Gem::Dependency
|
90
56
|
name: loggability
|
91
57
|
requirement: !ruby/object:Gem::Requirement
|
92
|
-
none: false
|
93
58
|
requirements:
|
94
59
|
- - ~>
|
95
60
|
- !ruby/object:Gem::Version
|
@@ -97,47 +62,27 @@ dependencies:
|
|
97
62
|
type: :runtime
|
98
63
|
prerelease: false
|
99
64
|
version_requirements: !ruby/object:Gem::Requirement
|
100
|
-
none: false
|
101
65
|
requirements:
|
102
66
|
- - ~>
|
103
67
|
- !ruby/object:Gem::Version
|
104
68
|
version: 0.5.0
|
105
|
-
- !ruby/object:Gem::Dependency
|
106
|
-
name: hoe-mercurial
|
107
|
-
requirement: !ruby/object:Gem::Requirement
|
108
|
-
none: false
|
109
|
-
requirements:
|
110
|
-
- - ~>
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
version: 1.4.0
|
113
|
-
type: :development
|
114
|
-
prerelease: false
|
115
|
-
version_requirements: !ruby/object:Gem::Requirement
|
116
|
-
none: false
|
117
|
-
requirements:
|
118
|
-
- - ~>
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
version: 1.4.0
|
121
69
|
- !ruby/object:Gem::Dependency
|
122
70
|
name: rdoc
|
123
71
|
requirement: !ruby/object:Gem::Requirement
|
124
|
-
none: false
|
125
72
|
requirements:
|
126
73
|
- - ~>
|
127
74
|
- !ruby/object:Gem::Version
|
128
|
-
version: '
|
75
|
+
version: '4.0'
|
129
76
|
type: :development
|
130
77
|
prerelease: false
|
131
78
|
version_requirements: !ruby/object:Gem::Requirement
|
132
|
-
none: false
|
133
79
|
requirements:
|
134
80
|
- - ~>
|
135
81
|
- !ruby/object:Gem::Version
|
136
|
-
version: '
|
82
|
+
version: '4.0'
|
137
83
|
- !ruby/object:Gem::Dependency
|
138
84
|
name: pry
|
139
85
|
requirement: !ruby/object:Gem::Requirement
|
140
|
-
none: false
|
141
86
|
requirements:
|
142
87
|
- - ~>
|
143
88
|
- !ruby/object:Gem::Version
|
@@ -145,7 +90,6 @@ dependencies:
|
|
145
90
|
type: :development
|
146
91
|
prerelease: false
|
147
92
|
version_requirements: !ruby/object:Gem::Requirement
|
148
|
-
none: false
|
149
93
|
requirements:
|
150
94
|
- - ~>
|
151
95
|
- !ruby/object:Gem::Version
|
@@ -153,7 +97,6 @@ dependencies:
|
|
153
97
|
- !ruby/object:Gem::Dependency
|
154
98
|
name: ruby-prof
|
155
99
|
requirement: !ruby/object:Gem::Requirement
|
156
|
-
none: false
|
157
100
|
requirements:
|
158
101
|
- - ~>
|
159
102
|
- !ruby/object:Gem::Version
|
@@ -161,7 +104,6 @@ dependencies:
|
|
161
104
|
type: :development
|
162
105
|
prerelease: false
|
163
106
|
version_requirements: !ruby/object:Gem::Requirement
|
164
|
-
none: false
|
165
107
|
requirements:
|
166
108
|
- - ~>
|
167
109
|
- !ruby/object:Gem::Version
|
@@ -169,7 +111,6 @@ dependencies:
|
|
169
111
|
- !ruby/object:Gem::Dependency
|
170
112
|
name: rdoc-generator-fivefish
|
171
113
|
requirement: !ruby/object:Gem::Requirement
|
172
|
-
none: false
|
173
114
|
requirements:
|
174
115
|
- - ~>
|
175
116
|
- !ruby/object:Gem::Version
|
@@ -177,7 +118,6 @@ dependencies:
|
|
177
118
|
type: :development
|
178
119
|
prerelease: false
|
179
120
|
version_requirements: !ruby/object:Gem::Requirement
|
180
|
-
none: false
|
181
121
|
requirements:
|
182
122
|
- - ~>
|
183
123
|
- !ruby/object:Gem::Version
|
@@ -185,20 +125,18 @@ dependencies:
|
|
185
125
|
- !ruby/object:Gem::Dependency
|
186
126
|
name: hoe
|
187
127
|
requirement: !ruby/object:Gem::Requirement
|
188
|
-
none: false
|
189
128
|
requirements:
|
190
129
|
- - ~>
|
191
130
|
- !ruby/object:Gem::Version
|
192
|
-
version: '3.
|
131
|
+
version: '3.8'
|
193
132
|
type: :development
|
194
133
|
prerelease: false
|
195
134
|
version_requirements: !ruby/object:Gem::Requirement
|
196
|
-
none: false
|
197
135
|
requirements:
|
198
136
|
- - ~>
|
199
137
|
- !ruby/object:Gem::Version
|
200
|
-
version: '3.
|
201
|
-
description:
|
138
|
+
version: '3.8'
|
139
|
+
description: "Provides a simple executable to drive a dzen2 (or similar) dock with
|
202
140
|
a\nsingle YAML config file.\n\nRead +example.dock_driver.yml+ for more information
|
203
141
|
about how to get\nstarted. It's located in this gem's data directory, which is usually:\n\t$GEM_HOME/gems/dock_driver-x.y.z/data/"
|
204
142
|
email:
|
@@ -212,6 +150,7 @@ extra_rdoc_files:
|
|
212
150
|
- README.rdoc
|
213
151
|
- TODO.rdoc
|
214
152
|
files:
|
153
|
+
- .gemtest
|
215
154
|
- History.rdoc
|
216
155
|
- Manifest.txt
|
217
156
|
- README.rdoc
|
@@ -1909,6 +1848,7 @@ files:
|
|
1909
1848
|
- lib/dock_driver/template/dates_and_times.rb
|
1910
1849
|
- lib/dock_driver/template/dzen2.rb
|
1911
1850
|
- lib/dock_driver/template/environment.rb
|
1851
|
+
- lib/dock_driver/template/freebsd.rb
|
1912
1852
|
- lib/dock_driver/template/linux.rb
|
1913
1853
|
- lib/dock_driver/template/network.rb
|
1914
1854
|
- lib/dock_driver/workspace_pager.rb
|
@@ -1919,9 +1859,10 @@ files:
|
|
1919
1859
|
- spec/rspec_helpers.rb
|
1920
1860
|
- spec/template_spec.rb
|
1921
1861
|
- spec/workspace_pager_spec.rb
|
1922
|
-
- .gemtest
|
1923
1862
|
homepage: http://hg.musl.org/projects/dock_driver/
|
1924
|
-
licenses:
|
1863
|
+
licenses:
|
1864
|
+
- MIT
|
1865
|
+
metadata: {}
|
1925
1866
|
post_install_message:
|
1926
1867
|
rdoc_options:
|
1927
1868
|
- -f
|
@@ -1929,22 +1870,20 @@ rdoc_options:
|
|
1929
1870
|
require_paths:
|
1930
1871
|
- lib
|
1931
1872
|
required_ruby_version: !ruby/object:Gem::Requirement
|
1932
|
-
none: false
|
1933
1873
|
requirements:
|
1934
|
-
- -
|
1874
|
+
- - '>='
|
1935
1875
|
- !ruby/object:Gem::Version
|
1936
1876
|
version: 1.8.7
|
1937
1877
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1938
|
-
none: false
|
1939
1878
|
requirements:
|
1940
|
-
- -
|
1879
|
+
- - '>='
|
1941
1880
|
- !ruby/object:Gem::Version
|
1942
1881
|
version: '1.8'
|
1943
1882
|
requirements: []
|
1944
1883
|
rubyforge_project: dock_driver
|
1945
|
-
rubygems_version:
|
1884
|
+
rubygems_version: 2.2.1
|
1946
1885
|
signing_key:
|
1947
|
-
specification_version:
|
1886
|
+
specification_version: 4
|
1948
1887
|
summary: Provides a simple executable to drive a dzen2 (or similar) dock with a single
|
1949
1888
|
YAML config file
|
1950
1889
|
test_files: []
|
data.tar.gz.sig
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
mJ��'��M�_��H�m�9�L��E��^Ze��![���b8�؍���3�)5{�tIz�N�y�'-�ֻ��z|���?H�֭�lJ���&>�=0�"�k|���?�ZuZ���� 6�'��i�!Z.z��܃vm�oI˵���݄z ird,�m�(Lg1p(��}b��%NV��]��jxz/���}v�����W�y�2a���x����Oh��y��|�5p�̈́����E�����(8�Z��;QLՅ-b�G��mL
|
metadata.gz.sig
DELETED
Binary file
|