Module: PLSQL::VariableClassMethods
- Included in:
- Variable
- Defined in:
- lib/plsql/variable.rb
Overview
:nodoc:
Instance Method Summary collapse
Instance Method Details
#find(schema, variable, package, override_schema_name = nil) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/plsql/variable.rb', line 4 def find(schema, variable, package, override_schema_name = nil) variable_upcase = variable.to_s.upcase schema.select_all( "SELECT text FROM all_source WHERE owner = :owner AND name = :object_name AND type = 'PACKAGE' AND UPPER(text) LIKE :variable_name", override_schema_name || schema.schema_name, package, "%#{variable_upcase}%").each do |row| if row[0] =~ /^\s*#{variable_upcase}\s+(CONSTANT\s+)?([A-Z0-9_. %]+(\([\w\s,]+\))?)\s*(NOT\s+NULL)?\s*((:=|DEFAULT).*)?;\s*(--.*)?$/i return new(schema, variable, package, $2.strip, override_schema_name) end end nil end |