sensu-plugins-oracle 0.6.0 → 0.7.2

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