netdot-restclient 2.0.0 → 2.0.1

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/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