netdot-restclient 2.0.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,4 +1,2 @@
1
1
  source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in netdot-restclient.gemspec
4
2
  gemspec
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env make -f
2
+
3
+ default:
4
+ @echo 'You should use rake...'
5
+ @rake -T -A
data/README.md CHANGED
@@ -18,6 +18,10 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
+ See file `sample/sample.rb` for example usage of the `Netdot::Host` and `Netdot::Ipblock` classes.
22
+
23
+ The following example shows how you can use the low level `Netdot::RestClient` class.
24
+
21
25
  require 'netdot/restclient'
22
26
  require 'pp'
23
27
 
@@ -50,8 +54,6 @@ The Netdot user manual at:
50
54
 
51
55
  http://netdot.uoregon.edu
52
56
 
53
- See the sample/sample.rb for sample usage of the Host and Ipblock classes.
54
-
55
57
  ## Contributing
56
58
 
57
59
  1. Fork it ( https://github.com/cvicente/netdot-restclient/fork )
@@ -59,3 +61,54 @@ See the sample/sample.rb for sample usage of the Host and Ipblock classes.
59
61
  3. Commit your changes (`git commit -am 'Add some feature'`)
60
62
  4. Push to the branch (`git push origin my-new-feature`)
61
63
  5. Create a new Pull Request
64
+
65
+ ### Setting up a development environment on Ubuntu 14.04
66
+ * Resynchronize the package index files from their sources.
67
+ ```
68
+ sudo apt-get update
69
+ ```
70
+ * Install rbenv, then reconfigure PATH.
71
+ ```
72
+ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
73
+ cat >>~/.bashrc <<EOF
74
+ export PATH=~/.rbenv/bin:\$PATH
75
+ eval "\$(rbenv init -)"
76
+ EOF
77
+ ```
78
+ * Logout and back in!
79
+ ```
80
+ logout
81
+ ```
82
+ * Install and verify the desired Ruby version.
83
+ ```
84
+ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
85
+ rbenv install 1.9.3-p547
86
+ cat >~/.rbenv/version <<EOF
87
+ 1.9.3-p547
88
+ EOF
89
+ rbenv rehash
90
+ ruby --version
91
+ ```
92
+ * Install the bundler gem
93
+ ```
94
+ rbenv exec gem install bundler
95
+ rbenv rehash
96
+ bundle version
97
+ ```
98
+ * Install the netdot-restclient code
99
+ ```
100
+ git clone https://github.com/cvicente/netdot-restclient.git
101
+ cd netdot-restclient
102
+ ```
103
+ * Run the bundler, to ensure we have all the gems we need
104
+ ```
105
+ bundle install
106
+ ```
107
+ * Optional: set environment variables for rspec tests
108
+ ```
109
+ export SERVER=http://ipam0-01-unicorn-usnbn1.ci-aws.dev.ec2.dynback.net/netdot
110
+ ```
111
+ * Run the default rake tasks
112
+ ```
113
+ rake
114
+ ```
data/Rakefile CHANGED
@@ -1,8 +1,59 @@
1
+ #
2
+ # Rakefile
3
+ #
4
+
5
+ require 'rake'
6
+ require 'rake/clean'
7
+
8
+ CLEAN.include('.yardoc',
9
+ 'cookie.dat'
10
+ )
11
+ CLOBBER.include('doc',
12
+ 'pkg'
13
+ )
14
+
15
+ #---------------------------------------------------------------------------
16
+ # Packaging (bundler) -- build, install, and release
17
+
1
18
  require 'bundler/gem_tasks'
19
+
20
+ #---------------------------------------------------------------------------
21
+ # Documentation (yard)
22
+
2
23
  require 'yard'
24
+ YARD::Rake::YardocTask.new
25
+
26
+ desc 'Use yard for doc'
27
+ task doc: :yard
28
+
29
+ #---------------------------------------------------------------------------
30
+ # Test
3
31
 
4
- YARD::Rake::YardocTask.new do |_t|
5
- # t.files = ['lib/**/*.rb', OTHER_PATHS] # optional
6
- # t.options = ['--any', '--extra', '--opts'] # optional
7
- # t.stats_options = ['--list-undoc'] # optional
32
+ require 'rspec/core/rake_task'
33
+
34
+ # These are for running 'rspec' with our Netdot test server
35
+ ENV['SERVER'] ||= 'http://localhost/netdot'
36
+ ENV['USERNAME'] ||= 'admin'
37
+ ENV['PASSWORD'] ||= 'admin'
38
+
39
+ RSpec::Core::RakeTask.new(:spec) do |t|
40
+ t.pattern = 'spec/**{,/*/**}/*_spec.rb'
41
+ t.rspec_opts = '--format documentation'
8
42
  end
43
+
44
+ desc 'Use rspec for test'
45
+ task test: :spec
46
+
47
+ #---------------------------------------------------------------------------
48
+ # Style (rubocop)
49
+
50
+ require 'rubocop/rake_task'
51
+ RuboCop::RakeTask.new
52
+
53
+ desc 'Use rubocop for style'
54
+ task style: :rubocop
55
+
56
+ #---------------------------------------------------------------------------
57
+
58
+ desc 'Build the Gem if style, test, and doc are successful'
59
+ task default: [:rubocop, :spec, :yard, :build]
@@ -5,7 +5,7 @@ module Netdot
5
5
  attr_accessor :connection
6
6
 
7
7
  # Constructor
8
- # @param :connection [Hash] a Netdot::RestClient object
8
+ # @option argv [Hash] :connection (REQUIRED) a Netdot::RestClient object
9
9
  def initialize(argv = {})
10
10
  [:connection].each do |k|
11
11
  fail ArgumentError, "Missing required argument '#{k}'" unless argv[k]
@@ -5,7 +5,7 @@ module Netdot
5
5
  attr_accessor :connection
6
6
 
7
7
  # Constructor
8
- # @param :connection [Hash] a Netdot::RestClient object
8
+ # @option argv [Hash] :connection (REQUIRED) a Netdot::RestClient object
9
9
  def initialize(argv = {})
10
10
  [:connection].each do |k|
11
11
  fail ArgumentError, "Missing required argument '#{k}'" unless argv[k]
@@ -9,18 +9,18 @@ module Netdot
9
9
  attr_accessor :format, :base_url, :ua, :xs
10
10
 
11
11
  # Constructor and login method
12
- # @param :server [String] Netdot server URL
13
- # @param :username [String] Netdot Username
14
- # @param :password [String] Netdot password
15
- # @param :retries [String] (optional) Number of attempts
16
- # @param :timeout [String] (optional) Timeout in seconds
17
- # @param :format [String] (optional) Content format <xml>
18
- # @param :ssl_version [String] (optional) Specify version of SSL;
12
+ # @option argv [String] :server (REQUIRED) Netdot server URL
13
+ # @option argv [String] :username (REQUIRED) Netdot Username
14
+ # @option argv [String] :password (REQUIRED) Netdot password
15
+ # @option argv [Fixnum] :retries (3) number of attempts
16
+ # @option argv [Fixnum] :timeout (10) timeout in seconds
17
+ # @option argv [String] :format (xml) content format <xml>
18
+ # @option argv [String] :ssl_version ('') specify version of SSL;
19
19
  # see HTTPClient
20
- # @param :ssl_verify [String] (optional) Verify server cert (default: yes)
21
- # @param :ssl_ca_file [String] (optional) Path to SSL CA cert file
22
- # @param :ssl_ca_dir [String] (optional) Path to SSL CA cert directory
23
- # @param :cookie_file [String] (optional) Cookie filename
20
+ # @option argv [String] :ssl_verify (true) verify server cert (default: yes)
21
+ # @option argv [String] :ssl_ca_file ('') path to SSL CA cert file
22
+ # @option argv [String] :ssl_ca_dir ('') path to SSL CA cert directory
23
+ # @option argv [String] :cookie_file ('./cookie.dat') cookie filename
24
24
  def initialize(argv = {})
25
25
  [:server, :username, :password].each do |k|
26
26
  fail ArgumentError, "Missing required argument '#{k}'" unless argv[k]
@@ -2,7 +2,7 @@
2
2
  module Netdot
3
3
  # RestClient
4
4
  class RestClient
5
- VERSION = '2.0.0'
5
+ VERSION = '2.0.1'
6
6
 
7
7
  def version
8
8
  VERSION
@@ -18,10 +18,15 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_development_dependency 'bundler', '~> 1.6'
22
- spec.add_development_dependency 'rake'
23
- spec.add_development_dependency 'rspec', '~> 2.6'
21
+ spec.add_development_dependency 'bundler', '~> 1.9'
22
+ spec.add_development_dependency 'logger', '~>1.2'
23
+ spec.add_development_dependency 'netaddr', '~>1.5'
24
+ spec.add_development_dependency 'rake', '~>10.4'
25
+ spec.add_development_dependency 'redcarpet', '~>3.2'
26
+ spec.add_development_dependency 'rspec', '~> 2.99'
27
+ spec.add_development_dependency 'rubocop', '~>0.31'
28
+ spec.add_development_dependency 'yard', '~>0.8'
24
29
 
25
- spec.add_dependency 'httpclient'
26
- spec.add_dependency 'xml-simple'
30
+ spec.add_runtime_dependency 'httpclient', '~>2.6'
31
+ spec.add_runtime_dependency 'xml-simple', '~>1.1'
27
32
  end
@@ -35,9 +35,14 @@ describe Netdot::RestClient do
35
35
  username: ENV['USERNAME'] || 'admin',
36
36
  password: ENV['PASSWORD'] || 'admin'
37
37
  }
38
- expect do
39
- Netdot::RestClient.new(args)
40
- end.to raise_error
38
+ if ENV['SERVER'] =~ /^https:/
39
+ expect do
40
+ Netdot::RestClient.new(args)
41
+ end.to raise_error
42
+ else
43
+ STDERR.puts 'Warning: Skipping the following test' \
44
+ ", as URL scheme is not 'https:'"
45
+ end
41
46
  end
42
47
 
43
48
  it 'does not raise an exception if SSL verification is disabled' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: netdot-restclient
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,63 +9,118 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-05-08 00:00:00.000000000 Z
12
+ date: 2015-05-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
- requirement: &79226940 !ruby/object:Gem::Requirement
16
+ requirement: &81443330 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '1.6'
21
+ version: '1.9'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *79226940
24
+ version_requirements: *81443330
25
+ - !ruby/object:Gem::Dependency
26
+ name: logger
27
+ requirement: &81443080 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: '1.2'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *81443080
36
+ - !ruby/object:Gem::Dependency
37
+ name: netaddr
38
+ requirement: &81442850 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: '1.5'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *81442850
25
47
  - !ruby/object:Gem::Dependency
26
48
  name: rake
27
- requirement: &79224860 !ruby/object:Gem::Requirement
49
+ requirement: &81442620 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '10.4'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *81442620
58
+ - !ruby/object:Gem::Dependency
59
+ name: redcarpet
60
+ requirement: &81442390 !ruby/object:Gem::Requirement
28
61
  none: false
29
62
  requirements:
30
- - - ! '>='
63
+ - - ~>
31
64
  - !ruby/object:Gem::Version
32
- version: '0'
65
+ version: '3.2'
33
66
  type: :development
34
67
  prerelease: false
35
- version_requirements: *79224860
68
+ version_requirements: *81442390
36
69
  - !ruby/object:Gem::Dependency
37
70
  name: rspec
38
- requirement: &79027910 !ruby/object:Gem::Requirement
71
+ requirement: &81442160 !ruby/object:Gem::Requirement
39
72
  none: false
40
73
  requirements:
41
74
  - - ~>
42
75
  - !ruby/object:Gem::Version
43
- version: '2.6'
76
+ version: '2.99'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *81442160
80
+ - !ruby/object:Gem::Dependency
81
+ name: rubocop
82
+ requirement: &81441930 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: '0.31'
44
88
  type: :development
45
89
  prerelease: false
46
- version_requirements: *79027910
90
+ version_requirements: *81441930
91
+ - !ruby/object:Gem::Dependency
92
+ name: yard
93
+ requirement: &81441700 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ~>
97
+ - !ruby/object:Gem::Version
98
+ version: '0.8'
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: *81441700
47
102
  - !ruby/object:Gem::Dependency
48
103
  name: httpclient
49
- requirement: &79027320 !ruby/object:Gem::Requirement
104
+ requirement: &81441470 !ruby/object:Gem::Requirement
50
105
  none: false
51
106
  requirements:
52
- - - ! '>='
107
+ - - ~>
53
108
  - !ruby/object:Gem::Version
54
- version: '0'
109
+ version: '2.6'
55
110
  type: :runtime
56
111
  prerelease: false
57
- version_requirements: *79027320
112
+ version_requirements: *81441470
58
113
  - !ruby/object:Gem::Dependency
59
114
  name: xml-simple
60
- requirement: &79026340 !ruby/object:Gem::Requirement
115
+ requirement: &81441240 !ruby/object:Gem::Requirement
61
116
  none: false
62
117
  requirements:
63
- - - ! '>='
118
+ - - ~>
64
119
  - !ruby/object:Gem::Version
65
- version: '0'
120
+ version: '1.1'
66
121
  type: :runtime
67
122
  prerelease: false
68
- version_requirements: *79026340
123
+ version_requirements: *81441240
69
124
  description: Talk to Netdot via REST with Ruby
70
125
  email:
71
126
  - cvicente@gmail.com
@@ -80,6 +135,7 @@ files:
80
135
  - .rubocop.yml
81
136
  - Gemfile
82
137
  - LICENSE.txt
138
+ - Makefile
83
139
  - README.md
84
140
  - Rakefile
85
141
  - lib/netdot.rb