mojodna-fire-hydrant 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
@@ -6,9 +6,7 @@ require 'yaml'
|
|
6
6
|
hydrant = FireHydrant.new(YAML.load(File.read("fire_hydrant.yml")))
|
7
7
|
|
8
8
|
hydrant.on_location_update do |user|
|
9
|
-
#
|
10
|
-
name = user.locations[0].instance_eval { @doc.at("//name").innerText }
|
11
|
-
puts "#{user.token} has moved to #{name}."
|
9
|
+
puts "#{user.token} has moved to #{user.locations.first}."
|
12
10
|
end
|
13
11
|
|
14
12
|
hydrant.run!
|
@@ -12,18 +12,17 @@ require 'fire_hydrant'
|
|
12
12
|
earth = Appscript.app("Google Earth")
|
13
13
|
|
14
14
|
# override the resource as "visualizer"
|
15
|
-
hydrant = FireHydrant.new(YAML.load(File.read("fire_hydrant.yml")).merge("resource" => "visualizer")
|
15
|
+
hydrant = FireHydrant.new(YAML.load(File.read("fire_hydrant.yml")).merge("resource" => "visualizer"))
|
16
16
|
|
17
17
|
hydrant.on_location_update do |user|
|
18
|
-
#
|
19
|
-
name = user.locations[0].instance_eval { @doc.at("//name").innerText }
|
20
|
-
puts "#{user.token} has moved to #{name}."
|
18
|
+
puts "#{user.token} has moved to #{user.locations.first}."
|
21
19
|
|
22
20
|
geom = user.locations[0].geom
|
23
21
|
begin
|
24
22
|
pt = geom.is_a?(GeoRuby::SimpleFeatures::Envelope) ? geom.center : geom
|
25
23
|
earth.SetViewInfo({:latitude => pt.y, :longitude => pt.x, :distance => (rand * 25000) + 5000, :azimuth => rand * 360, :tilt => (rand * 75)}, {:speed => 1})
|
26
|
-
rescue # rescue from Appscript
|
24
|
+
rescue # rescue from Appscript errors
|
27
25
|
end
|
26
|
+
end
|
28
27
|
|
29
28
|
hydrant.run!
|
data/fire-hydrant.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "fire-hydrant"
|
3
|
-
s.version = "0.0.
|
3
|
+
s.version = "0.0.3"
|
4
4
|
s.summary = "Fire Eagle XMPP PubSub tools"
|
5
5
|
s.description = "Tools for consuming Fire Eagle's XMPP PubSub feed."
|
6
6
|
s.authors = ["Seth Fitzsimmons"]
|
@@ -9,6 +9,6 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.files = ["examples", "examples/authorize.rb", "examples/fire_eagle_consumer.rb", "examples/fire_eagle_visualizer.rb", "fire-hydrant.gemspec", "fire_hydrant.yml", "fire_hydrant.yml.development", "fire_hydrant.yml.production", "fire_hydrant.yml.sample", "lib", "lib/fire_hydrant", "lib/fire_hydrant/fire_hydrant.rb", "lib/fire_hydrant/jacks", "lib/fire_hydrant/jacks/fire_eagle_jack.rb", "lib/fire_hydrant/jacks.rb", "lib/fire_hydrant.rb", "README.markdown"]
|
10
10
|
s.require_paths = ["lib"]
|
11
11
|
|
12
|
-
s.add_dependency("fireeagle")
|
13
|
-
s.add_dependency("mojodna-switchboard")
|
12
|
+
s.add_dependency("mojodna-fireeagle", ">=", "0.8.0.1")
|
13
|
+
s.add_dependency("mojodna-switchboard", ">=", "0.0.11")
|
14
14
|
end
|
@@ -1,10 +1,9 @@
|
|
1
|
-
require 'rubygems'
|
2
1
|
begin
|
3
2
|
require 'fireeagle'
|
4
3
|
require 'switchboard'
|
5
4
|
rescue LoadError => e
|
6
|
-
|
7
|
-
puts "
|
5
|
+
lib = e.message.split("--").last.strip
|
6
|
+
puts "#{lib} is required."
|
8
7
|
end
|
9
8
|
|
10
9
|
class FireHydrant < Switchboard::Client
|
@@ -1,20 +1,17 @@
|
|
1
1
|
class FireEagleJack
|
2
2
|
def self.connect(switchboard, settings)
|
3
3
|
switchboard.plug!(AutoAcceptJack, NotifyJack, PubSubJack)
|
4
|
+
switchboard.hook(:location_update)
|
4
5
|
|
5
6
|
switchboard.on_pubsub_event do |event|
|
6
7
|
event.payload.each do |payload|
|
7
8
|
payload.elements.each do |item|
|
8
9
|
rsp = item.first_element("rsp")
|
9
|
-
response = FireEagle::Response.
|
10
|
+
response = FireEagle::Response.parse(rsp.to_s)
|
10
11
|
user = response.users[0]
|
11
12
|
on(:location_update, user)
|
12
13
|
end
|
13
14
|
end
|
14
15
|
end
|
15
|
-
|
16
|
-
def switchboard.on_location_update(&block)
|
17
|
-
register_hook(:location_update, &block)
|
18
|
-
end
|
19
16
|
end
|
20
17
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mojodna-fire-hydrant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Seth Fitzsimmons
|
@@ -9,17 +9,20 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2009-02-03 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name: fireeagle
|
16
|
+
name: mojodna-fireeagle
|
17
17
|
version_requirement:
|
18
18
|
version_requirements: !ruby/object:Gem::Requirement
|
19
19
|
requirements:
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: "0"
|
23
|
+
- - "="
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: 0.8.0.1
|
23
26
|
version:
|
24
27
|
- !ruby/object:Gem::Dependency
|
25
28
|
name: mojodna-switchboard
|
@@ -29,6 +32,9 @@ dependencies:
|
|
29
32
|
- - ">="
|
30
33
|
- !ruby/object:Gem::Version
|
31
34
|
version: "0"
|
35
|
+
- - "="
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 0.0.11
|
32
38
|
version:
|
33
39
|
description: Tools for consuming Fire Eagle's XMPP PubSub feed.
|
34
40
|
email:
|