ruby-plsql 0.5.0 → 0.5.1
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.
- checksums.yaml +7 -0
- data/Gemfile +8 -6
- data/History.txt +14 -0
- data/README.md +28 -5
- data/Rakefile +4 -3
- data/VERSION +1 -1
- data/lib/plsql/jdbc_connection.rb +6 -4
- data/lib/plsql/oci_connection.rb +10 -1
- data/lib/plsql/procedure.rb +23 -8
- data/lib/plsql/schema.rb +10 -1
- data/ruby-plsql.gemspec +24 -20
- data/spec/plsql/connection_spec.rb +97 -97
- data/spec/plsql/package_spec.rb +9 -9
- data/spec/plsql/procedure_spec.rb +192 -192
- data/spec/plsql/schema_spec.rb +47 -46
- data/spec/plsql/sequence_spec.rb +7 -7
- data/spec/plsql/sql_statements_spec.rb +10 -10
- data/spec/plsql/table_spec.rb +50 -50
- data/spec/plsql/type_spec.rb +40 -39
- data/spec/plsql/variable_spec.rb +52 -52
- data/spec/plsql/version_spec.rb +1 -1
- data/spec/plsql/view_spec.rb +41 -41
- data/spec/spec_helper.rb +40 -17
- metadata +73 -41
data/spec/plsql/version_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe "Version" do
|
4
4
|
it "should return ruby-plsql version" do
|
5
|
-
PLSQL::VERSION.
|
5
|
+
expect(PLSQL::VERSION).to eq(File.read(File.dirname(__FILE__)+'/../../VERSION').chomp)
|
6
6
|
end
|
7
7
|
|
8
8
|
end
|
data/spec/plsql/view_spec.rb
CHANGED
@@ -44,15 +44,15 @@ describe "View" do
|
|
44
44
|
describe "find" do
|
45
45
|
|
46
46
|
it "should find existing view" do
|
47
|
-
PLSQL::View.find(plsql, :test_employees_v).
|
47
|
+
expect(PLSQL::View.find(plsql, :test_employees_v)).not_to be_nil
|
48
48
|
end
|
49
49
|
|
50
50
|
it "should not find nonexisting view" do
|
51
|
-
PLSQL::View.find(plsql, :qwerty123456).
|
51
|
+
expect(PLSQL::View.find(plsql, :qwerty123456)).to be_nil
|
52
52
|
end
|
53
53
|
|
54
54
|
it "should find existing view in schema" do
|
55
|
-
plsql.test_employees_v.
|
55
|
+
expect(plsql.test_employees_v).to be_instance_of(PLSQL::View)
|
56
56
|
end
|
57
57
|
|
58
58
|
end
|
@@ -68,11 +68,11 @@ describe "View" do
|
|
68
68
|
end
|
69
69
|
|
70
70
|
it "should find synonym to view" do
|
71
|
-
PLSQL::View.find(plsql, :test_employees_v_synonym).
|
71
|
+
expect(PLSQL::View.find(plsql, :test_employees_v_synonym)).not_to be_nil
|
72
72
|
end
|
73
73
|
|
74
74
|
it "should find view using synonym in schema" do
|
75
|
-
plsql.test_employees_v_synonym.
|
75
|
+
expect(plsql.test_employees_v_synonym).to be_instance_of(PLSQL::View)
|
76
76
|
end
|
77
77
|
|
78
78
|
end
|
@@ -80,11 +80,11 @@ describe "View" do
|
|
80
80
|
describe "public synonym" do
|
81
81
|
|
82
82
|
it "should find public synonym to view" do
|
83
|
-
PLSQL::View.find(plsql, :user_tables).
|
83
|
+
expect(PLSQL::View.find(plsql, :user_tables)).not_to be_nil
|
84
84
|
end
|
85
85
|
|
86
86
|
it "should find view using public synonym in schema" do
|
87
|
-
plsql.user_tables.
|
87
|
+
expect(plsql.user_tables).to be_instance_of(PLSQL::View)
|
88
88
|
end
|
89
89
|
|
90
90
|
end
|
@@ -92,11 +92,11 @@ describe "View" do
|
|
92
92
|
describe "columns" do
|
93
93
|
|
94
94
|
it "should get column names for view" do
|
95
|
-
plsql.test_employees_v.column_names.
|
95
|
+
expect(plsql.test_employees_v.column_names).to eq([:employee_id, :first_name, :last_name, :hire_date, :status])
|
96
96
|
end
|
97
97
|
|
98
98
|
it "should get columns metadata for view" do
|
99
|
-
plsql.test_employees_v.columns.
|
99
|
+
expect(plsql.test_employees_v.columns).to eq({
|
100
100
|
:employee_id => {
|
101
101
|
:position=>1, :data_type=>"NUMBER", :data_length=>22, :data_precision=>15, :data_scale=>0, :char_used=>nil,
|
102
102
|
:type_owner=>nil, :type_name=>nil, :sql_type_name=>nil, :nullable => false, :data_default => nil},
|
@@ -112,7 +112,7 @@ describe "View" do
|
|
112
112
|
:status => {
|
113
113
|
:position=>5, :data_type=>"VARCHAR2", :data_length=>1, :data_precision=>nil, :data_scale=>nil, :char_used=>"B",
|
114
114
|
:type_owner=>nil, :type_name=>nil, :sql_type_name=>nil, :nullable => true, :data_default => nil}
|
115
|
-
}
|
115
|
+
})
|
116
116
|
end
|
117
117
|
|
118
118
|
end
|
@@ -120,22 +120,22 @@ describe "View" do
|
|
120
120
|
describe "insert" do
|
121
121
|
it "should insert a record in view" do
|
122
122
|
plsql.test_employees_v.insert @employees.first
|
123
|
-
plsql.test_employees_v.all.
|
123
|
+
expect(plsql.test_employees_v.all).to eq([@employees.first])
|
124
124
|
end
|
125
125
|
|
126
126
|
it "should insert a record in view using partial list of columns" do
|
127
127
|
plsql.test_employees_v.insert @employees.first.except(:hire_date)
|
128
|
-
plsql.test_employees_v.all.
|
128
|
+
expect(plsql.test_employees_v.all).to eq([@employees.first.merge(:hire_date => nil)])
|
129
129
|
end
|
130
130
|
|
131
131
|
it "should insert default value from table definition if value not provided" do
|
132
132
|
plsql.test_employees_v.insert @employees.first.except(:status)
|
133
|
-
plsql.test_employees_v.all.
|
133
|
+
expect(plsql.test_employees_v.all).to eq([@employees.first.merge(:status => 'N')])
|
134
134
|
end
|
135
135
|
|
136
136
|
it "should insert array of records in view" do
|
137
137
|
plsql.test_employees_v.insert @employees
|
138
|
-
plsql.test_employees_v.all("ORDER BY employee_id").
|
138
|
+
expect(plsql.test_employees_v.all("ORDER BY employee_id")).to eq(@employees)
|
139
139
|
end
|
140
140
|
|
141
141
|
end
|
@@ -143,32 +143,32 @@ describe "View" do
|
|
143
143
|
describe "insert values" do
|
144
144
|
it "should insert a record with array of values" do
|
145
145
|
plsql.test_employees_v.insert_values @employees_all_values.first
|
146
|
-
plsql.test_employees_v.all.
|
146
|
+
expect(plsql.test_employees_v.all).to eq([@employees.first])
|
147
147
|
end
|
148
148
|
|
149
149
|
it "should insert a record with list of all fields and array of values" do
|
150
150
|
plsql.test_employees_v.insert_values @employees_all_fields, @employees_all_values.first
|
151
|
-
plsql.test_employees_v.all.
|
151
|
+
expect(plsql.test_employees_v.all).to eq([@employees.first])
|
152
152
|
end
|
153
153
|
|
154
154
|
it "should insert a record with list of some fields and array of values" do
|
155
155
|
plsql.test_employees_v.insert_values @employees_some_fields, @employees_some_values.first
|
156
|
-
plsql.test_employees_v.all.
|
156
|
+
expect(plsql.test_employees_v.all).to eq([@employees.first.merge(@employee_default_values)])
|
157
157
|
end
|
158
158
|
|
159
159
|
it "should insert many records with array of values" do
|
160
160
|
plsql.test_employees_v.insert_values *@employees_all_values
|
161
|
-
plsql.test_employees_v.all.
|
161
|
+
expect(plsql.test_employees_v.all).to eq(@employees)
|
162
162
|
end
|
163
163
|
|
164
164
|
it "should insert many records with list of all fields and array of values" do
|
165
165
|
plsql.test_employees_v.insert_values @employees_all_fields, *@employees_all_values
|
166
|
-
plsql.test_employees_v.all.
|
166
|
+
expect(plsql.test_employees_v.all).to eq(@employees)
|
167
167
|
end
|
168
168
|
|
169
169
|
it "should insert many records with list of some fields and array of values" do
|
170
170
|
plsql.test_employees_v.insert_values @employees_some_fields, *@employees_some_values
|
171
|
-
plsql.test_employees_v.all.
|
171
|
+
expect(plsql.test_employees_v.all).to eq(@employees.map{|e| e.merge(@employee_default_values)})
|
172
172
|
end
|
173
173
|
|
174
174
|
end
|
@@ -179,20 +179,20 @@ describe "View" do
|
|
179
179
|
end
|
180
180
|
|
181
181
|
it "should select first record in view" do
|
182
|
-
plsql.test_employees_v.select(:first, "ORDER BY employee_id").
|
183
|
-
plsql.test_employees_v.first("ORDER BY employee_id").
|
182
|
+
expect(plsql.test_employees_v.select(:first, "ORDER BY employee_id")).to eq(@employees.first)
|
183
|
+
expect(plsql.test_employees_v.first("ORDER BY employee_id")).to eq(@employees.first)
|
184
184
|
end
|
185
185
|
|
186
186
|
it "should select all records in view" do
|
187
|
-
plsql.test_employees_v.select(:all, "ORDER BY employee_id").
|
188
|
-
plsql.test_employees_v.all("ORDER BY employee_id").
|
189
|
-
plsql.test_employees_v.all(:order_by => :employee_id).
|
187
|
+
expect(plsql.test_employees_v.select(:all, "ORDER BY employee_id")).to eq(@employees)
|
188
|
+
expect(plsql.test_employees_v.all("ORDER BY employee_id")).to eq(@employees)
|
189
|
+
expect(plsql.test_employees_v.all(:order_by => :employee_id)).to eq(@employees)
|
190
190
|
end
|
191
191
|
|
192
192
|
it "should select record in view using WHERE condition" do
|
193
|
-
plsql.test_employees_v.select(:first, "WHERE employee_id = :1", @employees.first[:employee_id]).
|
194
|
-
plsql.test_employees_v.first("WHERE employee_id = :1", @employees.first[:employee_id]).
|
195
|
-
plsql.test_employees_v.first(:employee_id => @employees.first[:employee_id]).
|
193
|
+
expect(plsql.test_employees_v.select(:first, "WHERE employee_id = :1", @employees.first[:employee_id])).to eq(@employees.first)
|
194
|
+
expect(plsql.test_employees_v.first("WHERE employee_id = :1", @employees.first[:employee_id])).to eq(@employees.first)
|
195
|
+
expect(plsql.test_employees_v.first(:employee_id => @employees.first[:employee_id])).to eq(@employees.first)
|
196
196
|
end
|
197
197
|
|
198
198
|
it "should select record in view using :column => nil condition" do
|
@@ -200,18 +200,18 @@ describe "View" do
|
|
200
200
|
employee[:employee_id] = employee[:employee_id] + 1
|
201
201
|
employee[:hire_date] = nil
|
202
202
|
plsql.test_employees_v.insert employee
|
203
|
-
plsql.test_employees_v.first("WHERE hire_date IS NULL").
|
204
|
-
plsql.test_employees_v.first(:hire_date => nil).
|
203
|
+
expect(plsql.test_employees_v.first("WHERE hire_date IS NULL")).to eq(employee)
|
204
|
+
expect(plsql.test_employees_v.first(:hire_date => nil)).to eq(employee)
|
205
205
|
end
|
206
206
|
|
207
207
|
it "should count records in view" do
|
208
|
-
plsql.test_employees_v.select(:count).
|
209
|
-
plsql.test_employees_v.count.
|
208
|
+
expect(plsql.test_employees_v.select(:count)).to eq(@employees.size)
|
209
|
+
expect(plsql.test_employees_v.count).to eq(@employees.size)
|
210
210
|
end
|
211
211
|
|
212
212
|
it "should count records in view using condition" do
|
213
|
-
plsql.test_employees_v.select(:count, "WHERE employee_id <= :1", @employees[2][:employee_id]).
|
214
|
-
plsql.test_employees_v.count("WHERE employee_id <= :1", @employees[2][:employee_id]).
|
213
|
+
expect(plsql.test_employees_v.select(:count, "WHERE employee_id <= :1", @employees[2][:employee_id])).to eq(3)
|
214
|
+
expect(plsql.test_employees_v.count("WHERE employee_id <= :1", @employees[2][:employee_id])).to eq(3)
|
215
215
|
end
|
216
216
|
|
217
217
|
end
|
@@ -221,17 +221,17 @@ describe "View" do
|
|
221
221
|
employee_id = @employees.first[:employee_id]
|
222
222
|
plsql.test_employees_v.insert @employees.first
|
223
223
|
plsql.test_employees_v.update :first_name => 'Test', :where => {:employee_id => employee_id}
|
224
|
-
plsql.test_employees_v.first(:employee_id => employee_id)[:first_name].
|
224
|
+
expect(plsql.test_employees_v.first(:employee_id => employee_id)[:first_name]).to eq('Test')
|
225
225
|
end
|
226
226
|
|
227
227
|
it "should update a record in view using String WHERE condition" do
|
228
228
|
employee_id = @employees.first[:employee_id]
|
229
229
|
plsql.test_employees_v.insert @employees
|
230
230
|
plsql.test_employees_v.update :first_name => 'Test', :where => "employee_id = #{employee_id}"
|
231
|
-
plsql.test_employees_v.first(:employee_id => employee_id)[:first_name].
|
231
|
+
expect(plsql.test_employees_v.first(:employee_id => employee_id)[:first_name]).to eq('Test')
|
232
232
|
# all other records should not be changed
|
233
233
|
plsql.test_employees_v.all("WHERE employee_id > :1", employee_id) do |employee|
|
234
|
-
employee[:first_name].
|
234
|
+
expect(employee[:first_name]).not_to eq('Test')
|
235
235
|
end
|
236
236
|
end
|
237
237
|
|
@@ -239,7 +239,7 @@ describe "View" do
|
|
239
239
|
plsql.test_employees_v.insert @employees
|
240
240
|
plsql.test_employees_v.update :first_name => 'Test'
|
241
241
|
plsql.test_employees_v.all do |employee|
|
242
|
-
employee[:first_name].
|
242
|
+
expect(employee[:first_name]).to eq('Test')
|
243
243
|
end
|
244
244
|
end
|
245
245
|
|
@@ -250,14 +250,14 @@ describe "View" do
|
|
250
250
|
employee_id = @employees.first[:employee_id]
|
251
251
|
plsql.test_employees_v.insert @employees
|
252
252
|
plsql.test_employees_v.delete :employee_id => employee_id
|
253
|
-
plsql.test_employees_v.first(:employee_id => employee_id).
|
254
|
-
plsql.test_employees_v.all(:order_by => :employee_id).
|
253
|
+
expect(plsql.test_employees_v.first(:employee_id => employee_id)).to be_nil
|
254
|
+
expect(plsql.test_employees_v.all(:order_by => :employee_id)).to eq(@employees[1, @employees.size-1])
|
255
255
|
end
|
256
256
|
|
257
257
|
it "should delete all records from view" do
|
258
258
|
plsql.test_employees_v.insert @employees
|
259
259
|
plsql.test_employees_v.delete
|
260
|
-
plsql.test_employees_v.all.
|
260
|
+
expect(plsql.test_employees_v.all).to be_empty
|
261
261
|
end
|
262
262
|
end
|
263
263
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,9 +1,18 @@
|
|
1
1
|
require "rubygems"
|
2
2
|
require "bundler"
|
3
3
|
Bundler.setup(:default, :development)
|
4
|
+
require 'simplecov'
|
4
5
|
|
5
|
-
|
6
|
+
SimpleCov.configure do
|
7
|
+
load_profile 'root_filter'
|
8
|
+
load_profile 'test_frameworks'
|
9
|
+
end
|
10
|
+
|
11
|
+
ENV["COVERAGE"] && SimpleCov.start do
|
12
|
+
add_filter "/.rvm/"
|
13
|
+
end
|
6
14
|
|
15
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
7
16
|
require 'rspec'
|
8
17
|
|
9
18
|
unless ENV['NO_ACTIVERECORD']
|
@@ -15,8 +24,10 @@ end
|
|
15
24
|
require 'ruby-plsql'
|
16
25
|
|
17
26
|
DATABASE_NAME = ENV['DATABASE_NAME'] || 'orcl'
|
27
|
+
DATABASE_SERVICE_NAME = (defined?(JRUBY_VERSION) ? "/" : "") +
|
28
|
+
(ENV['DATABASE_SERVICE_NAME'] || DATABASE_NAME)
|
18
29
|
DATABASE_HOST = ENV['DATABASE_HOST'] || 'localhost'
|
19
|
-
DATABASE_PORT = ENV['DATABASE_PORT'] || 1521
|
30
|
+
DATABASE_PORT = (ENV['DATABASE_PORT'] || 1521).to_i
|
20
31
|
DATABASE_USERS_AND_PASSWORDS = [
|
21
32
|
[ENV['DATABASE_USER'] || 'hr', ENV['DATABASE_PASSWORD'] || 'hr'],
|
22
33
|
[ENV['DATABASE_USER2'] || 'arunit', ENV['DATABASE_PASSWORD2'] || 'arunit']
|
@@ -24,32 +35,44 @@ DATABASE_USERS_AND_PASSWORDS = [
|
|
24
35
|
# specify which database version is used (will be verified in one test)
|
25
36
|
DATABASE_VERSION = ENV['DATABASE_VERSION'] || '10.2.0.4'
|
26
37
|
|
38
|
+
def get_eazy_connect_url(svc_separator = "")
|
39
|
+
"#{DATABASE_HOST}:#{DATABASE_PORT}#{svc_separator}#{DATABASE_SERVICE_NAME}"
|
40
|
+
end
|
41
|
+
|
42
|
+
def get_connection_url
|
43
|
+
unless defined?(JRUBY_VERSION)
|
44
|
+
(ENV['DATABASE_USE_TNS'] == 'NO') ? get_eazy_connect_url("/") : DATABASE_NAME
|
45
|
+
else
|
46
|
+
"jdbc:oracle:thin:@#{get_eazy_connect_url}"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
27
50
|
def get_connection(user_number = 0)
|
28
51
|
database_user, database_password = DATABASE_USERS_AND_PASSWORDS[user_number]
|
29
52
|
unless defined?(JRUBY_VERSION)
|
30
|
-
|
31
|
-
OCI8.new(database_user, database_password,
|
32
|
-
# if connection fails then sleep 5 seconds and retry
|
33
|
-
rescue OCIError
|
34
|
-
sleep 5
|
35
|
-
OCI8.new(database_user, database_password, DATABASE_NAME)
|
53
|
+
try_to_connect(OCIError) do
|
54
|
+
OCI8.new(database_user, database_password, get_connection_url)
|
36
55
|
end
|
37
56
|
else
|
38
|
-
|
39
|
-
java.sql.DriverManager.getConnection(
|
40
|
-
database_user, database_password)
|
41
|
-
# if connection fails then sleep 5 seconds and retry
|
42
|
-
rescue NativeException
|
43
|
-
sleep 5
|
44
|
-
java.sql.DriverManager.getConnection("jdbc:oracle:thin:@#{DATABASE_HOST}:#{DATABASE_PORT}:#{DATABASE_NAME}",
|
45
|
-
database_user, database_password)
|
57
|
+
try_to_connect(NativeException) do
|
58
|
+
java.sql.DriverManager.getConnection(get_connection_url, database_user, database_password)
|
46
59
|
end
|
47
60
|
end
|
48
61
|
end
|
49
62
|
|
63
|
+
def try_to_connect(exception)
|
64
|
+
begin
|
65
|
+
yield
|
66
|
+
# if connection fails then sleep 5 seconds and retry
|
67
|
+
rescue exception
|
68
|
+
sleep 5
|
69
|
+
yield
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
50
73
|
CONNECTION_PARAMS = {
|
51
74
|
:adapter => "oracle_enhanced",
|
52
|
-
:database =>
|
75
|
+
:database => DATABASE_SERVICE_NAME,
|
53
76
|
:host => DATABASE_HOST,
|
54
77
|
:port => DATABASE_PORT,
|
55
78
|
:username => DATABASE_USERS_AND_PASSWORDS[0][0],
|
metadata
CHANGED
@@ -1,79 +1,115 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-plsql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
5
|
-
prerelease:
|
4
|
+
version: 0.5.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Raimonds Simanovskis
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-10-12 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: jeweler
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
19
|
+
version: 2.0.1
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.0.1
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: rspec
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
|
-
- - ~>
|
31
|
+
- - "~>"
|
31
32
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
33
|
+
version: '3.1'
|
33
34
|
type: :development
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3.1'
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
42
|
name: activerecord
|
38
|
-
requirement:
|
39
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
40
44
|
requirements:
|
41
|
-
- -
|
45
|
+
- - "<"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 4.2.0
|
48
|
+
- - ">="
|
42
49
|
- !ruby/object:Gem::Version
|
43
50
|
version: 3.2.3
|
44
51
|
type: :development
|
45
52
|
prerelease: false
|
46
|
-
version_requirements:
|
53
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - "<"
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: 4.2.0
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 3.2.3
|
47
61
|
- !ruby/object:Gem::Dependency
|
48
62
|
name: activerecord-oracle_enhanced-adapter
|
49
|
-
requirement:
|
50
|
-
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "<"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 1.6.0
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 1.4.1
|
71
|
+
type: :development
|
72
|
+
prerelease: false
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
74
|
requirements:
|
52
|
-
- -
|
75
|
+
- - "<"
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 1.6.0
|
78
|
+
- - ">="
|
53
79
|
- !ruby/object:Gem::Version
|
54
80
|
version: 1.4.1
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: simplecov
|
83
|
+
requirement: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - ">="
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
55
88
|
type: :development
|
56
89
|
prerelease: false
|
57
|
-
version_requirements:
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
58
95
|
- !ruby/object:Gem::Dependency
|
59
96
|
name: ruby-oci8
|
60
|
-
requirement:
|
61
|
-
none: false
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
62
98
|
requirements:
|
63
|
-
- -
|
99
|
+
- - "~>"
|
64
100
|
- !ruby/object:Gem::Version
|
65
|
-
version:
|
101
|
+
version: 2.1.2
|
66
102
|
type: :development
|
67
103
|
prerelease: false
|
68
|
-
version_requirements:
|
69
|
-
|
70
|
-
|
71
|
-
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - "~>"
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: 2.1.2
|
109
|
+
description: |
|
110
|
+
ruby-plsql gem provides simple Ruby API for calling Oracle PL/SQL procedures.
|
72
111
|
It could be used both for accessing Oracle PL/SQL API procedures in legacy applications
|
73
|
-
|
74
112
|
as well as it could be used to create PL/SQL unit tests using Ruby testing libraries.
|
75
|
-
|
76
|
-
'
|
77
113
|
email: raimonds.simanovskis@gmail.com
|
78
114
|
executables: []
|
79
115
|
extensions: []
|
@@ -120,29 +156,25 @@ files:
|
|
120
156
|
- spec/spec_helper.rb
|
121
157
|
homepage: http://github.com/rsim/ruby-plsql
|
122
158
|
licenses: []
|
159
|
+
metadata: {}
|
123
160
|
post_install_message:
|
124
161
|
rdoc_options: []
|
125
162
|
require_paths:
|
126
163
|
- lib
|
127
164
|
required_ruby_version: !ruby/object:Gem::Requirement
|
128
|
-
none: false
|
129
165
|
requirements:
|
130
|
-
- -
|
166
|
+
- - ">="
|
131
167
|
- !ruby/object:Gem::Version
|
132
168
|
version: '0'
|
133
|
-
segments:
|
134
|
-
- 0
|
135
|
-
hash: 4542773542064598354
|
136
169
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
170
|
requirements:
|
139
|
-
- -
|
171
|
+
- - ">="
|
140
172
|
- !ruby/object:Gem::Version
|
141
173
|
version: '0'
|
142
174
|
requirements: []
|
143
175
|
rubyforge_project:
|
144
|
-
rubygems_version:
|
176
|
+
rubygems_version: 2.2.2
|
145
177
|
signing_key:
|
146
|
-
specification_version:
|
178
|
+
specification_version: 4
|
147
179
|
summary: Ruby API for calling Oracle PL/SQL procedures.
|
148
180
|
test_files: []
|