Skip to content

Commit 9bea42c

Browse files
committed
Merge pull request #51 from swisslife-select
PLSQL::Package#procedure_defined? to test whether a given procedure is available
2 parents 69af472 + 096aa2e commit 9bea42c

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

lib/plsql/package.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ def initialize(schema, package, override_schema_name = nil)
3737
@package_objects = {}
3838
end
3939

40+
def procedure_defined?(name)
41+
PLSQL::Procedure.find(@schema, name, @package) ? true : false
42+
end
43+
4044
private
4145

4246
def method_missing(method, *args, &block)

spec/plsql/package_spec.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,14 @@
4747
expect(plsql.test_package.test_procedure('xxx')).to eq('XXX')
4848
end
4949

50+
it "should report an existing procedure as existing" do
51+
expect(plsql.test_package.procedure_defined?(:test_procedure)).to be_truthy
52+
end
53+
54+
it "should report an inexistent procedure as not existing" do
55+
expect(plsql.test_package.procedure_defined?(:inexistent_procedure)).to be_falsey
56+
end
57+
5058
describe "variables" do
5159
it "should set and get package variable value" do
5260
plsql.test_package.test_variable = 1

0 commit comments

Comments
 (0)