sensu-plugins-oracle 0.6.0 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8f8ca74b2373ad51c402a3496958f8f7fa8f3e53
4
- data.tar.gz: d164d87f734ffd137a045a8da455eb4881c793fe
3
+ metadata.gz: 8754fe74e7bae6ba56d526c7f82e2cdc2cf7d25e
4
+ data.tar.gz: c08634c5b47caf6160e037d1a078922ffda78271
5
5
  SHA512:
6
- metadata.gz: e08cc0b4b5b506704fa32b051fd1e93179442a4f6620265065b02a9eb059ffd41d5d57f83145cf047fe0ad977b8582637266b4875d526132696a1d0f3027ac6b
7
- data.tar.gz: 3bd32501ea7e7a9451e18d90d362428cfb1c459df0aaead6daf01be59e76d1618bf560b4f4a2b9798a589047b23f58289f66538ba963515a74c5c2daa62516eb
6
+ metadata.gz: 086707b8af26c658237c93e7cea9063840a31a582c4ef51db0019c9034b864c978a6e533016a8b0160da23ba95c03f0a5a601734290b1e0aee629538228fb7aa
7
+ data.tar.gz: bbccf4e8ebf44b1f34e46d23a2d21df9d52aac5a26e567959bed49bff656f37d0da03e3016cc34898166997663e9ced24b65e6a0b213a5088219dbf75f0910a2
data/README.md CHANGED
@@ -1,7 +1,8 @@
1
1
 
2
2
  [![Gem Version](https://badge.fury.io/rb/sensu-plugins-oracle.svg)](https://badge.fury.io/rb/sensu-plugins-oracle)
3
- [![Code Climate](https://codeclimate.com/github/thomis/sensu-plugins-oracle/badges/gpa.svg)](https://codeclimate.com/github/thomis/sensu-plugins-oracle)
3
+ [![Maintainability](https://api.codeclimate.com/v1/badges/a96aadf931c023673c49/maintainability)](https://codeclimate.com/github/thomis/sensu-plugins-oracle/maintainability)
4
4
  [![Dependency Status](https://gemnasium.com/badges/github.com/thomis/sensu-plugins-oracle.svg)](https://gemnasium.com/github.com/thomis/sensu-plugins-oracle)
5
+ [![Build Status](https://travis-ci.org/thomis/sensu-plugins-oracle.svg?branch=master)](https://travis-ci.org/thomis/sensu-plugins-oracle)
5
6
 
6
7
  # sensu-plugins-oracle
7
8
 
@@ -34,7 +35,7 @@ This sensu plugin provides native Oracle instrumentation.
34
35
  ```
35
36
 
36
37
  ```
37
- -- check for invalid objects in a schema, show type and name if there are invalid objects (-s), define a ciritical boundary only (-c)
38
+ -- check for invalid objects in a schema, shows type and name if there are invalid objects (-s), define a ciritical boundary only (-c)
38
39
  check-oracle-query.rb -u scott -p tiger -d hr -t -s -query "select object_type, object_name from user_objects where status = 'INVALID'" -c "value > 0"
39
40
 
40
41
  -- same as above but check for all connections in a file, use 5 worker threads
@@ -16,7 +16,8 @@
16
16
  # gem: ruby-oci8
17
17
  #
18
18
  # USAGE:
19
- # ./check-oracle-alive.rb -u USERNAME -p PASSWORD -d DATABASE -P PRIVILEGE -T TIMEOUT -f FILE
19
+ # ./check-oracle-alive.rb -u USERNAME -p PASSWORD -d DATABASE \
20
+ # -P PRIVILEGE -T TIMEOUT -f FILE
20
21
  #
21
22
  # NOTES:
22
23
  #
@@ -29,6 +30,7 @@
29
30
  require 'sensu-plugins-oracle'
30
31
  require 'sensu-plugin/check/cli'
31
32
 
33
+ # Check Oracle Alive
32
34
  class CheckOracleAlive < Sensu::Plugin::Check::CLI
33
35
  option :username,
34
36
  description: 'Oracle Username',
@@ -46,7 +48,8 @@ class CheckOracleAlive < Sensu::Plugin::Check::CLI
46
48
  long: '--database DATABASE'
47
49
 
48
50
  option :privilege,
49
- description: 'Connect to Oracle database by optional priviledge (SYSDBA, SYSOPER, SYSASM, , SYSDG or SYSKM)',
51
+ description: 'Connect to Oracle database by optional priviledge' \
52
+ ' (SYSDBA, SYSOPER, SYSASM, , SYSDG or SYSKM)',
50
53
  short: '-P PRIVILEGE',
51
54
  long: '--privilege PRIVILEGE'
52
55
 
@@ -61,22 +64,35 @@ class CheckOracleAlive < Sensu::Plugin::Check::CLI
61
64
  long: '--file FILE'
62
65
 
63
66
  option :worker,
64
- description: 'Number of worker threads to check for alive connections',
67
+ description: 'Number of worker threads to check' \
68
+ ' for alive connections',
65
69
  short: '-W WORKER',
66
70
  long: '--worker WORKER',
67
71
  default: 1,
68
- :proc => Proc.new { |v| v.to_i == 0 ? 1 : v.to_i }
72
+ proc: proc { |v| v.to_i.zero? ? 1 : v.to_i }
69
73
 
70
74
  option :verbose,
71
75
  description: 'Shows console log messages',
72
- short: '-v',
76
+ short: '-V',
73
77
  long: '--verbose',
74
78
  boolean: true,
75
79
  default: false
76
80
 
81
+ option :version,
82
+ description: 'Shows current version',
83
+ short: '-v',
84
+ long: '--version',
85
+ boolean: true,
86
+ default: false
87
+
77
88
  def run
78
89
  # handle OCI8 properties
79
- ::SensuPluginsOracle::Session.set_timeout_properties(config[:timeout])
90
+ ::SensuPluginsOracle::Session.timeout_properties(config[:timeout])
91
+
92
+ if config[:version]
93
+ ok("Version #{SensuPluginsOracle::Version::VER_STRING}")
94
+ return
95
+ end
80
96
 
81
97
  if config[:file]
82
98
  handle_connections_from_file
@@ -88,11 +104,10 @@ class CheckOracleAlive < Sensu::Plugin::Check::CLI
88
104
  private
89
105
 
90
106
  def handle_connection
91
- session = SensuPluginsOracle::Session.new(
92
- username: config[:username],
93
- password: config[:password],
94
- database: config[:database],
95
- privilege: config[:privilege])
107
+ session = SensuPluginsOracle::Session.new(username: config[:username],
108
+ password: config[:password],
109
+ database: config[:database],
110
+ privilege: config[:privilege])
96
111
 
97
112
  if session.alive?
98
113
  ok "Server version: #{session.server_version}"
@@ -103,29 +118,27 @@ class CheckOracleAlive < Sensu::Plugin::Check::CLI
103
118
 
104
119
  def handle_connections_from_file
105
120
  sessions = ::SensuPluginsOracle::Session.parse_from_file(config[:file])
106
- ::SensuPluginsOracle::Session.handle_multiple(
107
- sessions: sessions,
108
- method: :alive?,
109
- config: config
110
- )
121
+ ::SensuPluginsOracle::Session.handle_multiple(sessions: sessions,
122
+ method: :alive?,
123
+ config: config)
111
124
 
112
125
  errors = []
113
126
  sessions.each do |session|
114
- errors << session.error_message if session.error_message
127
+ message = session.error_message
128
+ errors << message if message
115
129
  end
116
130
 
117
131
  sessions_total = sessions.size
118
132
  errors_total = errors.size
119
133
 
120
- if errors_total == 0
134
+ if errors_total.zero?
121
135
  ok "All are alive (#{sessions_total}/#{sessions_total})"
122
136
  else
123
- critical ["#{sessions_total - errors_total}/#{sessions_total} are alive", errors].flatten.join("\n - ")
137
+ message = "#{sessions_total - errors_total}/#{sessions_total} are alive"
138
+ critical([message, errors].flatten.join("\n - "))
124
139
  end
125
140
 
126
141
  rescue => e
127
142
  unknown e.to_s
128
143
  end
129
-
130
-
131
144
  end
@@ -3,7 +3,8 @@
3
3
  # check-oracle-query
4
4
  #
5
5
  # DESCRIPTION:
6
- # This plugin attempts to execute defined query against provided connection credential(s).
6
+ # This plugin attempts to execute defined query against provided
7
+ # connection credential(s).
7
8
  #
8
9
  # OUTPUT:
9
10
  # plain text
@@ -16,7 +17,10 @@
16
17
  # gem: ruby-oci8
17
18
  #
18
19
  # USAGE:
19
- # ./check-oracle-query.rb -u USERNAME -p PASSWORD -d DATABASE -P PRIVILEGE -T TIMEOUT -f FILE -q 'select foo from bar' -w 'value > 5' -c 'value > 10'
20
+ # ./check-oracle-query.rb -u USERNAME -p PASSWORD -d DATABASE \
21
+ # -P PRIVILEGE -T TIMEOUT -f FILE \
22
+ # -q 'select foo from bar' \
23
+ # -w 'value > 5' -c 'value > 10'
20
24
  #
21
25
  # NOTES:
22
26
  #
@@ -47,7 +51,8 @@ class CheckOracleQuery < Sensu::Plugin::Check::CLI
47
51
  long: '--database DATABASE'
48
52
 
49
53
  option :privilege,
50
- description: 'Connect to Oracle database by optional priviledge (SYSDBA, SYSOPER, SYSASM, , SYSDG or SYSKM)',
54
+ description: 'Connect to Oracle database by optional priviledge' \
55
+ ' (SYSDBA, SYSOPER, SYSASM, , SYSDG or SYSKM)',
51
56
  short: '-P PRIVILEGE',
52
57
  long: '--privilege PRIVILEGE'
53
58
 
@@ -94,22 +99,35 @@ class CheckOracleQuery < Sensu::Plugin::Check::CLI
94
99
  default: false
95
100
 
96
101
  option :worker,
97
- description: 'Number of worker threads to execute query against provided connections',
102
+ description: 'Number of worker threads to execute query' \
103
+ ' against provided connections',
98
104
  short: '-W WORKER',
99
105
  long: '--worker WORKER',
100
106
  default: 1,
101
- :proc => Proc.new { |v| v.to_i == 0 ? 1 : v.to_i }
107
+ proc: proc { |v| v.to_i.zero? ? 1 : v.to_i }
102
108
 
103
109
  option :verbose,
104
110
  description: 'Shows console log messages',
105
- short: '-v',
111
+ short: '-V',
106
112
  long: '--verbose',
107
113
  boolean: true,
108
114
  default: false
109
115
 
116
+ option :version,
117
+ description: 'Shows current version',
118
+ short: '-v',
119
+ long: '--version',
120
+ boolean: true,
121
+ default: false
122
+
110
123
  def run
111
124
  # handle OCI8 properties
112
- ::SensuPluginsOracle::Session.set_timeout_properties(config[:timeout])
125
+ ::SensuPluginsOracle::Session.timeout_properties(config[:timeout])
126
+
127
+ if config[:version]
128
+ ok("Version #{SensuPluginsOracle::Version::VER_STRING}")
129
+ return
130
+ end
113
131
 
114
132
  if config[:file]
115
133
  handle_connections_from_file
@@ -121,15 +139,14 @@ class CheckOracleQuery < Sensu::Plugin::Check::CLI
121
139
  private
122
140
 
123
141
  def handle_connection
124
- session = SensuPluginsOracle::Session.new(
125
- username: config[:username],
126
- password: config[:password],
127
- database: config[:database],
128
- privilege: config[:privilege])
142
+ session = SensuPluginsOracle::Session.new(username: config[:username],
143
+ password: config[:password],
144
+ database: config[:database],
145
+ privilege: config[:privilege])
129
146
 
130
147
  if session.query(config[:query].to_s)
131
148
  method, message = session.handle_query_result(config)
132
- self.send(method, message)
149
+ send(method, message)
133
150
  else
134
151
  # issue with the query
135
152
  critical session.error_message
@@ -138,44 +155,46 @@ class CheckOracleQuery < Sensu::Plugin::Check::CLI
138
155
 
139
156
  def handle_connections_from_file
140
157
  sessions = ::SensuPluginsOracle::Session.parse_from_file(config[:file])
141
- ::SensuPluginsOracle::Session.handle_multiple(
142
- sessions: sessions,
143
- method: :query,
144
- method_arguments: config[:query].to_s,
145
- config: config
146
- )
158
+ ::SensuPluginsOracle::Session.handle_multiple(sessions: sessions,
159
+ method: :query,
160
+ config: config,
161
+ method_args: config[:query])
147
162
 
148
163
  results = Hash.new { |h, key| h[key] = [] }
149
164
  sessions.each do |session|
150
- if session.error_message
151
- results[:critical] << session.error_message
165
+ message = session.error_message
166
+ if message
167
+ results[:critical] << message
152
168
  else
153
- method, message = session.handle_query_result(config)
154
- results[method] << message
169
+ type, message = session.handle_query_result(config)
170
+ results[type] << message
155
171
  end
156
172
  end
157
173
 
158
- # return summary plus warning and critical messages
174
+ method, messages = summary(results, sessions.size)
175
+
176
+ send(method, messages.join("\n"))
177
+ rescue => e
178
+ unknown e.to_s
179
+ end
180
+
181
+ # returns summary based on header and detailed (warning & critical) messages
182
+ def summary(results, session_count)
183
+ # header
159
184
  method = :ok
160
- header = ["Total: #{sessions.size}"]
161
- header << "Ok: #{results[:ok].size}" if results[:ok].size > 0
162
- header << "Warning: #{results[:warning].size}" if results[:warning].size > 0
163
- header << "Critical: #{results[:critical].size}" if results[:critical].size > 0
185
+ headers = ["Total: #{session_count}"]
186
+ messages = []
164
187
 
165
- messages = [header.join(', ')]
188
+ headers << "Ok: #{results[:ok].size}" unless results[:ok].empty?
166
189
 
167
190
  [:warning, :critical].each do |type|
168
- if results[type].size > 0
169
- method = type
170
- messages << nil
171
- messages << type.to_s.capitalize
172
- messages << results[type].compact.sort.join("\n\n")
173
- end
191
+ next if results[type].empty?
192
+ method = type
193
+ label = type.to_s.capitalize
194
+ headers << "#{label}: #{results[type].size}"
195
+ messages << [label, results[type].compact.sort.join("\n\n")]
174
196
  end
175
197
 
176
- send(method, messages.join("\n"))
177
- rescue => e
178
- unknown e.to_s
198
+ [method, [headers, messages].flatten]
179
199
  end
180
-
181
200
  end
@@ -1,8 +1,8 @@
1
1
  require 'dentaku'
2
2
 
3
3
  module SensuPluginsOracle
4
+ # Session to handle oracle checks
4
5
  class Session
5
-
6
6
  attr_reader :name, :error_message
7
7
  attr_reader :connect_string
8
8
  attr_reader :username, :password, :database, :priviledge
@@ -11,7 +11,17 @@ module SensuPluginsOracle
11
11
 
12
12
  attr_accessor :rows
13
13
 
14
- PRIVILEDGES = [:SYSDBA, :SYSOPER, :SYSASM, :SYSBACKUP, :SYSDG, :SYSKM]
14
+ PRIVILEDGES = [
15
+ :SYSDBA,
16
+ :SYSOPER,
17
+ :SYSASM,
18
+ :SYSBACKUP,
19
+ :SYSDG,
20
+ :SYSKM
21
+ ].freeze
22
+
23
+ # catch any error thrown within a thread during join call
24
+ Thread.abort_on_exception = true
15
25
 
16
26
  def initialize(args)
17
27
  @name = args[:name]
@@ -23,24 +33,23 @@ module SensuPluginsOracle
23
33
  @username = args[:username]
24
34
  @password = args[:password]
25
35
  @database = args[:database]
26
- @priviledge = args[:priviledge].upcase.to_sym if args[:priviledge] && PRIVILEDGES.include?(args[:priviledge].upcase.to_sym)
27
-
36
+ @priviledge = validate_priviledge(args[:priviledge])
28
37
  @provide_name_in_result = args[:provide_name_in_result] || false
29
38
  end
30
39
 
31
40
  def self.parse_from_file(file)
32
41
  sessions = []
33
42
 
34
- File.open(file) do |input|
35
- input.each_line do |line|
36
- line.strip!
37
- next if line.size == 0 || line =~ /^#/
38
- a = line.split(/:|,|;/)
39
- sessions << Session.new(name: a[0], connect_string: a[1], provide_name_in_result: true)
40
- end
43
+ File.read(file).each_line do |line|
44
+ line.strip!
45
+ next if line.size.zero? || line =~ /^#/
46
+ a = line.split(/:|,|;/)
47
+ sessions << Session.new(name: a[0],
48
+ connect_string: a[1],
49
+ provide_name_in_result: true)
41
50
  end
42
51
 
43
- return sessions
52
+ sessions
44
53
  end
45
54
 
46
55
  def alive?
@@ -48,7 +57,7 @@ module SensuPluginsOracle
48
57
  @server_version = @connection.oracle_server_version
49
58
  true
50
59
  rescue StandardError, OCIError => e
51
- @error_message = [@name, e.message.split("\n").first].compact.join(": ")
60
+ @error_message = [@name, e.message.split("\n").first].compact.join(': ')
52
61
  false
53
62
  ensure
54
63
  disconnect
@@ -68,25 +77,21 @@ module SensuPluginsOracle
68
77
 
69
78
  return true
70
79
  rescue StandardError, OCIError => e
71
- @error_message = [@name, e.message.split("\n").first].compact.join(": ")
80
+ @error_message = [@name, e.message.split("\n").first].compact.join(': ')
72
81
  return false
73
82
  end
74
83
 
75
- def handle_query_result(config={})
84
+ def handle_query_result(config = {})
76
85
  # check if query is ok, warning, or critical
77
86
  value = @rows.size
78
87
  value = @rows[0][0].to_f if @rows[0] && !config[:tuples]
79
88
 
80
- calc = Dentaku::Calculator.new
89
+ method = evaluate(config, value)
81
90
 
82
- method = :ok
83
- method = :warning if config[:warning] && calc.evaluate(config[:warning], value: value)
84
- method = :critical if config[:critical] && calc.evaluate(config[:critical], value: value)
85
-
86
- return method, show(config[:show])
91
+ [method, show(config[:show])]
87
92
  end
88
93
 
89
- def self.set_timeout_properties(timeout)
94
+ def self.timeout_properties(timeout)
90
95
  return unless timeout
91
96
  timeout = timeout.to_i
92
97
  OCI8.properties[:tcp_connect_timeout] = timeout
@@ -95,29 +100,34 @@ module SensuPluginsOracle
95
100
  OCI8.properties[:recv_timeout] = timeout
96
101
  end
97
102
 
98
- def self.handle_multiple(args={})
103
+ def self.handle_multiple(args = {})
104
+ # queue with sesssion
99
105
  queue_sessions = Queue.new
100
106
 
101
107
  # feed the queue with sessions
102
- args[:sessions].map{ |session| queue_sessions.push(session) }
108
+ args[:sessions].map { |session| queue_sessions.push(session) }
103
109
 
104
- puts "Worker Threads: #{args[:config][:worker]}" if args[:config][:verbose]
110
+ if args[:config][:verbose]
111
+ puts "Worker Threads: #{args[:config][:worker]}"
112
+ end
105
113
 
106
114
  # start worker threads and handle requested sessions
107
115
  worker = (1..args[:config][:worker]).map do
108
116
  Thread.new do
109
- begin
110
- while session = queue_sessions.pop(true)
111
- start = Time.now
112
- puts "Processing #{session.name} - Method: #{args[:method]}" if args[:config][:verbose]
113
- if args[:method_arguments]
114
- session.send(args[:method], args[:method_arguments])
115
- else
116
- session.send(args[:method])
117
- end
118
- puts "Done #{session.name}, took #{ '%0.1f' % ((Time.now - start)*1000)} ms" if args[:config][:verbose]
117
+ until queue_sessions.empty?
118
+ session = queue_sessions.pop(true)
119
+ start = Time.now
120
+ message = "Processing #{session.name} - Method: #{args[:method]}"
121
+ puts message if args[:config][:verbose]
122
+ if args[:method_args]
123
+ session.send(args[:method], args[:method_args])
124
+ else
125
+ session.send(args[:method])
119
126
  end
120
- rescue ThreadError
127
+ message_done = format('Done %s, took %0.1f ms',
128
+ session.name,
129
+ (Time.now - start) * 1000)
130
+ puts message_done if args[:config][:verbose]
121
131
  end
122
132
  end
123
133
  end
@@ -126,14 +136,37 @@ module SensuPluginsOracle
126
136
 
127
137
  private
128
138
 
129
- def show(show_records=true)
139
+ def validate_priviledge(priviledge)
140
+ return nil unless priviledge
141
+ priviledge_symbol = priviledge.upcase.to_sym
142
+ return nil unless PRIVILEDGES.include?(priviledge_symbol)
143
+ priviledge_symbol
144
+ end
145
+
146
+ def show(show_records = true)
130
147
  return nil unless show_records
131
148
  buffer = []
132
149
  buffer << "#{@name} (#{@rows.size})" if @provide_name_in_result
133
- buffer += @rows.map{ |row| '- ' + row.join(', ')}
150
+ buffer += @rows.map { |row| '- ' + row.join(', ') }
134
151
  buffer.join("\n")
135
152
  end
136
153
 
154
+ def evaluate(config, value)
155
+ calc = Dentaku::Calculator.new
156
+
157
+ method = :ok
158
+
159
+ if config[:warning] && calc.evaluate(config[:warning], value: value)
160
+ method = :warning
161
+ end
162
+
163
+ if config[:critical] && calc.evaluate(config[:critical], value: value)
164
+ method = :critical
165
+ end
166
+
167
+ method
168
+ end
169
+
137
170
  def connect
138
171
  return if @connection
139
172
 
@@ -148,6 +181,5 @@ module SensuPluginsOracle
148
181
  @connection.logoff if @connection
149
182
  @connection = nil
150
183
  end
151
-
152
184
  end
153
185
  end
@@ -1,9 +1,3 @@
1
1
  module SensuPluginsOracle
2
- module Version
3
- MAJOR = 0
4
- MINOR = 6
5
- PATCH = 0
6
-
7
- VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
- end
2
+ VERSION = '0.7.2'
9
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-oracle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sensu-Plugins and contributors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-29 00:00:00.000000000 Z
11
+ date: 2017-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sensu-plugin
@@ -16,115 +16,113 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.3.0
19
+ version: '2.3'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.3.0
26
+ version: '2.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: ruby-oci8
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 2.2.4
33
+ version: '2.2'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 2.2.4
40
+ version: '2.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: dentaku
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 2.0.11
47
+ version: '3.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 2.0.11
54
+ version: '3.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 1.15.3
61
+ version: '1.16'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 1.15.3
68
+ version: '1.16'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 12.0.0
75
+ version: '12.2'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 12.0.0
82
+ version: '12.2'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: pry
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.10.4
89
+ version: '0.11'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.10.4
96
+ version: '0.11'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 3.6.0
103
+ version: '3.7'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 3.6.0
110
+ version: '3.7'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: codeclimate-test-reporter
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 1.0.8
117
+ version: '1.0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 1.0.8
125
- description: |-
126
- This plugin provides native Oracle
127
- instrumentation.
124
+ version: '1.0'
125
+ description: This plugin provides native Oracle instrumentation.
128
126
  email: "<thomas.steiner@ikey.ch>"
129
127
  executables:
130
128
  - check-oracle-alive.rb