scenic-oracle_adapter 1.0.1 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fc14694dd15934c22a25e20481285d8f8a7c8ea7a4024d6521dd36c9b7696d8a
4
- data.tar.gz: abdf33349c67895ee70f7e76ef258aceff53682a09160e5a09749235feb562f4
3
+ metadata.gz: 90cced87a95b6ccb71157a1c48cb6853807b8056e63f162a9bb029ca395ca2e9
4
+ data.tar.gz: 4f8622335a56bb5790762bf157bedc80fa36f63273b8f7231397b10d44dfd1f3
5
5
  SHA512:
6
- metadata.gz: 89697e345b111efa52cb3273bcfdde6ff59dc7aec623fe29b03259d2cb39938a124bfa7f91a4144a4c89c9392bc2d5d2be1f88e1c37a07b87ba1848be846416e
7
- data.tar.gz: 945348558a3fb40f0a9714c3841a1a0f946787f781eed129d031408c56d050f3dfaa77a0fc0926b64063b2845b6df0dc40a6aec5b93ee03c038124201cb9b68f
6
+ metadata.gz: cb32bae31161bb72aa561fd637702ee9b64a1d148dbc0129ded0eda8cf6fd6412879d2d9611fbd1073fc849e859c10efadf104c3a4193d4ac95ea2f522a84ad1
7
+ data.tar.gz: 44c8b878d942b249fbfb444068ad493b7b678cb56c60305c6551ec60699048bb92d2ad6dfd59b9c890ea64cc1d4bec4737b6f0adc11dc7c699c46e7b5c7b9e5e
@@ -0,0 +1,19 @@
1
+ name: CI
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+
7
+ build:
8
+
9
+ runs-on: ubuntu-latest
10
+
11
+ steps:
12
+ - uses: actions/checkout@v2
13
+ - name: Login to Docker Hub
14
+ uses: docker/login-action@v1
15
+ with:
16
+ username: ${{ secrets.DOCKER_HUB_USERNAME }}
17
+ password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
18
+ - name: Run tests
19
+ run: docker-compose run gem rspec
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: "2.3"
2
+ TargetRubyVersion: "2.5"
3
3
 
4
4
  # Use double quotes
5
5
  Style/StringLiterals:
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # scenic-oracle_adapter [![Build Status](https://travis-ci.org/cdinger/scenic-oracle_adapter.svg?branch=master)](https://travis-ci.org/cdinger/scenic-oracle_adapter)
1
+ # scenic-oracle_adapter [![Build Status](https://github.com/cdinger/scenic-oracle_adapter/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/cdinger/scenic-oracle_adapter/actions/workflows/ci.yml?query=branch%3Amaster)
2
2
 
3
- An Oracle adapter for Thoughtbot's [scenic](https://github.com/thoughtbot/scenic) rubygem.
3
+ An Oracle adapter for the [scenic](https://github.com/scenic-views/scenic) rubygem.
4
4
 
5
5
  ## Installation
6
6
 
@@ -26,11 +26,16 @@ end
26
26
 
27
27
  ## Development
28
28
 
29
- While you can use any Oracle instance to run the test suite, it's easiest to use Docker and docker-compose.
29
+ While you can use any Oracle instance for development, it's easiest to use Docker and docker-compose.
30
30
 
31
- After checking out the repo, start the Oracle instance by running `docker-compose up -d`. After that, you can
32
- run `docker-compose exec gem bin/setup` to install dependencies. Then, run `docker-compose exec gem bin/test` (or `rspec`) to run the tests.
33
- You can also run `docker-compose exec gem bin/console` for an interactive prompt that will allow you to experiment.
31
+ Note that the Oracle container takes up to two minutes to start and become available. If you're doing active development you probably want to start the containers in detached mode: `docker-compose up -d`. This starts everything in the background and allows you to use `docker-compose exec` to run commands on the already running containers:
32
+
33
+ - Run specs: `docker-compose exec gem bin/test`
34
+ - Open a console: `docker-compose exec gem bin/console`
35
+
36
+ ## Tests
37
+
38
+ If you just want to run the test suite you can use `docker-compose run --rm gem bin/test`. Again, because the Oracle container takes so long to start up, the first execution will take a while. The test suite will wait for the database container to become available. Subsequent executions will be faster.
34
39
 
35
40
  By default, the test suite will attempt to connect to a local docker Oracle instance (see `spec/spec_helper.rb` for connection details).
36
41
  You can override the database URL by supplying a value to the `DATABASE_URL` environment variable.
data/docker-compose.yml CHANGED
@@ -1,11 +1,11 @@
1
1
  version: '3'
2
2
  services:
3
3
  db:
4
- image: "container-registry.oracle.com/database/enterprise:12.2.0.1-slim"
4
+ image: store/oracle/database-enterprise:12.2.0.1
5
5
  volumes:
6
6
  - db:/ORCL
7
7
  ports:
8
- - "1521:1521"
8
+ - 1521:1521
9
9
  gem:
10
10
  build: .
11
11
  volumes:
@@ -8,7 +8,11 @@ module Scenic
8
8
  class Oracle
9
9
  class Railtie < Rails::Railtie
10
10
  ActiveSupport.on_load(:active_record) do
11
- ActiveRecord::ConnectionAdapters::OracleEnhanced::SchemaDumper.prepend Scenic::SchemaDumper
11
+ if defined?(ActiveRecord::ConnectionAdapters::OracleEnhancedSchemaDumper)
12
+ ActiveRecord::ConnectionAdapters::OracleEnhancedSchemaDumper.prepend Scenic::SchemaDumper
13
+ else
14
+ ActiveRecord::ConnectionAdapters::OracleEnhanced::SchemaDumper.prepend Scenic::SchemaDumper
15
+ end
12
16
  end
13
17
  end
14
18
  end
@@ -32,8 +32,8 @@ module Scenic
32
32
  create_view(name, definition)
33
33
  end
34
34
 
35
- def create_materialized_view(name, definition)
36
- execute("create materialized view #{quote_table_name(name)} as #{definition}")
35
+ def create_materialized_view(name, definition, no_data: false)
36
+ execute("create materialized view #{quote_table_name(name)} #{'build deferred' if no_data} as #{definition}")
37
37
  end
38
38
 
39
39
  def update_materialized_view(name, definition)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Scenic
4
4
  module OracleAdapter
5
- VERSION = "1.0.1"
5
+ VERSION = "1.1.1"
6
6
  end
7
7
  end
@@ -22,12 +22,12 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ["lib"]
24
24
 
25
- spec.add_dependency "scenic", "~> 1.4.1"
25
+ spec.add_dependency "scenic", "~> 1.5.4"
26
26
  spec.add_dependency "activerecord-oracle_enhanced-adapter", ">= 1.5.0"
27
- spec.add_dependency "ruby-oci8", "~> 2.2"
28
27
 
29
28
  spec.add_development_dependency "bundler", "~> 2.0"
30
29
  spec.add_development_dependency "rake", ">= 12.3.3"
31
30
  spec.add_development_dependency "rspec", "~> 3.0"
32
31
  spec.add_development_dependency "rubocop", ">= 0.49.0"
32
+ spec.add_development_dependency "ruby-oci8", "~> 2.2"
33
33
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scenic-oracle_adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Dinger
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-04-07 00:00:00.000000000 Z
11
+ date: 2021-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: scenic
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.4.1
19
+ version: 1.5.4
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.4.1
26
+ version: 1.5.4
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activerecord-oracle_enhanced-adapter
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.5.0
41
- - !ruby/object:Gem::Dependency
42
- name: ruby-oci8
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '2.2'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '2.2'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: bundler
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -108,20 +94,31 @@ dependencies:
108
94
  - - ">="
109
95
  - !ruby/object:Gem::Version
110
96
  version: 0.49.0
111
- description:
97
+ - !ruby/object:Gem::Dependency
98
+ name: ruby-oci8
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2.2'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '2.2'
111
+ description:
112
112
  email:
113
113
  - chris@houseofding.com
114
114
  executables: []
115
115
  extensions: []
116
116
  extra_rdoc_files: []
117
117
  files:
118
+ - ".github/workflows/ci.yml"
118
119
  - ".gitignore"
119
120
  - ".rspec"
120
121
  - ".rubocop.yml"
121
- - ".travis.yml"
122
- - ".travis/oracle/download.sh"
123
- - ".travis/oracle/install.sh"
124
- - ".travis/setup_accounts.sh"
125
122
  - CODE_OF_CONDUCT.md
126
123
  - Dockerfile
127
124
  - Gemfile
@@ -145,7 +142,7 @@ homepage: https://github.com/cdinger/scenic-oracle_adapter
145
142
  licenses:
146
143
  - MIT
147
144
  metadata: {}
148
- post_install_message:
145
+ post_install_message:
149
146
  rdoc_options: []
150
147
  require_paths:
151
148
  - lib
@@ -160,8 +157,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
157
  - !ruby/object:Gem::Version
161
158
  version: '0'
162
159
  requirements: []
163
- rubygems_version: 3.1.2
164
- signing_key:
160
+ rubygems_version: 3.2.15
161
+ signing_key:
165
162
  specification_version: 4
166
163
  summary: Oracle adapter for thoughtbot/scenic
167
164
  test_files: []
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- cd "$(dirname "$(readlink -f "$0")")"
4
-
5
- deb_file=oracle-xe_11.2.0-1.0_amd64.deb
6
-
7
- git clone https://github.com/wnameless/docker-oracle-xe-11g.git
8
-
9
- cd docker-oracle-xe-11g/assets &&
10
- cat "${deb_file}aa" "${deb_file}ab" "${deb_file}ac" > "${deb_file}"
11
-
12
- pwd
13
-
14
- ls -lAh "${deb_file}"
@@ -1,33 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- [ -n "$ORACLE_FILE" ] || { echo "Missing ORACLE_FILE environment variable!"; exit 1; }
4
- [ -n "$ORACLE_HOME" ] || { echo "Missing ORACLE_HOME environment variable!"; exit 1; }
5
-
6
- cd "$(dirname "$(readlink -f "$0")")"
7
-
8
- ORACLE_DEB=docker-oracle-xe-11g/assets/oracle-xe_11.2.0-1.0_amd64.deb
9
-
10
- sudo apt-get -qq update
11
- sudo apt-get --no-install-recommends -qq install bc libaio1
12
-
13
- df -B1 /dev/shm | awk 'END { if ($1 != "shmfs" && $1 != "tmpfs" || $2 < 2147483648) exit 1 }' ||
14
- ( sudo rm -r /dev/shm && sudo mkdir /dev/shm && sudo mount -t tmpfs shmfs -o size=2G /dev/shm )
15
-
16
- test -f /sbin/chkconfig ||
17
- ( echo '#!/bin/sh' | sudo tee /sbin/chkconfig > /dev/null && sudo chmod u+x /sbin/chkconfig )
18
-
19
- test -d /var/lock/subsys || sudo mkdir /var/lock/subsys
20
-
21
- sudo dpkg -i "${ORACLE_DEB}"
22
-
23
- echo 'OS_AUTHENT_PREFIX=""' | sudo tee -a "$ORACLE_HOME/config/scripts/init.ora" > /dev/null
24
- echo 'disk_asynch_io=false' | sudo tee -a "$ORACLE_HOME/config/scripts/init.ora" > /dev/null
25
-
26
- sudo usermod -aG dba $USER
27
-
28
- ( echo ; echo ; echo travis ; echo travis ; echo n ) | sudo AWK='/usr/bin/awk' /etc/init.d/oracle-xe configure
29
-
30
- "$ORACLE_HOME/bin/sqlplus" -L -S / AS SYSDBA <<SQL
31
- CREATE USER $USER IDENTIFIED EXTERNALLY;
32
- GRANT CONNECT, RESOURCE TO $USER;
33
- SQL
@@ -1,14 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -ev
4
-
5
- "$ORACLE_HOME/bin/sqlplus" -L -S / AS SYSDBA <<SQL
6
- alter user sys identified by admin;
7
- alter user system identified by admin;
8
- alter database default tablespace USERS;
9
- CREATE USER scenic_oracle_adapter IDENTIFIED BY scenic_oracle_adapter;
10
- GRANT unlimited tablespace, create session, create table, create sequence,
11
- create procedure, create trigger, create view, create materialized view,
12
- create database link, create synonym, create type, ctxapp TO scenic_oracle_adapter;
13
- exit
14
- SQL
data/.travis.yml DELETED
@@ -1,43 +0,0 @@
1
- ---
2
- dist: trusty
3
- sudo: required
4
- language: ruby
5
- cache: bundler
6
- rvm:
7
- - 2.4
8
- - 2.5
9
- - 2.6
10
- - 2.7
11
-
12
- env:
13
- global:
14
- - ORACLE_FILE=oracle11g/xe/oracle-xe-11.2.0-1.0.x86_64.rpm.zip
15
- - ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
16
- - TNS_ADMIN=$ORACLE_HOME/network/admin
17
- - NLS_LANG=AMERICAN_AMERICA.AL32UTF8
18
- - ORACLE_BASE=/u01/app/oracle
19
- - LD_LIBRARY_PATH=$ORACLE_HOME/lib
20
- - PATH=$PATH:$ORACLE_HOME/jdbc/lib
21
- - DATABASE_VERSION=11.2.0.1
22
- - ORACLE_SID=XE
23
- - DATABASE_NAME=XE
24
- - DATABASE_URL="oracle-enhanced://scenic_oracle_adapter:scenic_oracle_adapter@localhost/xe:1521"
25
-
26
- before_install:
27
- - chmod +x .travis/oracle/download.sh
28
- - chmod +x .travis/oracle/install.sh
29
- - chmod +x .travis/setup_accounts.sh
30
- - gem install bundler -v 2.1.2
31
-
32
- install:
33
- - .travis/oracle/download.sh
34
- - .travis/oracle/install.sh
35
- - .travis/setup_accounts.sh
36
- - bundle install
37
-
38
- jobs:
39
- include:
40
- - stage: Static analysis
41
- script: bundle exec rubocop lib
42
- - stage: Test
43
- script: bundle exec rspec