rumblinthebronx-system-getifaddrs 0.2.1-x86-mingw32 → 0.2.2-x86-mingw32

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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b2ec33d5dec26816020ae9c9137d6bc468ed32a2
4
+ data.tar.gz: 9ad7442a847942871711adcd723d55d6b656d718
5
+ SHA512:
6
+ metadata.gz: de387bc5be4f907c3e9a84a49fbb06e627831733d5cecf59e64b5dda4726180b2ba7f4b76a03128a3ee39a88a5d3d25d539b38b63a1fbfbde59e0f5bcb929a47
7
+ data.tar.gz: 4d05d5ac0a2054e3d58de2d57d731ad523fd642ed1677ebd28993491d87ab3e0ae2695d6530c79745e8b8fec672d6fa52704a8104efbd46e28c5eaf13ac1ee4e
data/Gemfile.lock CHANGED
@@ -1,21 +1,21 @@
1
- PATH
2
- remote: .
3
- specs:
4
- system-getifaddrs (0.1.4)
5
-
6
- GEM
7
- remote: http://rubygems.org/
8
- specs:
9
- rake (0.9.2)
10
- rake-compiler (0.7.9)
11
- rake
12
- rspec (1.3.2)
13
-
14
- PLATFORMS
15
- ruby
16
-
17
- DEPENDENCIES
18
- rake
19
- rake-compiler
20
- rspec (~> 1.3)
21
- system-getifaddrs!
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ rumblinthebronx-system-getifaddrs (0.2.1-x86-mingw32)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ rake (10.1.0)
10
+ rake-compiler (0.9.1)
11
+ rake
12
+ rspec (1.3.2)
13
+
14
+ PLATFORMS
15
+ x86-mingw32
16
+
17
+ DEPENDENCIES
18
+ rake
19
+ rake-compiler
20
+ rspec (~> 1.3)
21
+ rumblinthebronx-system-getifaddrs!
data/Rakefile CHANGED
@@ -4,7 +4,10 @@ Bundler::GemHelper.install_tasks
4
4
  require 'spec/rake/spectask'
5
5
  Spec::Rake::SpecTask.new
6
6
 
7
- require 'rake/extensiontask'
8
- Rake::ExtensionTask.new('rb_getifaddrs')
9
-
10
- task :default => [:compile, :spec]
7
+ if RUBY_PLATFORM == "java"
8
+ task :default => [:spec]
9
+ else
10
+ require 'rake/extensiontask'
11
+ Rake::ExtensionTask.new('rb_getifaddrs')
12
+ task :default => [:compile, :spec]
13
+ end
@@ -4,7 +4,7 @@ dir_config "rb_getifaddrs"
4
4
 
5
5
  $CFLAGS = "-D_GNU_SOURCE -Wall"
6
6
 
7
- have_header('arpa/inet.h')
7
+ #have_header('arpa/inet.h')
8
8
  have_header('sys/socket.h')
9
9
  have_header('sys/types.h')
10
10
  have_header('netdb.h')
@@ -1,5 +1,5 @@
1
1
  #include "ruby.h"
2
- #include <arpa/inet.h>
2
+ //#include <arpa/inet.h>
3
3
  #include <sys/socket.h>
4
4
  #include <sys/types.h>
5
5
  #include <netdb.h>
@@ -1,7 +1,42 @@
1
- raise "This platform is not yet supported" if OS.windows?
1
+ if RUBY_ENGINE == "jruby"
2
+ module System
3
+ require 'netaddr'
2
4
 
3
- begin
4
- require File.join(File.dirname(__FILE__), 'rb_getifaddrs')
5
- rescue LoadError
6
- require File.join(File.dirname(__FILE__), '..', 'rb_getifaddrs')
7
- end
5
+ # Jruby version of the system-getifaddrs gem. Gives info on all network
6
+ # interfaces.
7
+ #
8
+ # @return [Hash] Network interfaces and their addresses/netmasks.
9
+ def self.get_ifaddrs
10
+ ifaddrs = {}
11
+ interfaces = java.net.NetworkInterface.network_interfaces
12
+
13
+ interfaces.each do |interface|
14
+ name = interface.display_name.to_sym
15
+ ifaddrs[name] = {}
16
+
17
+ interface.interface_addresses.each do |interface_address|
18
+ ip_address, index = interface_address.address.host_address.split('%')
19
+ prefix = interface_address.network_prefix_length
20
+ netmask = NetAddr::CIDR.create("#{ip_address}/#{prefix}").wildcard_mask
21
+
22
+ if interface_address.address.is_a? Java::JavaNet::Inet4Address
23
+ ifaddrs[name][:inet_addr_v4] = ip_address
24
+ netmask = '255.0.0.0' if interface_address.address.is_loopback_address?
25
+ ifaddrs[name][:netmask_v4] = netmask
26
+ else
27
+ ifaddrs[name][:inet_addr_v6] = "#{ip_address}%#{index}"
28
+ ifaddrs[name][:netmask_v6] = NetAddr.shorten(netmask)
29
+ end
30
+ end
31
+ end
32
+
33
+ ifaddrs
34
+ end
35
+ end
36
+ else
37
+ begin
38
+ require File.join(File.dirname(__FILE__), 'rb_getifaddrs')
39
+ rescue LoadError
40
+ require File.join(File.dirname(__FILE__), '..', 'rb_getifaddrs')
41
+ end
42
+ end
@@ -1,5 +1,5 @@
1
1
  module System
2
2
  class Getifaddrs
3
- VERSION = "0.2.1"
3
+ VERSION = "0.2.2"
4
4
  end
5
5
  end
@@ -1,21 +1,27 @@
1
1
  # -*- encodign: utf-8 -*-
2
2
  $:.push File.expand_path("../lib", __FILE__)
3
3
  require "system/getifaddrs/version"
4
+ RUBY_PLATFORM = "x64-mingw32"
4
5
 
5
6
  Gem::Specification.new do |s|
6
7
  s.name = "rumblinthebronx-system-getifaddrs"
7
8
  s.version = System::Getifaddrs::VERSION
8
9
  s.platform = Gem::Platform::RUBY
9
- s.platform = "x86-mingw32" if RUBY_PLATFORM.include?("mingw")
10
+ s.platform = Gem::Platform.new(['x86', 'mingw32']) if RUBY_PLATFORM.include?("mingw32")
11
+ s.platform = Gem::Platform.new(['x64', 'mingw32']) if RUBY_PLATFORM.include?("x64-mingw32")
10
12
  s.authors = ["Sujin Philip", "Bruno Coimbra"]
11
13
  s.email = %q{sujin.phil@gmail.com}
12
14
  s.homepage = %q{http://github.com/rumblinthebronx/system-getifaddrs}
13
- s.summary = %q{This lib is a wrapper for get_ifaddrs C routine}
15
+ s.summary = %q{This library provides the information about the inet interfaces. }
14
16
  s.description = %q{This lib is a wrapper for get_ifaddrs C routine. The original routine returns a linked list that contains avaliable inet interfaces. This lib walks on list and return an hash that contains the interface names and sub-hashes with respectives ip addresses and netmasks.}
15
17
  s.add_development_dependency(%q<rspec>, "~> 1.3")
16
18
  s.add_development_dependency(%q<rake-compiler>, [">= 0"])
17
- s.add_runtime_dependency(%q<os>, [">= 0"])
18
- s.extensions = `git ls-files -- ext/*`.split("\n").select{|f| f =~ /extconf/} unless RUBY_PLATFORM.include?("mingw")
19
+ s.add_runtime_dependency(%q<netaddr>, "~> 1.5.0") if RUBY_PLATFORM == "java"
20
+
21
+ unless RUBY_PLATFORM.include?("mingw") || RUBY_PLATFORM == "java"
22
+ s.extensions = `git ls-files -- ext/*`.split("\n").select{|f| f =~ /extconf/}
23
+ end
24
+
19
25
  s.files = `git ls-files`.split("\n")
20
26
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
21
27
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rumblinthebronx-system-getifaddrs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
5
- prerelease:
4
+ version: 0.2.2
6
5
  platform: x86-mingw32
7
6
  authors:
8
7
  - Sujin Philip
@@ -10,12 +9,11 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2012-12-19 00:00:00.000000000 Z
12
+ date: 2013-09-10 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: rspec
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
18
  - - ~>
21
19
  - !ruby/object:Gem::Version
@@ -23,7 +21,6 @@ dependencies:
23
21
  type: :development
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
25
  - - ~>
29
26
  - !ruby/object:Gem::Version
@@ -31,33 +28,15 @@ dependencies:
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: rake-compiler
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
- - - ! '>='
32
+ - - '>='
37
33
  - !ruby/object:Gem::Version
38
34
  version: '0'
39
35
  type: :development
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
- - - ! '>='
45
- - !ruby/object:Gem::Version
46
- version: '0'
47
- - !ruby/object:Gem::Dependency
48
- name: os
49
- requirement: !ruby/object:Gem::Requirement
50
- none: false
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- type: :runtime
56
- prerelease: false
57
- version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
- requirements:
60
- - - ! '>='
39
+ - - '>='
61
40
  - !ruby/object:Gem::Version
62
41
  version: '0'
63
42
  description: This lib is a wrapper for get_ifaddrs C routine. The original routine
@@ -87,26 +66,25 @@ files:
87
66
  - system-getifaddrs.gemspec
88
67
  homepage: http://github.com/rumblinthebronx/system-getifaddrs
89
68
  licenses: []
69
+ metadata: {}
90
70
  post_install_message:
91
71
  rdoc_options: []
92
72
  require_paths:
93
73
  - lib
94
74
  required_ruby_version: !ruby/object:Gem::Requirement
95
- none: false
96
75
  requirements:
97
- - - ! '>='
76
+ - - '>='
98
77
  - !ruby/object:Gem::Version
99
78
  version: '0'
100
79
  required_rubygems_version: !ruby/object:Gem::Requirement
101
- none: false
102
80
  requirements:
103
- - - ! '>='
81
+ - - '>='
104
82
  - !ruby/object:Gem::Version
105
83
  version: '0'
106
84
  requirements: []
107
85
  rubyforge_project:
108
- rubygems_version: 1.8.24
86
+ rubygems_version: 2.0.3
109
87
  signing_key:
110
- specification_version: 3
111
- summary: This lib is a wrapper for get_ifaddrs C routine
88
+ specification_version: 4
89
+ summary: This library provides the information about the inet interfaces.
112
90
  test_files: []