freyr 0.3.5 → 0.3.6
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/VERSION +1 -1
- data/lib/freyr/cli/helpers.rb +1 -1
- data/lib/freyr/command.rb +10 -6
- data/lib/freyr/process_info.rb +7 -1
- data/lib/freyr/service.rb +7 -3
- data/lib/freyr/service_info.rb +21 -9
- data/lib/freyr.rb +1 -1
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.6
|
data/lib/freyr/cli/helpers.rb
CHANGED
data/lib/freyr/command.rb
CHANGED
@@ -13,12 +13,6 @@ module Freyr
|
|
13
13
|
Dir.mkdir(FREYR_PIDS)
|
14
14
|
end
|
15
15
|
|
16
|
-
ServiceInfo::ATTRS.each do |meth|
|
17
|
-
define_method(meth) do |*args|
|
18
|
-
@service.__send__(meth,*args) if @service
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
16
|
attr_reader :command, :name, :service
|
23
17
|
|
24
18
|
def initialize(name, command=nil, args = {})
|
@@ -263,6 +257,16 @@ module Freyr
|
|
263
257
|
end
|
264
258
|
end
|
265
259
|
|
260
|
+
|
261
|
+
class << self
|
262
|
+
def add_service_method *methods
|
263
|
+
methods.each do |meth|
|
264
|
+
define_method(meth) do |*args|
|
265
|
+
@service.__send__(meth,*args) if @service
|
266
|
+
end
|
267
|
+
end
|
268
|
+
end
|
269
|
+
end
|
266
270
|
end
|
267
271
|
|
268
272
|
class AdminRequired < Errno::EACCES; end
|
data/lib/freyr/process_info.rb
CHANGED
data/lib/freyr/service.rb
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
module Freyr
|
2
2
|
class Service
|
3
3
|
extend Forwardable
|
4
|
+
class << self
|
5
|
+
def add_service_method *methods
|
6
|
+
def_delegators :@service_info, *methods
|
7
|
+
end
|
8
|
+
end
|
4
9
|
|
5
10
|
attr_reader :service_info, :command
|
6
11
|
|
@@ -9,8 +14,7 @@ module Freyr
|
|
9
14
|
@command = Command.new(self)
|
10
15
|
end
|
11
16
|
|
12
|
-
|
13
|
-
def_delegator :@service_info, :start, :start_command
|
17
|
+
add_service_method :start, :start_command
|
14
18
|
|
15
19
|
def env
|
16
20
|
service_info.env || {}
|
@@ -93,7 +97,7 @@ module Freyr
|
|
93
97
|
|
94
98
|
services = ServiceInfo.from_file(f).collect do |ser|
|
95
99
|
raise 'Cannot have two things of the same name' if selectors.include?(ser.name)
|
96
|
-
names
|
100
|
+
names |= [ser.name]
|
97
101
|
@all_groups |= ser.groups
|
98
102
|
new(ser)
|
99
103
|
end
|
data/lib/freyr/service_info.rb
CHANGED
@@ -2,9 +2,20 @@ module Freyr
|
|
2
2
|
class ServiceInfo
|
3
3
|
attr_reader :groups
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
class << self
|
6
|
+
def add_service_method *methods
|
7
|
+
Service.send :add_service_method, *methods
|
8
|
+
Command.send :add_service_method, *methods
|
9
|
+
methods.each do |method|
|
10
|
+
ATTRS << methods
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
ATTRS = []
|
16
|
+
add_service_method :name,:dir,:log_cmd,:log,:err_log_cmd,:err_log,:umask,
|
17
|
+
:uid,:gid,:chroot,:proc_match,:restart,:stop,:stop_sig,
|
18
|
+
:restart_sig,:sudo,:groups,:ping,:also,:dependencies,:read_log
|
8
19
|
|
9
20
|
def initialize(name=nil, args={}, &block)
|
10
21
|
@groups = []
|
@@ -36,17 +47,18 @@ module Freyr
|
|
36
47
|
@also |= val
|
37
48
|
end
|
38
49
|
|
39
|
-
MODIFIERS = {
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
}
|
50
|
+
MODIFIERS = Hash.new {|h,k| h[k] = []}
|
51
|
+
MODIFIERS[:start] << :_sudo_checker
|
52
|
+
MODIFIERS[:stop] << :_sudo_checker
|
53
|
+
MODIFIERS[:restart] << :_sudo_checker
|
44
54
|
|
45
55
|
def method_missing key, val=nil
|
46
56
|
key = key.to_s.gsub(/\=$/,'').to_sym
|
47
57
|
|
48
58
|
if val
|
49
|
-
|
59
|
+
MODIFIERS[key].each do |modifier|
|
60
|
+
val = send(modifier,val)
|
61
|
+
end
|
50
62
|
instance_variable_set("@#{key}", val)
|
51
63
|
else
|
52
64
|
instance_variable_get("@#{key}")
|
data/lib/freyr.rb
CHANGED
@@ -4,6 +4,6 @@ module Freyr
|
|
4
4
|
|
5
5
|
end
|
6
6
|
|
7
|
-
%w{version
|
7
|
+
%w{version service_group service command service_info pinger process_info}.each do |f|
|
8
8
|
require File.expand_path(File.dirname(__FILE__)+"/freyr/#{f}.rb")
|
9
9
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: freyr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 31
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 6
|
10
|
+
version: 0.3.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Tal Atlas
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-07-20 00:00:00 -04:00
|
19
19
|
default_executable: freyr
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|