ruby-plsql 0.4.4 → 0.5.0

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.
@@ -178,6 +178,11 @@ end
178
178
  describe "ActiveRecord connection" do
179
179
  before(:all) do
180
180
  ActiveRecord::Base.establish_connection(CONNECTION_PARAMS)
181
+ class TestBaseModel < ActiveRecord::Base
182
+ self.abstract_class = true
183
+ end
184
+ class TestModel < TestBaseModel
185
+ end
181
186
  end
182
187
 
183
188
  before(:each) do
@@ -204,6 +209,16 @@ describe "ActiveRecord connection" do
204
209
  it "should have the same connection as default schema" do
205
210
  plsql.hr.connection.should == plsql.connection
206
211
  end
212
+
213
+ it "should accept inherited ActiveRecord class" do
214
+ plsql.activerecord_class = TestBaseModel
215
+ plsql.schema_name.should == 'HR'
216
+ end
217
+
218
+ it "should accept subclass of inherited ActiveRecord class" do
219
+ plsql.activerecord_class = TestModel
220
+ plsql.schema_name.should == 'HR'
221
+ end
207
222
  end if defined?(ActiveRecord)
208
223
 
209
224
  describe "DBMS_OUTPUT logging" do
@@ -4,16 +4,9 @@ require 'spec_helper'
4
4
 
5
5
  describe "Package variables /" do
6
6
 
7
- before(:all) do
8
- plsql.connect! CONNECTION_PARAMS
9
- end
10
-
11
- after(:all) do
12
- plsql.logoff
13
- end
14
-
15
7
  describe "String" do
16
8
  before(:all) do
9
+ plsql.connect! CONNECTION_PARAMS
17
10
  plsql.execute <<-SQL
18
11
  CREATE OR REPLACE PACKAGE test_package IS
19
12
  varchar2_variable VARCHAR2(50);
@@ -37,6 +30,7 @@ describe "Package variables /" do
37
30
 
38
31
  after(:all) do
39
32
  plsql.execute "DROP PACKAGE test_package"
33
+ plsql.logoff
40
34
  end
41
35
 
42
36
  it "should set and get VARCHAR2 variable" do
@@ -55,17 +49,33 @@ describe "Package variables /" do
55
49
  plsql.test_package.varchar2_default3.should == 'default'
56
50
  end
57
51
 
58
- it "should set and get VARCHAR2(n CHAR) variable" do
59
- plsql.test_package.varchar2_3_char = 'āčē'
60
- plsql.test_package.varchar2_3_char.should == 'āčē'
61
- lambda { plsql.test_package.varchar2_3_char = 'aceg' }.should raise_error(/buffer too small/)
62
- end
52
+ describe "with character or byte limit" do
53
+ before(:each) do
54
+ if !defined?(JRUBY_VERSION) && OCI8.properties.has_key?(:length_semantics)
55
+ @original_length_semantics = OCI8.properties[:length_semantics]
56
+ OCI8.properties[:length_semantics] = :char
57
+ end
58
+ end
59
+
60
+ after(:each) do
61
+ if !defined?(JRUBY_VERSION) && OCI8.properties.has_key?(:length_semantics)
62
+ OCI8.properties[:length_semantics] = @original_length_semantics
63
+ end
64
+ end
65
+
66
+ it "should set and get VARCHAR2(n CHAR) variable" do
67
+ plsql.test_package.varchar2_3_char = 'āčē'
68
+ plsql.test_package.varchar2_3_char.should == 'āčē'
69
+ lambda { plsql.test_package.varchar2_3_char = 'aceg' }.should raise_error(/buffer too small/)
70
+ end
71
+
72
+ it "should set and get VARCHAR2(n BYTE) variable" do
73
+ plsql.test_package.varchar2_3_byte = 'ace'
74
+ plsql.test_package.varchar2_3_byte.should == 'ace'
75
+ lambda { plsql.test_package.varchar2_3_byte = 'āce' }.should raise_error(/buffer too small/)
76
+ lambda { plsql.test_package.varchar2_3_byte = 'aceg' }.should raise_error(/buffer too small/)
77
+ end
63
78
 
64
- it "should set and get VARCHAR2(n BYTE) variable" do
65
- plsql.test_package.varchar2_3_byte = 'ace'
66
- plsql.test_package.varchar2_3_byte.should == 'ace'
67
- lambda { plsql.test_package.varchar2_3_byte = 'āce' }.should raise_error(/buffer too small/)
68
- lambda { plsql.test_package.varchar2_3_byte = 'aceg' }.should raise_error(/buffer too small/)
69
79
  end
70
80
 
71
81
  it "should set and get CHAR variable" do
@@ -87,6 +97,7 @@ describe "Package variables /" do
87
97
 
88
98
  describe "Numeric" do
89
99
  before(:all) do
100
+ plsql.connect! CONNECTION_PARAMS
90
101
  plsql.execute <<-SQL
91
102
  CREATE OR REPLACE PACKAGE test_package IS
92
103
  integer_variable INTEGER;
@@ -107,6 +118,7 @@ describe "Package variables /" do
107
118
 
108
119
  after(:all) do
109
120
  plsql.execute "DROP PACKAGE test_package"
121
+ plsql.logoff
110
122
  end
111
123
 
112
124
  it "should set and get INTEGER variable" do
@@ -152,6 +164,7 @@ describe "Package variables /" do
152
164
 
153
165
  describe "Date and Time" do
154
166
  before(:all) do
167
+ plsql.connect! CONNECTION_PARAMS
155
168
  plsql.execute <<-SQL
156
169
  CREATE OR REPLACE PACKAGE test_package IS
157
170
  date_variable DATE;
@@ -171,6 +184,7 @@ describe "Package variables /" do
171
184
 
172
185
  after(:all) do
173
186
  plsql.execute "DROP PACKAGE test_package"
187
+ plsql.logoff
174
188
  end
175
189
 
176
190
  it "should set and get DATE variable" do
@@ -205,6 +219,7 @@ describe "Package variables /" do
205
219
 
206
220
  describe "LOB" do
207
221
  before(:all) do
222
+ plsql.connect! CONNECTION_PARAMS
208
223
  plsql.execute <<-SQL
209
224
  CREATE OR REPLACE PACKAGE test_package IS
210
225
  clob_variable CLOB;
@@ -222,6 +237,7 @@ describe "Package variables /" do
222
237
 
223
238
  after(:all) do
224
239
  plsql.execute "DROP PACKAGE test_package"
240
+ plsql.logoff
225
241
  end
226
242
 
227
243
  it "should set and get CLOB variable" do
@@ -247,6 +263,7 @@ describe "Package variables /" do
247
263
 
248
264
  describe "table column type" do
249
265
  before(:all) do
266
+ plsql.connect! CONNECTION_PARAMS
250
267
  plsql.execute <<-SQL
251
268
  CREATE TABLE test_employees (
252
269
  employee_id NUMBER(15),
@@ -273,6 +290,7 @@ describe "Package variables /" do
273
290
  after(:all) do
274
291
  plsql.execute "DROP PACKAGE test_package"
275
292
  plsql.execute "DROP TABLE test_employees"
293
+ plsql.logoff
276
294
  end
277
295
 
278
296
  it "should set and get NUMBER variable" do
@@ -295,6 +313,7 @@ describe "Package variables /" do
295
313
 
296
314
  describe "constants" do
297
315
  before(:all) do
316
+ plsql.connect! CONNECTION_PARAMS
298
317
  plsql.execute <<-SQL
299
318
  CREATE OR REPLACE PACKAGE test_package IS
300
319
  integer_constant CONSTANT NUMBER(1) := 1;
@@ -310,6 +329,7 @@ describe "Package variables /" do
310
329
 
311
330
  after(:all) do
312
331
  plsql.execute "DROP PACKAGE test_package"
332
+ plsql.logoff
313
333
  end
314
334
 
315
335
  it "should get NUMBER constant" do
@@ -330,6 +350,7 @@ describe "Package variables /" do
330
350
 
331
351
  describe "object type" do
332
352
  before(:all) do
353
+ plsql.connect! CONNECTION_PARAMS
333
354
  plsql.execute "DROP TYPE t_employee" rescue nil
334
355
  plsql.execute "DROP TYPE t_phones" rescue nil
335
356
  plsql.execute <<-SQL
@@ -388,6 +409,7 @@ describe "Package variables /" do
388
409
  plsql.execute "DROP TYPE t_address"
389
410
  plsql.execute "DROP TYPE t_phones"
390
411
  plsql.execute "DROP TYPE t_phone"
412
+ plsql.logoff
391
413
  end
392
414
 
393
415
  it "should set and get object type variable" do
@@ -409,6 +431,7 @@ describe "Package variables /" do
409
431
 
410
432
  describe "table row type" do
411
433
  before(:all) do
434
+ plsql.connect! CONNECTION_PARAMS
412
435
  plsql.execute <<-SQL
413
436
  CREATE TABLE test_employees (
414
437
  employee_id NUMBER(15),
@@ -439,6 +462,7 @@ describe "Package variables /" do
439
462
  after(:all) do
440
463
  plsql.execute "DROP PACKAGE test_package"
441
464
  plsql.execute "DROP TABLE test_employees"
465
+ plsql.logoff
442
466
  end
443
467
 
444
468
  it "should set and get table ROWTYPE variable" do
@@ -450,6 +474,7 @@ describe "Package variables /" do
450
474
 
451
475
  describe "booleans" do
452
476
  before(:all) do
477
+ plsql.connect! CONNECTION_PARAMS
453
478
  plsql.execute <<-SQL
454
479
  CREATE OR REPLACE PACKAGE test_package IS
455
480
  boolean_variable BOOLEAN;
@@ -464,6 +489,7 @@ describe "Package variables /" do
464
489
 
465
490
  after(:all) do
466
491
  plsql.execute "DROP PACKAGE test_package"
492
+ plsql.logoff
467
493
  end
468
494
 
469
495
  it "should set and get BOOLEAN variable" do
@@ -476,4 +502,4 @@ describe "Package variables /" do
476
502
 
477
503
  end
478
504
 
479
- end
505
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,20 +1,10 @@
1
1
  require "rubygems"
2
-
3
- # Set up gems listed in the Gemfile.
4
- gemfile = File.expand_path('../../Gemfile', __FILE__)
5
- begin
6
- ENV['BUNDLE_GEMFILE'] = gemfile
7
- require 'bundler'
8
- Bundler.setup
9
- rescue Bundler::GemNotFound => e
10
- STDERR.puts e.message
11
- STDERR.puts "Try running `bundle install`."
12
- exit!
13
- end if File.exist?(gemfile)
2
+ require "bundler"
3
+ Bundler.setup(:default, :development)
14
4
 
15
5
  $:.unshift(File.dirname(__FILE__) + '/../lib')
16
6
 
17
- require 'spec'
7
+ require 'rspec'
18
8
 
19
9
  unless ENV['NO_ACTIVERECORD']
20
10
  require 'active_record'
metadata CHANGED
@@ -1,89 +1,89 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ruby-plsql
3
- version: !ruby/object:Gem::Version
4
- hash: 7
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 4
9
- - 4
10
- version: 0.4.4
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.0
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Raimonds Simanovskis
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2010-10-06 00:00:00 +03:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- name: rspec
12
+ date: 2012-04-16 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: jeweler
16
+ requirement: &2161503140 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 1.8.3
22
+ type: :development
23
23
  prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
24
+ version_requirements: *2161503140
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ requirement: &2161502660 !ruby/object:Gem::Requirement
25
28
  none: false
26
- requirements:
29
+ requirements:
27
30
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 27
30
- segments:
31
- - 1
32
- - 3
33
- - 0
34
- version: 1.3.0
31
+ - !ruby/object:Gem::Version
32
+ version: '2.9'
35
33
  type: :development
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: activerecord
39
34
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
35
+ version_requirements: *2161502660
36
+ - !ruby/object:Gem::Dependency
37
+ name: activerecord
38
+ requirement: &2161502180 !ruby/object:Gem::Requirement
41
39
  none: false
42
- requirements:
43
- - - "="
44
- - !ruby/object:Gem::Version
45
- hash: 19
46
- segments:
47
- - 2
48
- - 3
49
- - 8
50
- version: 2.3.8
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 3.2.3
51
44
  type: :development
52
- version_requirements: *id002
53
- - !ruby/object:Gem::Dependency
54
- name: activerecord-oracle_enhanced-adapter
55
45
  prerelease: false
56
- requirement: &id003 !ruby/object:Gem::Requirement
46
+ version_requirements: *2161502180
47
+ - !ruby/object:Gem::Dependency
48
+ name: activerecord-oracle_enhanced-adapter
49
+ requirement: &2161501700 !ruby/object:Gem::Requirement
57
50
  none: false
58
- requirements:
51
+ requirements:
59
52
  - - ~>
60
- - !ruby/object:Gem::Version
61
- hash: 25
62
- segments:
63
- - 1
64
- - 3
65
- - 1
66
- version: 1.3.1
53
+ - !ruby/object:Gem::Version
54
+ version: 1.4.1
67
55
  type: :development
68
- version_requirements: *id003
69
- description: |
70
- ruby-plsql gem provides simple Ruby API for calling Oracle PL/SQL procedures.
56
+ prerelease: false
57
+ version_requirements: *2161501700
58
+ - !ruby/object:Gem::Dependency
59
+ name: ruby-oci8
60
+ requirement: &2161501220 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *2161501220
69
+ description: ! 'ruby-plsql gem provides simple Ruby API for calling Oracle PL/SQL
70
+ procedures.
71
+
71
72
  It could be used both for accessing Oracle PL/SQL API procedures in legacy applications
73
+
72
74
  as well as it could be used to create PL/SQL unit tests using Ruby testing libraries.
73
75
 
76
+ '
74
77
  email: raimonds.simanovskis@gmail.com
75
78
  executables: []
76
-
77
79
  extensions: []
78
-
79
- extra_rdoc_files:
80
- - README.rdoc
81
- files:
82
- - .gitignore
80
+ extra_rdoc_files:
81
+ - README.md
82
+ files:
83
83
  - Gemfile
84
84
  - History.txt
85
85
  - License.txt
86
- - README.rdoc
86
+ - README.md
87
87
  - Rakefile
88
88
  - VERSION
89
89
  - lib/plsql/connection.rb
@@ -118,50 +118,31 @@ files:
118
118
  - spec/plsql/view_spec.rb
119
119
  - spec/spec.opts
120
120
  - spec/spec_helper.rb
121
- has_rdoc: true
122
121
  homepage: http://github.com/rsim/ruby-plsql
123
122
  licenses: []
124
-
125
123
  post_install_message:
126
- rdoc_options:
127
- - --charset=UTF-8
128
- require_paths:
124
+ rdoc_options: []
125
+ require_paths:
129
126
  - lib
130
- required_ruby_version: !ruby/object:Gem::Requirement
127
+ required_ruby_version: !ruby/object:Gem::Requirement
131
128
  none: false
132
- requirements:
133
- - - ">="
134
- - !ruby/object:Gem::Version
135
- hash: 3
136
- segments:
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ segments:
137
134
  - 0
138
- version: "0"
139
- required_rubygems_version: !ruby/object:Gem::Requirement
135
+ hash: 4542773542064598354
136
+ required_rubygems_version: !ruby/object:Gem::Requirement
140
137
  none: false
141
- requirements:
142
- - - ">="
143
- - !ruby/object:Gem::Version
144
- hash: 3
145
- segments:
146
- - 0
147
- version: "0"
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
148
142
  requirements: []
149
-
150
143
  rubyforge_project:
151
- rubygems_version: 1.3.7
144
+ rubygems_version: 1.8.11
152
145
  signing_key:
153
146
  specification_version: 3
154
147
  summary: Ruby API for calling Oracle PL/SQL procedures.
155
- test_files:
156
- - spec/plsql/connection_spec.rb
157
- - spec/plsql/package_spec.rb
158
- - spec/plsql/procedure_spec.rb
159
- - spec/plsql/schema_spec.rb
160
- - spec/plsql/sequence_spec.rb
161
- - spec/plsql/sql_statements_spec.rb
162
- - spec/plsql/table_spec.rb
163
- - spec/plsql/type_spec.rb
164
- - spec/plsql/variable_spec.rb
165
- - spec/plsql/version_spec.rb
166
- - spec/plsql/view_spec.rb
167
- - spec/spec_helper.rb
148
+ test_files: []