dock_driver 0.3.2 → 0.3.3

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.
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.2'
5
+ VERSION = '0.3.3'
6
6
 
7
7
  # Project revision.
8
- REVISION = %$Revision: 25f7127c40b1 $
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
@@ -4,55 +4,63 @@ require 'ostruct'
4
4
 
5
5
  module DockDriver
6
6
 
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
- require 'dock_driver/template/linux'
49
-
50
- include DatesAndTimes
51
- include Environment
52
- include Network
53
- include Dzen2
54
- include Linux
55
-
56
- end
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.2
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
- - !binary |-
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: '3.10'
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: '3.10'
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.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.3'
201
- description: ! "Provides a simple executable to drive a dzen2 (or similar) dock with
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: 1.8.24
1884
+ rubygems_version: 2.2.1
1946
1885
  signing_key:
1947
- specification_version: 3
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��܃v m�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