akaer 2.1.2 → 2.2.0
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/.travis-gemfile +5 -3
- data/.travis.yml +1 -1
- data/Gemfile +5 -4
- data/README.md +1 -0
- data/akaer.gemspec +1 -1
- data/bin/akaer +4 -4
- data/doc/Akaer.html +5 -5
- data/doc/Akaer/Application.html +112 -112
- data/doc/Akaer/ApplicationMethods.html +5 -5
- data/doc/Akaer/ApplicationMethods/General.html +7 -7
- data/doc/Akaer/ApplicationMethods/System.html +25 -25
- data/doc/Akaer/Configuration.html +10 -10
- data/doc/Akaer/Version.html +7 -7
- data/doc/_index.html +6 -6
- data/doc/class_list.html +2 -1
- data/doc/file.README.html +7 -6
- data/doc/file_list.html +2 -1
- data/doc/frames.html +1 -1
- data/doc/index.html +7 -6
- data/doc/js/full_list.js +7 -2
- data/doc/method_list.html +21 -60
- data/doc/top-level-namespace.html +5 -5
- data/lib/akaer/application.rb +45 -52
- data/lib/akaer/configuration.rb +5 -5
- data/lib/akaer/version.rb +2 -2
- data/spec/akaer/application_spec.rb +76 -60
- data/spec/coverage_helper.rb +3 -0
- metadata +5 -5
data/doc/method_list.html
CHANGED
@@ -15,6 +15,7 @@
|
|
15
15
|
<script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
|
16
16
|
|
17
17
|
|
18
|
+
<title>Method List</title>
|
18
19
|
<base id="base_target" target="_parent" />
|
19
20
|
</head>
|
20
21
|
<body>
|
@@ -48,161 +49,121 @@
|
|
48
49
|
|
49
50
|
<li class="r1 ">
|
50
51
|
<span class='object_link'><a href="Akaer/Application.html#%40return-instance_method" title="Akaer::Application\#@return (method)">#@return</a></span>
|
51
|
-
|
52
|
-
<small>Akaer::Application</small>
|
53
|
-
|
52
|
+
<small>Akaer::Application</small>
|
54
53
|
</li>
|
55
54
|
|
56
55
|
|
57
56
|
<li class="r2 ">
|
58
57
|
<span class='object_link'><a href="Akaer/ApplicationMethods/System.html#action_add-instance_method" title="Akaer::ApplicationMethods::System#action_add (method)">#action_add</a></span>
|
59
|
-
|
60
|
-
<small>Akaer::ApplicationMethods::System</small>
|
61
|
-
|
58
|
+
<small>Akaer::ApplicationMethods::System</small>
|
62
59
|
</li>
|
63
60
|
|
64
61
|
|
65
62
|
<li class="r1 ">
|
66
63
|
<span class='object_link'><a href="Akaer/ApplicationMethods/System.html#action_install-instance_method" title="Akaer::ApplicationMethods::System#action_install (method)">#action_install</a></span>
|
67
|
-
|
68
|
-
<small>Akaer::ApplicationMethods::System</small>
|
69
|
-
|
64
|
+
<small>Akaer::ApplicationMethods::System</small>
|
70
65
|
</li>
|
71
66
|
|
72
67
|
|
73
68
|
<li class="r2 ">
|
74
69
|
<span class='object_link'><a href="Akaer/ApplicationMethods/System.html#action_remove-instance_method" title="Akaer::ApplicationMethods::System#action_remove (method)">#action_remove</a></span>
|
75
|
-
|
76
|
-
<small>Akaer::ApplicationMethods::System</small>
|
77
|
-
|
70
|
+
<small>Akaer::ApplicationMethods::System</small>
|
78
71
|
</li>
|
79
72
|
|
80
73
|
|
81
74
|
<li class="r1 ">
|
82
75
|
<span class='object_link'><a href="Akaer/ApplicationMethods/System.html#action_uninstall-instance_method" title="Akaer::ApplicationMethods::System#action_uninstall (method)">#action_uninstall</a></span>
|
83
|
-
|
84
|
-
<small>Akaer::ApplicationMethods::System</small>
|
85
|
-
|
76
|
+
<small>Akaer::ApplicationMethods::System</small>
|
86
77
|
</li>
|
87
78
|
|
88
79
|
|
89
80
|
<li class="r2 ">
|
90
81
|
<span class='object_link'><a href="Akaer/Application.html#command-instance_method" title="Akaer::Application#command (method)">#command</a></span>
|
91
|
-
|
92
|
-
<small>Akaer::Application</small>
|
93
|
-
|
82
|
+
<small>Akaer::Application</small>
|
94
83
|
</li>
|
95
84
|
|
96
85
|
|
97
86
|
<li class="r1 ">
|
98
87
|
<span class='object_link'><a href="Akaer/Application.html#compute_addresses-instance_method" title="Akaer::Application#compute_addresses (method)">#compute_addresses</a></span>
|
99
|
-
|
100
|
-
<small>Akaer::Application</small>
|
101
|
-
|
88
|
+
<small>Akaer::Application</small>
|
102
89
|
</li>
|
103
90
|
|
104
91
|
|
105
92
|
<li class="r2 ">
|
106
93
|
<span class='object_link'><a href="Akaer/Application.html#config-instance_method" title="Akaer::Application#config (method)">#config</a></span>
|
107
|
-
|
108
|
-
<small>Akaer::Application</small>
|
109
|
-
|
94
|
+
<small>Akaer::Application</small>
|
110
95
|
</li>
|
111
96
|
|
112
97
|
|
113
98
|
<li class="r1 ">
|
114
99
|
<span class='object_link'><a href="Akaer/Application.html#execute_command-instance_method" title="Akaer::Application#execute_command (method)">#execute_command</a></span>
|
115
|
-
|
116
|
-
<small>Akaer::Application</small>
|
117
|
-
|
100
|
+
<small>Akaer::Application</small>
|
118
101
|
</li>
|
119
102
|
|
120
103
|
|
121
104
|
<li class="r2 ">
|
122
105
|
<span class='object_link'><a href="Akaer/Application.html#get_logger-instance_method" title="Akaer::Application#get_logger (method)">#get_logger</a></span>
|
123
|
-
|
124
|
-
<small>Akaer::Application</small>
|
125
|
-
|
106
|
+
<small>Akaer::Application</small>
|
126
107
|
</li>
|
127
108
|
|
128
109
|
|
129
110
|
<li class="r1 ">
|
130
111
|
<span class='object_link'><a href="Akaer/Configuration.html#initialize-instance_method" title="Akaer::Configuration#initialize (method)">#initialize</a></span>
|
131
|
-
|
132
|
-
<small>Akaer::Configuration</small>
|
133
|
-
|
112
|
+
<small>Akaer::Configuration</small>
|
134
113
|
</li>
|
135
114
|
|
136
115
|
|
137
116
|
<li class="r2 ">
|
138
117
|
<span class='object_link'><a href="Akaer/Application.html#initialize-instance_method" title="Akaer::Application#initialize (method)">#initialize</a></span>
|
139
|
-
|
140
|
-
<small>Akaer::Application</small>
|
141
|
-
|
118
|
+
<small>Akaer::Application</small>
|
142
119
|
</li>
|
143
120
|
|
144
121
|
|
145
122
|
<li class="r1 ">
|
146
123
|
<span class='object_link'><a href="Akaer/Application.html#instance-class_method" title="Akaer::Application.instance (method)">instance</a></span>
|
147
|
-
|
148
|
-
<small>Akaer::Application</small>
|
149
|
-
|
124
|
+
<small>Akaer::Application</small>
|
150
125
|
</li>
|
151
126
|
|
152
127
|
|
153
128
|
<li class="r2 ">
|
154
129
|
<span class='object_link'><a href="Akaer/Application.html#is_ipv4%3F-instance_method" title="Akaer::Application#is_ipv4? (method)">#is_ipv4?</a></span>
|
155
|
-
|
156
|
-
<small>Akaer::Application</small>
|
157
|
-
|
130
|
+
<small>Akaer::Application</small>
|
158
131
|
</li>
|
159
132
|
|
160
133
|
|
161
134
|
<li class="r1 ">
|
162
135
|
<span class='object_link'><a href="Akaer/Application.html#is_ipv6%3F-instance_method" title="Akaer::Application#is_ipv6? (method)">#is_ipv6?</a></span>
|
163
|
-
|
164
|
-
<small>Akaer::Application</small>
|
165
|
-
|
136
|
+
<small>Akaer::Application</small>
|
166
137
|
</li>
|
167
138
|
|
168
139
|
|
169
140
|
<li class="r2 ">
|
170
141
|
<span class='object_link'><a href="Akaer/ApplicationMethods/General.html#is_osx%3F-instance_method" title="Akaer::ApplicationMethods::General#is_osx? (method)">#is_osx?</a></span>
|
171
|
-
|
172
|
-
<small>Akaer::ApplicationMethods::General</small>
|
173
|
-
|
142
|
+
<small>Akaer::ApplicationMethods::General</small>
|
174
143
|
</li>
|
175
144
|
|
176
145
|
|
177
146
|
<li class="r1 ">
|
178
147
|
<span class='object_link'><a href="Akaer/Application.html#launch_agent_path-instance_method" title="Akaer::Application#launch_agent_path (method)">#launch_agent_path</a></span>
|
179
|
-
|
180
|
-
<small>Akaer::Application</small>
|
181
|
-
|
148
|
+
<small>Akaer::Application</small>
|
182
149
|
</li>
|
183
150
|
|
184
151
|
|
185
152
|
<li class="r2 ">
|
186
153
|
<span class='object_link'><a href="Akaer/Application.html#logger-instance_method" title="Akaer::Application#logger (method)">#logger</a></span>
|
187
|
-
|
188
|
-
<small>Akaer::Application</small>
|
189
|
-
|
154
|
+
<small>Akaer::Application</small>
|
190
155
|
</li>
|
191
156
|
|
192
157
|
|
193
158
|
<li class="r1 ">
|
194
159
|
<span class='object_link'><a href="Akaer/ApplicationMethods/General.html#manage-instance_method" title="Akaer::ApplicationMethods::General#manage (method)">#manage</a></span>
|
195
|
-
|
196
|
-
<small>Akaer::ApplicationMethods::General</small>
|
197
|
-
|
160
|
+
<small>Akaer::ApplicationMethods::General</small>
|
198
161
|
</li>
|
199
162
|
|
200
163
|
|
201
164
|
<li class="r2 ">
|
202
165
|
<span class='object_link'><a href="Akaer/Application.html#pad_number-instance_method" title="Akaer::Application#pad_number (method)">#pad_number</a></span>
|
203
|
-
|
204
|
-
<small>Akaer::Application</small>
|
205
|
-
|
166
|
+
<small>Akaer::Application</small>
|
206
167
|
</li>
|
207
168
|
|
208
169
|
|
@@ -6,13 +6,13 @@
|
|
6
6
|
<title>
|
7
7
|
Top Level Namespace
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.
|
9
|
+
— Documentation by YARD 0.8.6.2
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
13
|
-
<link rel="stylesheet" href="css/style.css" type="text/css"
|
13
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
|
14
14
|
|
15
|
-
<link rel="stylesheet" href="css/common.css" type="text/css"
|
15
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
|
16
16
|
|
17
17
|
<script type="text/javascript" charset="utf-8">
|
18
18
|
hasFrames = window.top.frames.main ? true : false;
|
@@ -103,9 +103,9 @@
|
|
103
103
|
</div>
|
104
104
|
|
105
105
|
<div id="footer">
|
106
|
-
Generated on
|
106
|
+
Generated on Sun Jul 14 17:46:44 2013 by
|
107
107
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
108
|
-
0.8.
|
108
|
+
0.8.6.2 (ruby-1.9.3).
|
109
109
|
</div>
|
110
110
|
|
111
111
|
</body>
|
data/lib/akaer/application.rb
CHANGED
@@ -18,7 +18,7 @@ module Akaer
|
|
18
18
|
#
|
19
19
|
# @return [Boolean] `true` if the current platform is MacOS X, `false` otherwise.
|
20
20
|
def is_osx?
|
21
|
-
::RbConfig::CONFIG['host_os'] =~ /^darwin/
|
21
|
+
!(::RbConfig::CONFIG['host_os'] =~ /^darwin/).nil?
|
22
22
|
end
|
23
23
|
|
24
24
|
# Adds or removes an alias from the interface.
|
@@ -27,7 +27,7 @@ module Akaer
|
|
27
27
|
# @param address [String] The address to manage.
|
28
28
|
# @return [Boolean] `true` if operation succeeded, `false` otherwise.
|
29
29
|
def manage(type, address)
|
30
|
-
locale =
|
30
|
+
locale = i18n
|
31
31
|
config = self.config
|
32
32
|
quiet = config.quiet
|
33
33
|
rv, command, prefix = setup_management(type, address)
|
@@ -52,9 +52,9 @@ module Akaer
|
|
52
52
|
# @return [Array] A list of parameters for the management.
|
53
53
|
def setup_management(type, address)
|
54
54
|
begin
|
55
|
-
@addresses ||=
|
56
|
-
length =
|
57
|
-
[true, build_command(type, address), "{mark=blue}[{mark=bright white}#{
|
55
|
+
@addresses ||= compute_addresses
|
56
|
+
length = pad_number(@addresses.length)
|
57
|
+
[true, build_command(type, address), "{mark=blue}[{mark=bright white}#{pad_number((@addresses.index(address) || 0) + 1, length.length)}{mark=reset blue}/{/mark}#{length}{/mark}]{/mark}"]
|
58
58
|
rescue ArgumentError
|
59
59
|
[false]
|
60
60
|
end
|
@@ -79,9 +79,9 @@ module Akaer
|
|
79
79
|
# @param quiet [Boolean] Whether to show the message.
|
80
80
|
# @return [Boolean] `true` if operation succeeded, `false` otherwise.
|
81
81
|
def execute_manage(command, prefix, type, address, config, quiet)
|
82
|
-
locale =
|
82
|
+
locale = i18n
|
83
83
|
log_management(:run, prefix, type, locale.removing, locale.adding, address, config, quiet)
|
84
|
-
rv =
|
84
|
+
rv = execute_command(command)
|
85
85
|
labels = (type == :remove ? [locale.remove, locale.from] : [locale.add, locale.to])
|
86
86
|
@logger.error(@command.application.console.replace_markers(locale.general_error(labels[0], address, labels[1], config.interface))) if !rv
|
87
87
|
rv
|
@@ -98,9 +98,9 @@ module Akaer
|
|
98
98
|
# @param config [Configuration] The current configuration.
|
99
99
|
# @param quiet [Boolean] Whether to show the message.
|
100
100
|
def log_management(message, prefix, type, remove_label, add_label, address, config, quiet)
|
101
|
-
locale =
|
101
|
+
locale = i18n
|
102
102
|
labels = (type == :remove ? [remove_label, locale.from] : [add_label, locale.to])
|
103
|
-
@logger.info(@command.application.console.replace_markers(
|
103
|
+
@logger.info(@command.application.console.replace_markers(i18n.send(message, prefix, labels[0], address, labels[1], config.interface))) if !quiet
|
104
104
|
end
|
105
105
|
|
106
106
|
# Manages an action on the request addresses.
|
@@ -109,13 +109,11 @@ module Akaer
|
|
109
109
|
# @param message [String] The message to show if no addresses are found.
|
110
110
|
# @param quiet [Boolean] Whether to show the failure message.
|
111
111
|
def manage_action(operation, message, quiet)
|
112
|
-
addresses =
|
112
|
+
addresses = compute_addresses
|
113
113
|
|
114
114
|
if addresses.present? then
|
115
115
|
# Now, for every address, call the command
|
116
|
-
addresses.all? {|address|
|
117
|
-
self.manage(operation, address)
|
118
|
-
}
|
116
|
+
addresses.all? {|address| manage(operation, address) }
|
119
117
|
else
|
120
118
|
@logger.error(message) if !quiet
|
121
119
|
end
|
@@ -128,28 +126,28 @@ module Akaer
|
|
128
126
|
#
|
129
127
|
# @return [Boolean] `true` if action succeeded, `false` otherwise.
|
130
128
|
def action_add
|
131
|
-
manage_action(:add,
|
129
|
+
manage_action(:add, i18n.add_empty, config.quiet)
|
132
130
|
end
|
133
131
|
|
134
132
|
# Removes aliases from the interface.
|
135
133
|
#
|
136
134
|
# @return [Boolean] `true` if action succeeded, `false` otherwise.
|
137
135
|
def action_remove
|
138
|
-
manage_action(:remove,
|
136
|
+
manage_action(:remove, i18n.remove_empty, config.quiet)
|
139
137
|
end
|
140
138
|
|
141
139
|
# Installs the application into the autolaunch.
|
142
140
|
#
|
143
141
|
# @return [Boolean] `true` if action succeeded, `false` otherwise.
|
144
142
|
def action_install
|
145
|
-
manage_agent(
|
143
|
+
manage_agent(launch_agent_path, :create_agent, :load_agent, config.quiet)
|
146
144
|
end
|
147
145
|
|
148
146
|
# Uninstalls the application from the autolaunch.
|
149
147
|
#
|
150
148
|
# @return [Boolean] `true` if action succeeded, `false` otherwise.
|
151
149
|
def action_uninstall
|
152
|
-
manage_agent(
|
150
|
+
manage_agent(launch_agent_path, :unload_agent, :delete_agent, config.quiet)
|
153
151
|
end
|
154
152
|
|
155
153
|
private
|
@@ -172,13 +170,12 @@ module Akaer
|
|
172
170
|
# @param quiet [Boolean] Whether to show messages.
|
173
171
|
# @return [Boolean] `true` if the agent is enabled, `false` otherwise.
|
174
172
|
def check_agent_available(quiet)
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
173
|
+
if is_osx? then
|
174
|
+
true
|
175
|
+
else
|
176
|
+
logger.fatal(i18n.no_agent) if !quiet
|
177
|
+
false
|
179
178
|
end
|
180
|
-
|
181
|
-
rv
|
182
179
|
end
|
183
180
|
|
184
181
|
# Creates a OSX system agent.
|
@@ -188,12 +185,12 @@ module Akaer
|
|
188
185
|
# @return [Boolean] `true` if operation succeeded, `false` otherwise.
|
189
186
|
def create_agent(launch_agent, quiet)
|
190
187
|
begin
|
191
|
-
|
188
|
+
logger.info(i18n.agent_creating(launch_agent)) if !quiet
|
192
189
|
write_agent(launch_agent)
|
193
|
-
|
190
|
+
execute_command("plutil -convert binary1 \"#{launch_agent}\"")
|
194
191
|
true
|
195
192
|
rescue
|
196
|
-
|
193
|
+
logger.error(i18n.agent_creating_error) if !quiet
|
197
194
|
false
|
198
195
|
end
|
199
196
|
end
|
@@ -215,11 +212,11 @@ module Akaer
|
|
215
212
|
# @return [Boolean] `true` if operation succeeded, `false` otherwise.
|
216
213
|
def delete_agent(launch_agent, quiet)
|
217
214
|
begin
|
218
|
-
|
215
|
+
logger.info(i18n.agent_deleting(launch_agent)) if !quiet
|
219
216
|
::File.delete(launch_agent)
|
220
217
|
rescue
|
221
|
-
|
222
|
-
|
218
|
+
logger.warn(i18n.agent_deleting_error) if !quiet
|
219
|
+
false
|
223
220
|
end
|
224
221
|
end
|
225
222
|
|
@@ -229,12 +226,7 @@ module Akaer
|
|
229
226
|
# @param quiet [Boolean] Whether to show messages.
|
230
227
|
# @return [Boolean] `true` if operation succeeded, `false` otherwise.
|
231
228
|
def load_agent(launch_agent, quiet)
|
232
|
-
|
233
|
-
perform_agent_loading(launch_agent, "load", :agent_loading, quiet)
|
234
|
-
rescue
|
235
|
-
self.logger.error(self.i18n.agent_loading_error) if !quiet
|
236
|
-
false
|
237
|
-
end
|
229
|
+
perform_agent_loading(launch_agent, "load", :agent_loading, :agent_loading_error, quiet)
|
238
230
|
end
|
239
231
|
|
240
232
|
# Unloads a OSX system agent.
|
@@ -243,12 +235,7 @@ module Akaer
|
|
243
235
|
# @param quiet [Boolean] Whether to show messages.
|
244
236
|
# @return [Boolean] `true` if operation succeeded, `false` otherwise.
|
245
237
|
def unload_agent(launch_agent, quiet)
|
246
|
-
|
247
|
-
perform_agent_loading(launch_agent, "unload", :agent_unloading, quiet)
|
248
|
-
rescue
|
249
|
-
self.logger.warn(self.i18n.agent_unloading_error) if !quiet
|
250
|
-
false
|
251
|
-
end
|
238
|
+
perform_agent_loading(launch_agent, "unload", :agent_unloading, :agent_unloading_error, quiet)
|
252
239
|
end
|
253
240
|
|
254
241
|
# Performs operation on a OSX system agent.
|
@@ -256,12 +243,18 @@ module Akaer
|
|
256
243
|
# @param launch_agent [String] The agent path.
|
257
244
|
# @param command [String] The command to run.
|
258
245
|
# @param message [String] The message to show.
|
246
|
+
# @param error_message [String] The error message to show.
|
259
247
|
# @param quiet [Boolean] Whether to show messages.
|
260
248
|
# @return [Boolean] `true` if operation succeeded, `false` otherwise.
|
261
|
-
def perform_agent_loading(launch_agent, command, message, quiet)
|
262
|
-
|
263
|
-
|
264
|
-
|
249
|
+
def perform_agent_loading(launch_agent, command, message, error_message, quiet)
|
250
|
+
begin
|
251
|
+
logger.info(i18n.send(message, launch_agent)) if !quiet
|
252
|
+
execute_command("launchctl #{command} -w \"#{launch_agent}\" > /dev/null 2>&1")
|
253
|
+
true
|
254
|
+
rescue
|
255
|
+
logger.send(command == "load" ? :error : :warn, i18n.send(error_message)) if !quiet
|
256
|
+
false
|
257
|
+
end
|
265
258
|
end
|
266
259
|
end
|
267
260
|
end
|
@@ -288,7 +281,7 @@ module Akaer
|
|
288
281
|
# @param command [Mamertes::Command] The current Mamertes command.
|
289
282
|
# @param locale [Symbol] The locale to use for the application.
|
290
283
|
def initialize(command, locale)
|
291
|
-
|
284
|
+
i18n_setup(:akaer, ::File.absolute_path(::Pathname.new(::File.dirname(__FILE__)).to_s + "/../../locales/"))
|
292
285
|
self.i18n = locale
|
293
286
|
|
294
287
|
@command = command
|
@@ -328,9 +321,9 @@ module Akaer
|
|
328
321
|
throw(:valid, true) if /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*)?\Z/ =~ address
|
329
322
|
throw(:valid, true) if /\A::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*)?\Z/ =~ address
|
330
323
|
# IPv6 (IPv4 compat)
|
331
|
-
throw(:valid, true) if /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:/ =~ address &&
|
332
|
-
throw(:valid, true) if /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?/ =~ address &&
|
333
|
-
throw(:valid, true) if /\A::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?/ =~ address &&
|
324
|
+
throw(:valid, true) if /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:/ =~ address && is_ipv4?($')
|
325
|
+
throw(:valid, true) if /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?/ =~ address && is_ipv4?($')
|
326
|
+
throw(:valid, true) if /\A::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?/ =~ address && is_ipv4?($')
|
334
327
|
|
335
328
|
false
|
336
329
|
end
|
@@ -397,9 +390,9 @@ module Akaer
|
|
397
390
|
begin
|
398
391
|
@config = Akaer::Configuration.new(options["configuration"], options, @logger)
|
399
392
|
@logger = nil
|
400
|
-
@logger =
|
393
|
+
@logger = get_logger
|
401
394
|
rescue Bovem::Errors::InvalidConfiguration => e
|
402
|
-
@logger ? @logger.fatal(e.message) : Bovem::Logger.create("STDERR").fatal(
|
395
|
+
@logger ? @logger.fatal(e.message) : Bovem::Logger.create("STDERR").fatal(i18n.logging_failed(log_file))
|
403
396
|
raise ::SystemExit
|
404
397
|
end
|
405
398
|
end
|
@@ -413,7 +406,7 @@ module Akaer
|
|
413
406
|
filters = [:ipv4, :ipv6].select {|i| type == i || type == :all }.compact
|
414
407
|
|
415
408
|
config.addresses.select { |address|
|
416
|
-
filters.any? {|filter|
|
409
|
+
filters.any? {|filter| send("is_#{filter}?", address) }
|
417
410
|
}.compact.uniq
|
418
411
|
end
|
419
412
|
|