fenris 0.0.3 → 0.0.4

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/lib/fenris/client.rb CHANGED
@@ -9,14 +9,19 @@ module Fenris
9
9
  def initialize(url)
10
10
  @url = url
11
11
  @url = URI.parse(url) unless url.is_a? URI
12
+ @quiet = false
13
+ end
14
+
15
+ def quiet= val
16
+ @quiet = val
12
17
  end
13
18
 
14
19
  def debug(message)
15
- puts "DEBUG: #{message}" if ENV['DEBUG']
20
+ puts "DEBUG: #{message}" if ENV['DEBUG'] and !@quiet
16
21
  end
17
22
 
18
23
  def log(message)
19
- puts "LOG: #{message}"
24
+ puts "LOG: #{message}" if not @quiet
20
25
  end
21
26
 
22
27
  def update(location)
@@ -61,6 +61,7 @@ module Fenris
61
61
  when "consume"
62
62
  Fenris::Base.consume(client, arg, name)
63
63
  when "exec"
64
+ client.quiet = true
64
65
  Fenris::Base.exec(client, *args)
65
66
  else
66
67
  puts command.inspect
data/lib/fenris/em.rb CHANGED
@@ -92,7 +92,7 @@ module Fenris
92
92
 
93
93
  EventMachine::run do
94
94
  client.save_keys
95
- EventMachine::PeriodicTimer.new(UPDATE_INTERVAL) { client.async_update }
95
+ EventMachine::PeriodicTimer.new(UPDATE_INTERVAL) { client.async_update } unless ENV['FENRIS_NO_TIMER']
96
96
  client.update external
97
97
  client.log "Serving port #{internal} on #{external}"
98
98
  listen client, external, internal
@@ -140,7 +140,7 @@ module Fenris
140
140
  abort "Can only pass a binding for a single provider" if override_binding && providers.length != 1
141
141
 
142
142
  EventMachine::run do
143
- EventMachine::PeriodicTimer.new(UPDATE_INTERVAL) { client.async_update }
143
+ EventMachine::PeriodicTimer.new(UPDATE_INTERVAL) { client.async_update } unless ENV['FENRIS_NO_TIMER']
144
144
  providers.each do |p|
145
145
  binding = override_binding || p["binding"]
146
146
  consumer_connect(client, binding, p["name"], p["location"])
@@ -152,12 +152,9 @@ module Fenris
152
152
  command = args.join(' ')
153
153
  EventMachine::run do
154
154
  consume(client)
155
- stdin = EventMachine.attach $stdin, Connection
156
- EventMachine::popen command, Connection do |ps|
157
- puts "execing command '#{command}'"
158
- ps.on_unbind { EventMachine::stop }
159
- stdin.on_unbind { EventMachine::stop }
160
- ps.proxy stdin; stdin.proxy ps
155
+ Thread.new do
156
+ system command
157
+ EM::stop
161
158
  end
162
159
  end
163
160
  end
@@ -1,3 +1,3 @@
1
1
  module Fenris
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fenris
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 3
8
+ - 4
9
9
  prerelease: false
10
10
  platform: ruby
11
11
  authors:
@@ -18,7 +18,7 @@ default_executable:
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: eventmachine
21
- requirement: &2158455980 !ruby/object:Gem::Requirement
21
+ requirement: &2166852580 !ruby/object:Gem::Requirement
22
22
  none: false
23
23
  requirements:
24
24
  - - ! '>='
@@ -30,10 +30,10 @@ dependencies:
30
30
  - 10
31
31
  type: :runtime
32
32
  prerelease: false
33
- version_requirements: *2158455980
33
+ version_requirements: *2166852580
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: rest-client
36
- requirement: &2158453580 !ruby/object:Gem::Requirement
36
+ requirement: &2166831320 !ruby/object:Gem::Requirement
37
37
  none: false
38
38
  requirements:
39
39
  - - ! '>='
@@ -45,10 +45,10 @@ dependencies:
45
45
  - 7
46
46
  type: :runtime
47
47
  prerelease: false
48
- version_requirements: *2158453580
48
+ version_requirements: *2166831320
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: multi_json
51
- requirement: &2158450940 !ruby/object:Gem::Requirement
51
+ requirement: &2166829400 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ! '>='
@@ -60,7 +60,7 @@ dependencies:
60
60
  - 3
61
61
  type: :runtime
62
62
  prerelease: false
63
- version_requirements: *2158450940
63
+ version_requirements: *2166829400
64
64
  description: An authentication and service location service.
65
65
  email: orion.henry@gmail.com
66
66
  executables: