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 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