Class: SensuPluginsOracle::Session
- Inherits:
-
Object
- Object
- SensuPluginsOracle::Session
- Defined in:
- lib/sensu-plugins-oracle/session.rb
Constant Summary collapse
- PRIVILEDGES =
[:SYSDBA, :SYSOPER, :SYSASM, :SYSBACKUP, :SYSDG, :SYSKM]
Instance Attribute Summary collapse
-
#connect_string ⇒ Object
readonly
Returns the value of attribute connect_string.
-
#database ⇒ Object
readonly
Returns the value of attribute database.
-
#error_message ⇒ Object
readonly
Returns the value of attribute error_message.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#password ⇒ Object
readonly
Returns the value of attribute password.
-
#priviledge ⇒ Object
readonly
Returns the value of attribute priviledge.
-
#server_version ⇒ Object
readonly
Returns the value of attribute server_version.
-
#username ⇒ Object
readonly
Returns the value of attribute username.
Class Method Summary collapse
Instance Method Summary collapse
- #alive? ⇒ Boolean
-
#initialize(args) ⇒ Session
constructor
A new instance of Session.
Constructor Details
#initialize(args) ⇒ Session
Returns a new instance of Session.
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/sensu-plugins-oracle/session.rb', line 12 def initialize(args) @name = args[:name] @error_message = nil @connect_string = args[:connect_string] @username = args[:username] @password = args[:password] @database = args[:database] @priviledge = args[:priviledge].upcase.to_sym if args[:priviledge] && PRIVILEDGES.include?(args[:priviledge].upcase.to_sym) end |
Instance Attribute Details
#connect_string ⇒ Object (readonly)
Returns the value of attribute connect_string.
5 6 7 |
# File 'lib/sensu-plugins-oracle/session.rb', line 5 def connect_string @connect_string end |
#database ⇒ Object (readonly)
Returns the value of attribute database.
6 7 8 |
# File 'lib/sensu-plugins-oracle/session.rb', line 6 def database @database end |
#error_message ⇒ Object (readonly)
Returns the value of attribute error_message.
4 5 6 |
# File 'lib/sensu-plugins-oracle/session.rb', line 4 def @error_message end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
4 5 6 |
# File 'lib/sensu-plugins-oracle/session.rb', line 4 def name @name end |
#password ⇒ Object (readonly)
Returns the value of attribute password.
6 7 8 |
# File 'lib/sensu-plugins-oracle/session.rb', line 6 def password @password end |
#priviledge ⇒ Object (readonly)
Returns the value of attribute priviledge.
6 7 8 |
# File 'lib/sensu-plugins-oracle/session.rb', line 6 def priviledge @priviledge end |
#server_version ⇒ Object (readonly)
Returns the value of attribute server_version.
8 9 10 |
# File 'lib/sensu-plugins-oracle/session.rb', line 8 def server_version @server_version end |
#username ⇒ Object (readonly)
Returns the value of attribute username.
6 7 8 |
# File 'lib/sensu-plugins-oracle/session.rb', line 6 def username @username end |
Class Method Details
.parse_from_file(file) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/sensu-plugins-oracle/session.rb', line 24 def self.parse_from_file(file) sessions = [] File.open(file) do |input| input.each_line do |line| line.strip! next if line.size == 0 || line =~ /^#/ a = line.split(/:|,|;/) sessions << Session.new(name: a[0], connect_string: a[1]) end end return sessions end |
Instance Method Details
#alive? ⇒ Boolean
39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/sensu-plugins-oracle/session.rb', line 39 def alive? connection = OCI8.new(@connect_string) if @connect_string connection = OCI8.new(@username, @password, @database) if @username @server_version = connection.oracle_server_version true rescue OCIError => e @error_message = [@name, e..split("\n").first].compact.join(": ") false ensure connection.logoff if connection end |