snmpjr 0.1.0-java
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 +15 -0
- data/.gitignore +17 -0
- data/.rspec +3 -0
- data/.rvmrc +1 -0
- data/.travis.yml +13 -0
- data/Gemfile +9 -0
- data/LICENSE.txt +22 -0
- data/README.md +56 -0
- data/Rakefile +13 -0
- data/history.rdoc +7 -0
- data/lib/snmpjr/pdu.rb +17 -0
- data/lib/snmpjr/session.rb +22 -0
- data/lib/snmpjr/target.rb +15 -0
- data/lib/snmpjr/version.rb +3 -0
- data/lib/snmpjr/wrappers/smi.rb +9 -0
- data/lib/snmpjr/wrappers/snmp4j-2.3.1.jar +0 -0
- data/lib/snmpjr/wrappers/snmp4j.rb +12 -0
- data/lib/snmpjr/wrappers/transport.rb +9 -0
- data/lib/snmpjr.rb +36 -0
- data/snmpjr.gemspec +23 -0
- data/spec/integration/snmpjr_spec.rb +16 -0
- data/spec/snmpjr/pdu_spec.rb +29 -0
- data/spec/snmpjr/session_spec.rb +37 -0
- data/spec/snmpjr/target_spec.rb +38 -0
- data/spec/snmpjr_spec.rb +56 -0
- data/spec/spec_helper.rb +12 -0
- metadata +78 -0
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NDA5MDUxNDEyZmM2NjFiMzEyZDQzMjliMjY5YTlkOTlmNzBiZTAzZg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
NTQ4ZmE0YjZhYjllOTE4YmMzYjk1YjEwZGUwZTkxNzFjN2VjNjM5YQ==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
MmQyYzA2NThlNWJkMGYyNDFkZTgzZWQ4ODJiZDI5MjZmYzFiODk0MmMxNDBi
|
10
|
+
ZWU1YWY2ZGU4NGUxZmMxMWM3MjEyNGE0ZGY2ODI1OTc5OWQ2NjJhZWJmYzEx
|
11
|
+
OGNhYWVmNTQ2MzFjY2IwNGFkNDRmNjk1ZThlNjYzMDNiMjM4M2M=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
ZWNjYTE1N2Y1MGVhM2FmOWIwZmQ2ZmI5NzA3ZWIxNzZjNDU3ZjVkN2ZjMTFk
|
14
|
+
MTg4ZjliMmVlOWEwNjY3OTE4NDdjOWViYTAyMzQxNGMwMWVkMjEwODA2ODIy
|
15
|
+
NzA2ZWNiNDI5NWE1MzE3YTI2NTFkYWQ1ODAyNTcyZGU1NWI5NGE=
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.rvmrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rvm use --create jruby-1.7.16@snmpjr
|
data/.travis.yml
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
language: ruby
|
2
|
+
rvm:
|
3
|
+
- jruby-1.7.0
|
4
|
+
- jruby-1.7.16
|
5
|
+
deploy:
|
6
|
+
provider: rubygems
|
7
|
+
api_key:
|
8
|
+
secure: C9X1OQ07eVDPqOEcKQOOo+Li18J5VQ6uwsua6fNb7Mvzm5RVYKdaYMjan6gSJNkprxk5yDt/LQSZBBSSluO0yqxzyFFFBqzswPPKsYys5HVW45rFLFDs83e2YtgACEnXfNozuWoy0i3jgpN/P+eqrBlNFfuHpm4di7IBmeZimDY=
|
9
|
+
gem: snmpjr
|
10
|
+
on:
|
11
|
+
tags: true
|
12
|
+
repo: zenonas/snmpjr
|
13
|
+
all_branches: true
|
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2014 Zen Kyprianou
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
# Snmpjr
|
2
|
+
|
3
|
+
[](https://travis-ci.org/zenonas/snmpjr)
|
4
|
+
Snmpjr aims to provide a clean and simple interface to use SNMP in your ruby code. It will wrap the popular SNMP4J library in Java.
|
5
|
+
|
6
|
+
Please note the gem is still in early develpment. Do not use as of yet!
|
7
|
+
|
8
|
+
## Features
|
9
|
+
|
10
|
+
* Simple Synchronous SNMP v2c Get requests
|
11
|
+
|
12
|
+
## Requirements
|
13
|
+
|
14
|
+
* Java 1.6+
|
15
|
+
* JRuby 1.7+
|
16
|
+
|
17
|
+
## Installation
|
18
|
+
|
19
|
+
Add this line to your application's Gemfile:
|
20
|
+
|
21
|
+
```ruby
|
22
|
+
gem 'snmpjr'
|
23
|
+
```
|
24
|
+
|
25
|
+
And then execute:
|
26
|
+
|
27
|
+
$ bundle
|
28
|
+
|
29
|
+
Or install it yourself as:
|
30
|
+
|
31
|
+
$ gem install snmpjr
|
32
|
+
|
33
|
+
## Usage
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
# Initialize Snmpjr with host, port and a community
|
37
|
+
snmp = Snmpjr.new(:host => '127.0.0.1', :port => 161, :community => 'public')
|
38
|
+
|
39
|
+
# Call get on any single Oid
|
40
|
+
snmp.get '1.3.6.1.2.1.1.1.0'
|
41
|
+
=> 'The result'
|
42
|
+
|
43
|
+
# Call get on an array of Oids'
|
44
|
+
snmp.get ['1.3.6.1.2.1.1.1.0', '1.3.6.1.2.1.1.3.0']
|
45
|
+
=> ['First result', 'Second result']
|
46
|
+
```
|
47
|
+
|
48
|
+
When you request an Array of Oids these will be pulled sequentially
|
49
|
+
|
50
|
+
## Contributing
|
51
|
+
|
52
|
+
1. Fork it ( https://github.com/zenonas/snmpjr/fork )
|
53
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
54
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
55
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
56
|
+
5. Create a new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'rake/clean'
|
2
|
+
require 'rake_rack'
|
3
|
+
|
4
|
+
@external_dependencies = %w[jruby java]
|
5
|
+
|
6
|
+
task :default => [
|
7
|
+
:clean,
|
8
|
+
:"rake_rack:check_external_dependencies",
|
9
|
+
:"rake_rack:code_quality:all",
|
10
|
+
:"rake_rack:rspec",
|
11
|
+
:"rake_rack:coverage:check_specs",
|
12
|
+
:"rake_rack:ok",
|
13
|
+
]
|
data/history.rdoc
ADDED
data/lib/snmpjr/pdu.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
class Snmpjr
|
2
|
+
class Pdu
|
3
|
+
module Constants
|
4
|
+
GET = -96
|
5
|
+
end
|
6
|
+
|
7
|
+
def create oid
|
8
|
+
pdu = Snmpjr::Wrappers::PDU.new
|
9
|
+
oid = Snmpjr::Wrappers::SMI::OID.new oid
|
10
|
+
variable_binding = Snmpjr::Wrappers::SMI::VariableBinding.new oid
|
11
|
+
pdu.add variable_binding
|
12
|
+
pdu.type = Snmpjr::Pdu::Constants::GET
|
13
|
+
pdu
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'snmpjr/wrappers/transport'
|
2
|
+
|
3
|
+
class Snmpjr
|
4
|
+
class Session
|
5
|
+
|
6
|
+
|
7
|
+
def send pdu, target
|
8
|
+
snmp = Snmpjr::Wrappers::Snmp.new(Snmpjr::Wrappers::Transport::DefaultUdpTransportMapping.new)
|
9
|
+
snmp.listen
|
10
|
+
|
11
|
+
begin
|
12
|
+
result = snmp.send(pdu, target)
|
13
|
+
rescue
|
14
|
+
raise "Failed to send SNMP package"
|
15
|
+
ensure
|
16
|
+
snmp.close
|
17
|
+
end
|
18
|
+
|
19
|
+
result.response.variable_bindings.first.variable.to_s
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'snmpjr/wrappers/smi'
|
2
|
+
|
3
|
+
class Snmpjr
|
4
|
+
class Target
|
5
|
+
|
6
|
+
def create options = {}
|
7
|
+
target = Snmpjr::Wrappers::CommunityTarget.new
|
8
|
+
target.community = Snmpjr::Wrappers::SMI::OctetString.new(options.fetch(:community))
|
9
|
+
target.address = Snmpjr::Wrappers::SMI::GenericAddress.parse("udp:#{options.fetch(:host)}/#{options.fetch(:port)}")
|
10
|
+
target.version = 1
|
11
|
+
target.timeout = 5000
|
12
|
+
target
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
Binary file
|
data/lib/snmpjr.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
require "snmpjr/version"
|
2
|
+
require "snmpjr/pdu"
|
3
|
+
require "snmpjr/session"
|
4
|
+
require "snmpjr/target"
|
5
|
+
|
6
|
+
class Snmpjr
|
7
|
+
|
8
|
+
def initialize options = {}
|
9
|
+
@host = options.fetch(:host)
|
10
|
+
@port = options.fetch(:port) || 161
|
11
|
+
@community = options.fetch(:community)
|
12
|
+
end
|
13
|
+
|
14
|
+
def get oids
|
15
|
+
target = Snmpjr::Target.new.create(:host => @host, :port => @port, :community => @community)
|
16
|
+
|
17
|
+
case oids.class.to_s
|
18
|
+
when 'String'
|
19
|
+
get_oid(oids, target)
|
20
|
+
when 'Array'
|
21
|
+
oids.map{|oid|
|
22
|
+
get_oid(oid, target)
|
23
|
+
}
|
24
|
+
else
|
25
|
+
raise ArgumentError.new 'You can request a single Oid using a String, or multiple using an Array'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def get_oid oid, target
|
32
|
+
pdu = Snmpjr::Pdu.new.create oid
|
33
|
+
Snmpjr::Session.new.send(pdu, target)
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
data/snmpjr.gemspec
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'snmpjr/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "snmpjr"
|
8
|
+
spec.version = Snmpjr::VERSION
|
9
|
+
spec.authors = ["Zen Kyprianou"]
|
10
|
+
spec.email = ["zen@kyprianou.eu"]
|
11
|
+
spec.summary = %q{Simple SNMP interface for JRuby}
|
12
|
+
spec.description = %q{Snmpjr aims to provide a clean and simple interface to use SNMP in your ruby code. It will wrap the popular SNMP4J library in Java.
|
13
|
+
}
|
14
|
+
spec.homepage = "https://github.com/zenonas/snmpjr"
|
15
|
+
spec.license = "MIT"
|
16
|
+
|
17
|
+
spec.files = `git ls-files -z`.split("\x0")
|
18
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
19
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
|
+
spec.require_paths = ["lib"]
|
21
|
+
|
22
|
+
spec.platform = "java"
|
23
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'snmpjr'
|
2
|
+
|
3
|
+
describe "snmpjr" do
|
4
|
+
|
5
|
+
subject { Snmpjr.new(:host => 'demo.snmplabs.com', :port => 161, :community => 'public') }
|
6
|
+
describe 'GET' do
|
7
|
+
it "can perform a simple synchronous get request on an snmp agent" do
|
8
|
+
expect(subject.get '1.3.6.1.2.1.1.1.0').to eq 'SunOS zeus.snmplabs.com 4.1.3_U1 1 sun4m'
|
9
|
+
end
|
10
|
+
|
11
|
+
let(:expected) { ['SunOS zeus.snmplabs.com 4.1.3_U1 1 sun4m', 'zeus.snmplabs.com'] }
|
12
|
+
it "can perform a series of gets if passed an array of oids" do
|
13
|
+
expect(subject.get ['1.3.6.1.2.1.1.1.0', '1.3.6.1.2.1.1.5.0']).to eq expected
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require production_code
|
2
|
+
|
3
|
+
describe Snmpjr::Pdu do
|
4
|
+
describe "#create" do
|
5
|
+
|
6
|
+
let(:pdu) { double Snmpjr::Wrappers::PDU }
|
7
|
+
let(:oid) { double Snmpjr::Wrappers::SMI::OID }
|
8
|
+
let(:variable_binding) { double Snmpjr::Wrappers::SMI::VariableBinding }
|
9
|
+
|
10
|
+
before do
|
11
|
+
allow(Snmpjr::Wrappers::PDU).to receive(:new).and_return pdu
|
12
|
+
allow(Snmpjr::Wrappers::SMI::OID).to receive(:new).and_return oid
|
13
|
+
allow(Snmpjr::Wrappers::SMI::VariableBinding).to receive(:new).and_return variable_binding
|
14
|
+
allow(pdu).to receive(:type=)
|
15
|
+
allow(pdu).to receive(:add)
|
16
|
+
end
|
17
|
+
it "creates a GET Pdu" do
|
18
|
+
expect(pdu).to receive(:type=).with(Snmpjr::Pdu::Constants::GET)
|
19
|
+
subject.create '1.2.3.4'
|
20
|
+
end
|
21
|
+
|
22
|
+
it "adds an SMI variable binding containing an oid to the pdu" do
|
23
|
+
expect(Snmpjr::Wrappers::SMI::OID).to receive(:new).with('1.2.3.4')
|
24
|
+
expect(Snmpjr::Wrappers::SMI::VariableBinding).to receive(:new).with(oid)
|
25
|
+
expect(pdu).to receive(:add).with variable_binding
|
26
|
+
subject.create '1.2.3.4'
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require production_code
|
2
|
+
|
3
|
+
describe Snmpjr::Session do
|
4
|
+
describe "#send" do
|
5
|
+
let(:transport_mapping) { double Snmpjr::Wrappers::Transport::DefaultUdpTransportMapping }
|
6
|
+
|
7
|
+
let(:target) { double :target }
|
8
|
+
let(:pdu) { double :pdu }
|
9
|
+
let(:result) { double :result }
|
10
|
+
|
11
|
+
let(:snmp_session) { double Snmpjr::Wrappers::Snmp }
|
12
|
+
|
13
|
+
before do
|
14
|
+
allow(Snmpjr::Wrappers::Transport::DefaultUdpTransportMapping).to receive(:new).and_return transport_mapping
|
15
|
+
allow(Snmpjr::Wrappers::Snmp).to receive(:new).and_return snmp_session
|
16
|
+
allow(snmp_session).to receive(:send).and_return result
|
17
|
+
allow(result).to receive_message_chain('response.variable_bindings.first.variable.to_s')
|
18
|
+
allow(snmp_session).to receive(:listen)
|
19
|
+
allow(snmp_session).to receive(:close)
|
20
|
+
end
|
21
|
+
it "opens a new SNMP4J session with Udp transport mapping" do
|
22
|
+
expect(Snmpjr::Wrappers::Snmp).to receive(:new).with(transport_mapping)
|
23
|
+
subject.send(pdu, target)
|
24
|
+
end
|
25
|
+
|
26
|
+
it "sends the pdu to the target" do
|
27
|
+
expect(snmp_session).to receive(:send).with(pdu, target)
|
28
|
+
subject.send(pdu, target)
|
29
|
+
end
|
30
|
+
|
31
|
+
it "closes the connection" do
|
32
|
+
expect(snmp_session).to receive(:close)
|
33
|
+
subject.send(pdu, target)
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require production_code
|
2
|
+
|
3
|
+
describe Snmpjr::Target do
|
4
|
+
|
5
|
+
describe "#create" do
|
6
|
+
let(:options) { { :host => '127.0.0.1', :port => 161, :community => 'some_community' } }
|
7
|
+
|
8
|
+
it "creates an octet string for the community string" do
|
9
|
+
expect(Snmpjr::Wrappers::SMI::OctetString).to receive(:new).with(options[:community])
|
10
|
+
subject.create(options)
|
11
|
+
end
|
12
|
+
|
13
|
+
it "creates an smi address based on the ip and port name" do
|
14
|
+
expect(Snmpjr::Wrappers::SMI::GenericAddress).to receive(:parse).with("udp:127.0.0.1/161")
|
15
|
+
subject.create(options)
|
16
|
+
end
|
17
|
+
|
18
|
+
let(:community_target) { double Snmpjr::Wrappers::CommunityTarget }
|
19
|
+
|
20
|
+
before do
|
21
|
+
allow(Snmpjr::Wrappers::CommunityTarget).to receive(:new).and_return community_target
|
22
|
+
allow(community_target).to receive(:version=)
|
23
|
+
allow(community_target).to receive(:timeout=)
|
24
|
+
allow(community_target).to receive(:community=)
|
25
|
+
allow(community_target).to receive(:address=)
|
26
|
+
end
|
27
|
+
|
28
|
+
it "sets the snmp version to v2c and the timeout to 5000ms" do
|
29
|
+
expect(community_target).to receive(:version=).with(1)
|
30
|
+
expect(community_target).to receive(:timeout=).with(5000)
|
31
|
+
subject.create(options)
|
32
|
+
end
|
33
|
+
|
34
|
+
it "returns the SNMP4J community target" do
|
35
|
+
expect(subject.create(options).class).to eq community_target.class
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
data/spec/snmpjr_spec.rb
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
require production_code
|
2
|
+
|
3
|
+
describe Snmpjr do
|
4
|
+
describe "#get" do
|
5
|
+
context "when the call is synchronous" do
|
6
|
+
|
7
|
+
let(:target) { double Snmpjr::Target }
|
8
|
+
let(:community_target) { double :community_target }
|
9
|
+
let(:session) { double Snmpjr::Session }
|
10
|
+
let(:pdu) { double Snmpjr::Pdu }
|
11
|
+
let(:created_pdu_1) { double :created_pdu_1 }
|
12
|
+
|
13
|
+
before do
|
14
|
+
allow(Snmpjr::Pdu).to receive(:new).and_return pdu
|
15
|
+
allow(pdu).to receive(:create).with('1.2.3.4.5.6').and_return created_pdu_1
|
16
|
+
allow(Snmpjr::Session).to receive(:new).and_return session
|
17
|
+
allow(session).to receive(:send)
|
18
|
+
allow(Snmpjr::Target).to receive(:new).and_return target
|
19
|
+
allow(target).to receive(:create).with(agent_details).and_return community_target
|
20
|
+
end
|
21
|
+
|
22
|
+
let(:agent_details) { { :host => '127.0.0.1', :port => 161, :community => 'some_community' } }
|
23
|
+
|
24
|
+
subject { described_class.new(agent_details) }
|
25
|
+
|
26
|
+
context 'when passed a single oid' do
|
27
|
+
it 'performs a synchronous get' do
|
28
|
+
subject.get '1.2.3.4.5.6'
|
29
|
+
expect(session).to have_received(:send).with(created_pdu_1, community_target)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
context 'when passed multiple oids' do
|
34
|
+
let(:created_pdu_2) { double :created_pdu_2 }
|
35
|
+
|
36
|
+
before do
|
37
|
+
allow(pdu).to receive(:create).with('6.5.4.3.2.1').and_return created_pdu_2
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'performs multiple gets for each oid' do
|
41
|
+
subject.get ['1.2.3.4.5.6', '6.5.4.3.2.1']
|
42
|
+
expect(session).to have_received(:send).with(created_pdu_1, community_target)
|
43
|
+
expect(session).to have_received(:send).with(created_pdu_2, community_target)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
context 'when an invalid argument was passed in' do
|
48
|
+
it 'raises an ArgumentError' do
|
49
|
+
expect {
|
50
|
+
subject.get({'oid_value' => '1.3.4.5.6'})
|
51
|
+
}.to raise_error ArgumentError
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'simplecov'
|
2
|
+
require 'pry'
|
3
|
+
|
4
|
+
SimpleCov.coverage_dir 'log/coverage/rspec'
|
5
|
+
SimpleCov.add_filter "spec"
|
6
|
+
SimpleCov.add_filter "vendor"
|
7
|
+
SimpleCov.start
|
8
|
+
|
9
|
+
def production_code
|
10
|
+
spec = caller[0][/spec.+\.rb/]
|
11
|
+
'./' + spec.gsub('_spec','').gsub(/spec/, 'lib')
|
12
|
+
end
|
metadata
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: snmpjr
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: java
|
6
|
+
authors:
|
7
|
+
- Zen Kyprianou
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-10-12 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: ! 'Snmpjr aims to provide a clean and simple interface to use SNMP in
|
14
|
+
your ruby code. It will wrap the popular SNMP4J library in Java.
|
15
|
+
|
16
|
+
'
|
17
|
+
email:
|
18
|
+
- zen@kyprianou.eu
|
19
|
+
executables: []
|
20
|
+
extensions: []
|
21
|
+
extra_rdoc_files: []
|
22
|
+
files:
|
23
|
+
- .gitignore
|
24
|
+
- .rspec
|
25
|
+
- .rvmrc
|
26
|
+
- .travis.yml
|
27
|
+
- Gemfile
|
28
|
+
- LICENSE.txt
|
29
|
+
- README.md
|
30
|
+
- Rakefile
|
31
|
+
- history.rdoc
|
32
|
+
- lib/snmpjr.rb
|
33
|
+
- lib/snmpjr/pdu.rb
|
34
|
+
- lib/snmpjr/session.rb
|
35
|
+
- lib/snmpjr/target.rb
|
36
|
+
- lib/snmpjr/version.rb
|
37
|
+
- lib/snmpjr/wrappers/smi.rb
|
38
|
+
- lib/snmpjr/wrappers/snmp4j-2.3.1.jar
|
39
|
+
- lib/snmpjr/wrappers/snmp4j.rb
|
40
|
+
- lib/snmpjr/wrappers/transport.rb
|
41
|
+
- snmpjr.gemspec
|
42
|
+
- spec/integration/snmpjr_spec.rb
|
43
|
+
- spec/snmpjr/pdu_spec.rb
|
44
|
+
- spec/snmpjr/session_spec.rb
|
45
|
+
- spec/snmpjr/target_spec.rb
|
46
|
+
- spec/snmpjr_spec.rb
|
47
|
+
- spec/spec_helper.rb
|
48
|
+
homepage: https://github.com/zenonas/snmpjr
|
49
|
+
licenses:
|
50
|
+
- MIT
|
51
|
+
metadata: {}
|
52
|
+
post_install_message:
|
53
|
+
rdoc_options: []
|
54
|
+
require_paths:
|
55
|
+
- lib
|
56
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ! '>='
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
requirements: []
|
67
|
+
rubyforge_project:
|
68
|
+
rubygems_version: 2.4.2
|
69
|
+
signing_key:
|
70
|
+
specification_version: 4
|
71
|
+
summary: Simple SNMP interface for JRuby
|
72
|
+
test_files:
|
73
|
+
- spec/integration/snmpjr_spec.rb
|
74
|
+
- spec/snmpjr/pdu_spec.rb
|
75
|
+
- spec/snmpjr/session_spec.rb
|
76
|
+
- spec/snmpjr/target_spec.rb
|
77
|
+
- spec/snmpjr_spec.rb
|
78
|
+
- spec/spec_helper.rb
|