Class: PLSQL::Variable

Inherits:
Object
  • Object
show all
Extended by:
VariableClassMethods
Defined in:
lib/plsql/variable.rb

Overview

:nodoc:

Defined Under Namespace

Classes: VariableProcedure

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from VariableClassMethods

find

Constructor Details

#initialize(schema, variable, package, variable_type, override_schema_name = nil) ⇒ Variable

Returns a new instance of Variable.



26
27
28
29
30
31
32
33
# File 'lib/plsql/variable.rb', line 26

def initialize(schema, variable, package, variable_type, override_schema_name = nil)
  @schema = schema
  @schema_name = override_schema_name || schema.schema_name
  @variable_name = variable.to_s.upcase
  @package_name = package
  @variable_type = variable_type.upcase
  @metadata = (@variable_type)
end

Instance Attribute Details

#package_nameObject (readonly)

:nodoc:



24
25
26
# File 'lib/plsql/variable.rb', line 24

def package_name
  @package_name
end

#schema_nameObject (readonly)

:nodoc:



24
25
26
# File 'lib/plsql/variable.rb', line 24

def schema_name
  @schema_name
end

#variable_nameObject (readonly)

:nodoc:



24
25
26
# File 'lib/plsql/variable.rb', line 24

def variable_name
  @variable_name
end

Instance Method Details

#valueObject



35
36
37
38
# File 'lib/plsql/variable.rb', line 35

def value
  @variable_get_proc ||= VariableProcedure.new(@schema, self, :get, @metadata)
  ProcedureCall.new(@variable_get_proc).exec
end

#value=(new_value) ⇒ Object



40
41
42
43
44
# File 'lib/plsql/variable.rb', line 40

def value=(new_value)
  @variable_set_proc ||= VariableProcedure.new(@schema, self, :set, @metadata)
  ProcedureCall.new(@variable_set_proc, [new_value]).exec
  new_value
end