wakeonlan 0.0.1 → 0.0.2

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/bin/wakeonlan CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- # $Id: wakeonlan 1 2009-10-27 22:43:55Z hilli $
2
+ # $Id: wakeonlan 2 2009-10-28 13:30:42Z hilli $
3
3
 
4
4
  require 'optparse'
5
5
  require 'rubygems'
@@ -60,10 +60,20 @@ if wakies.to_s.strip.empty?
60
60
  exit 1
61
61
  end
62
62
 
63
+ errors = false
63
64
  @wol = WakeOnLan.new
64
65
  @wol.ethers = options[:ethers] if options[:ethers]
65
66
  @wol.verbose = options[:verbose] if options[:verbose]
66
67
  wakies.split.each do |wake|
67
- @wol.wake(@wol.resolve_to_mac(wake), options[:ip], options[:port])
68
+ mac = @wol.resolve_to_mac(wake)
69
+ if mac != nil
70
+ @wol.wake(mac, options[:ip], options[:port])
71
+ else
72
+ STDERR.puts "Address #{wake} does not resolve or validate"
73
+ errors = true
74
+ end
68
75
  end
69
76
  @wol.close
77
+ if errors
78
+ exit 1
79
+ end
data/lib/wakeonlan.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- # $Id: wakeonlan.rb 1 2009-10-27 22:43:55Z hilli $
2
+ # $Id: wakeonlan.rb 2 2009-10-28 13:30:42Z hilli $
3
3
  # Jens Hilligsoe <jens@hilli.dk>, 2009
4
4
  #
5
5
  # Based on work by
@@ -14,7 +14,7 @@ class WakeOnLan
14
14
 
15
15
  GEM = "wakeonlan"
16
16
  NAME = "WakeOnLan"
17
- VERSION = "0.0.1"
17
+ VERSION = "0.0.2"
18
18
 
19
19
  attr_reader :socket
20
20
  attr_accessor :ethers
@@ -49,6 +49,7 @@ class WakeOnLan
49
49
  @socket.connect(ip,port)
50
50
  puts "Sending magic packet to #{ip}:#{port} with #{mac}" if @verbose
51
51
  3.times{ socket.send(magic,0) }
52
+ return nil
52
53
  end
53
54
 
54
55
  # Shorthand class method to facilitate WakeOnLan.wake!(MAC) kind of action
@@ -56,6 +57,7 @@ class WakeOnLan
56
57
  wol = WakeOnLan.new
57
58
  wol.wake(resolve_to_mac(mac), ip, port)
58
59
  wol.close
60
+ return nil
59
61
  end
60
62
 
61
63
  # Try to resolve the input given to a MAC address. Input can be either a hostname, IP or MAC address
@@ -71,12 +73,15 @@ class WakeOnLan
71
73
  if File.exist?(@ethers) and File.readable?(@ethers)
72
74
  File.open(@ethers,'r') do |f|
73
75
  f.each_line do |line|
74
- mac, host = line.split
75
- if input.match(host)
76
+ next if line.match(/^#/)
77
+ next if line.match(/^\s$/)
78
+ mac, host = line.chomp.split
79
+ if /^#{input}$/.match(host)
76
80
  return mac
77
81
  end
78
82
  end
79
83
  end
84
+ return nil
80
85
  end
81
86
  end
82
87
 
data/wakeonlan.gemspec CHANGED
@@ -2,11 +2,12 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{wakeonlan}
5
- s.version = "0.0.1"
5
+ s.version = "0.0.2"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Jens Hilligsoe"]
9
- s.date = %q{2009-10-27}
9
+ s.cert_chain = ["/home/hilli/.gem/gem-public_cert.pem"]
10
+ s.date = %q{2009-10-28}
10
11
  s.default_executable = %q{wakeonlan}
11
12
  s.description = %q{ WakeOnLAN is a WOL client and library written in pure Ruby.
12
13
  }
@@ -19,6 +20,7 @@ Gem::Specification.new do |s|
19
20
  s.require_paths = ["lib"]
20
21
  s.rubyforge_project = %q{wakeonlan}
21
22
  s.rubygems_version = %q{1.3.5}
23
+ s.signing_key = %q{/home/hilli/.gem/gem-private_key.pem}
22
24
  s.summary = %q{A Wake On LAN (WOL) client and library.}
23
25
 
24
26
  if s.respond_to? :specification_version then
data.tar.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ {�;�3�<@�w3H� �����L��ԵN�FK��Et k�@��fM�e�ze�ړ�L"df���M��iC�xh;��'T3
2
+ �Z�����������a��s���ʶ��}��Er�����ebd���԰���z���,կ��ydK�,�5�om\����09���s)7�wVb��?�
metadata CHANGED
@@ -1,15 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wakeonlan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jens Hilligsoe
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain: []
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDJDCCAgygAwIBAgIBADANBgkqhkiG9w0BAQUFADA4MQ0wCwYDVQQDDARqZW5z
14
+ MRMwEQYKCZImiZPyLGQBGRYDZGlyMRIwEAYKCZImiZPyLGQBGRYCZGswHhcNMDkx
15
+ MDA3MTM0NzQ5WhcNMTAxMDA3MTM0NzQ5WjA4MQ0wCwYDVQQDDARqZW5zMRMwEQYK
16
+ CZImiZPyLGQBGRYDZGlyMRIwEAYKCZImiZPyLGQBGRYCZGswggEiMA0GCSqGSIb3
17
+ DQEBAQUAA4IBDwAwggEKAoIBAQDaMMfAzIwXhauDtOrSBPO5FeL0DnI0yr/VLYNs
18
+ xx76XXuBNkDElagYN4R1opuorQsHWH1c8RyDZCNPH60AlQV6kfvLpoaLLZgZiR00
19
+ N7FkcThVrHsQNQfpG/HLWim+f2cFcrRoGzJi1tEHGTlnWIJ/ByEUFhRsV6Vkr+sq
20
+ +SXXnsZLHavVUAS51nGfIBcX4y9AQQHJb23SiETeou6qEaX5k2UA1iCXBuHrvM5I
21
+ AdqvULqQCGKOmefv1k2/s2aSSSmMYGEbIyhgWslaKdrFhUIJZrCUM6h2ba0aHyiu
22
+ b1z4DnEi52bTrGTJzLanKoMM+KUK5fph5CM8aunV6amhnB2RAgMBAAGjOTA3MAkG
23
+ A1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQ7/Jf2j/nsKDDPyX6caWo2
24
+ MrBN3DANBgkqhkiG9w0BAQUFAAOCAQEAIkPbhF2yqg39nd9iXYzlvj/XRI3dveZ0
25
+ F4crcq2wW4H+rA+lTWpMjBE92VAbFg7faAGJQDtMvXESiBU2KHpuM/ZLMVBQp/+/
26
+ uN4CYKPK8viyjna9deFa/gBREf5ZAnETFMrks9hQ+U3X9leY4FwN6cxg33+h3eY7
27
+ YGAxaw/HYrFOaZW76argQ28Y8MNnQHtpQlxKiVjLqers8Wa2vA1sHkV0/b9PDjHX
28
+ QU9oSBnHjBtt0o96vsO5F/pxZhRcgcHyJFvL6+ORPpZ35b7/7RQJCvLV5j1qlN7B
29
+ tvoU77Ap9SAQDY8mf1pqbtVwJm96YC7ECt4eRf/bgFpLLYSHVbXESw==
30
+ -----END CERTIFICATE-----
11
31
 
12
- date: 2009-10-27 00:00:00 +01:00
32
+ date: 2009-10-28 00:00:00 +01:00
13
33
  default_executable:
14
34
  dependencies:
15
35
  - !ruby/object:Gem::Dependency
metadata.gz.sig ADDED
@@ -0,0 +1 @@
1
+ �"��@;��е� T)��4! '8*ٓ�`T�j�0�H�@NJ�S5I��tE�*�`0I�©KZTfEG�)��&k;Ӫ�O�3�\�����#�X�>1�8��e�N��B�YیR`z?�RNSF6y�W�)�N��j���<ᒦդX��nw@�����6E#K�P�|'��k�������ĸ� �I���o���aN.�xN�t}*%�ċV�Ra��"++ 21H�t|�w^��a�!-h����˳�M<� ��