findme 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/findme.gemspec CHANGED
@@ -4,7 +4,7 @@ require File.expand_path('../lib/findme/version', __FILE__)
4
4
  Gem::Specification.new do |gem|
5
5
  gem.authors = ["c2h2"]
6
6
  gem.email = ["yiling.cao@gmail.com"]
7
- gem.description = "find neighborhood host and services with avahi / avahi-daemon."
7
+ gem.description = "find neighborhood host and services with avahi / avahi-daemon. run this for the first time to allow normal user to register services `sudo chmod a+w /etc/avahi/services/`"
8
8
  gem.summary = "find neighborhood host and services with avahi / avahi-daemon."
9
9
  gem.homepage = "https://github.com/c2h2/findme"
10
10
 
data/lib/findme.rb CHANGED
@@ -65,11 +65,38 @@ class Findme
65
65
  else
66
66
  v.sort! {|x,y| _get_startup_time(x.txt) <=> _get_startup_time(y.txt) }
67
67
  end
68
- h_out[k]=v[0]
68
+ h_out[k]=v.last #fix a bug here.
69
69
  end
70
70
  h_out
71
71
  end
72
72
 
73
+ def self.discover_only_latest
74
+ services = discover
75
+ h = {}
76
+ h_out={}
77
+
78
+ #construct the hash, group the services of the same name
79
+ services.each do |s|
80
+ if h[s.service].nil?
81
+ h[s.service]=[]
82
+ else
83
+ #existing hash, do nothing
84
+ end
85
+ h[s.service] << s
86
+ end
87
+
88
+ h.each do |k, v|
89
+ if (_get_startup_time v[0].txt).nil?
90
+ #cant find the earliest time, just return the first one.
91
+ else
92
+ v.sort! {|x,y| _get_startup_time(x.txt) <=> _get_startup_time(y.txt) }
93
+ end
94
+ h_out[k]=v.first #latest registerd.
95
+ end
96
+ h_out
97
+ end
98
+
99
+
73
100
  def self.discover
74
101
  res = `avahi-browse -arpt`
75
102
  services = []
@@ -1,3 +1,3 @@
1
1
  module Findme
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: findme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,9 +9,10 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-29 00:00:00.000000000 Z
12
+ date: 2012-09-04 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: find neighborhood host and services with avahi / avahi-daemon.
14
+ description: find neighborhood host and services with avahi / avahi-daemon. run this
15
+ for the first time to allow normal user to register services `sudo chmod a+w /etc/avahi/services/`
15
16
  email:
16
17
  - yiling.cao@gmail.com
17
18
  executables: []