schema_plus_functions 0.2.0 → 1.0.0

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: 97ddb7cc035fe6b3c6eb8c978dac3eee75e0a5d05777e98276f3ed5ee72c28fe
4
- data.tar.gz: d82144c01af082317627651336579ed61012787d22886e516c23fc18d85c55e8
3
+ metadata.gz: c5164c0f56dc6d07dcba7d985bcb50c00799cb7529091799fce105c4882d17d7
4
+ data.tar.gz: 5e40a193910cc7fb7c6ed0d2ee1c468cfbe34b73140d5bdc40b9ae4e85624185
5
5
  SHA512:
6
- metadata.gz: 627ccbf5e98a0ac319af3570c6cb6a251ab2b84d619741dd4cf7baa549d66204880a6647bb702f5ea1470b74c01becfb0765b9ede185897399f47004f6f0ed4f
7
- data.tar.gz: 7a2eb4a75d6cc1167028a83ec49854176846531e8039c59995e2c62d388b0dab1d5f3e2658e72f694aef6149ed19406c18a8b7f8dde76cec3e1a68ac166eb4bb
6
+ metadata.gz: '06258591417e0d99dfef35d5d69e6f7315c7a45cd81d49bbd7ec0d687b513e514ab44f0414bf721229a8f88c38ff6ecab046d05afff8cc9ed4c0526bccd4aae3'
7
+ data.tar.gz: bbf4cf69c8250b73498d3bcf672a54e245029cb80b5e085a19e4c6f36b61a767983332fbfb7fb0e65ce896a0ce4f425ed1f064086de927587f7156ea36cdf570
@@ -0,0 +1,178 @@
1
+ # This file was auto-generated by the schema_dev tool, based on the data in
2
+ # ./schema_dev.yml
3
+ # Please do not edit this file; any changes will be overwritten next time
4
+ # schema_dev gets run.
5
+ ---
6
+ name: CI PR Builds
7
+ 'on':
8
+ push:
9
+ branches:
10
+ - master
11
+ pull_request:
12
+ concurrency:
13
+ group: ci-${{ github.ref }}
14
+ cancel-in-progress: true
15
+ jobs:
16
+ test:
17
+ runs-on: ubuntu-latest
18
+ strategy:
19
+ fail-fast: false
20
+ matrix:
21
+ ruby:
22
+ - '2.5'
23
+ - '2.7'
24
+ - '3.0'
25
+ activerecord:
26
+ - '5.2'
27
+ - '6.0'
28
+ db:
29
+ - skip
30
+ dbversion:
31
+ - skip
32
+ exclude:
33
+ - ruby: '3.0'
34
+ activerecord: '5.2'
35
+ - db: skip
36
+ dbversion: skip
37
+ include:
38
+ - ruby: '2.5'
39
+ activerecord: '5.2'
40
+ db: postgresql
41
+ dbversion: '9.6'
42
+ - ruby: '2.5'
43
+ activerecord: '5.2'
44
+ db: postgresql
45
+ dbversion: '10'
46
+ - ruby: '2.5'
47
+ activerecord: '5.2'
48
+ db: postgresql
49
+ dbversion: '11'
50
+ - ruby: '2.5'
51
+ activerecord: '5.2'
52
+ db: postgresql
53
+ dbversion: '12'
54
+ - ruby: '2.5'
55
+ activerecord: '6.0'
56
+ db: postgresql
57
+ dbversion: '9.6'
58
+ - ruby: '2.5'
59
+ activerecord: '6.0'
60
+ db: postgresql
61
+ dbversion: '10'
62
+ - ruby: '2.5'
63
+ activerecord: '6.0'
64
+ db: postgresql
65
+ dbversion: '11'
66
+ - ruby: '2.5'
67
+ activerecord: '6.0'
68
+ db: postgresql
69
+ dbversion: '12'
70
+ - ruby: '2.7'
71
+ activerecord: '5.2'
72
+ db: postgresql
73
+ dbversion: '9.6'
74
+ - ruby: '2.7'
75
+ activerecord: '5.2'
76
+ db: postgresql
77
+ dbversion: '10'
78
+ - ruby: '2.7'
79
+ activerecord: '5.2'
80
+ db: postgresql
81
+ dbversion: '11'
82
+ - ruby: '2.7'
83
+ activerecord: '5.2'
84
+ db: postgresql
85
+ dbversion: '12'
86
+ - ruby: '2.7'
87
+ activerecord: '6.0'
88
+ db: postgresql
89
+ dbversion: '9.6'
90
+ - ruby: '2.7'
91
+ activerecord: '6.0'
92
+ db: postgresql
93
+ dbversion: '10'
94
+ - ruby: '2.7'
95
+ activerecord: '6.0'
96
+ db: postgresql
97
+ dbversion: '11'
98
+ - ruby: '2.7'
99
+ activerecord: '6.0'
100
+ db: postgresql
101
+ dbversion: '12'
102
+ - ruby: '3.0'
103
+ activerecord: '6.0'
104
+ db: postgresql
105
+ dbversion: '9.6'
106
+ - ruby: '3.0'
107
+ activerecord: '6.0'
108
+ db: postgresql
109
+ dbversion: '10'
110
+ - ruby: '3.0'
111
+ activerecord: '6.0'
112
+ db: postgresql
113
+ dbversion: '11'
114
+ - ruby: '3.0'
115
+ activerecord: '6.0'
116
+ db: postgresql
117
+ dbversion: '12'
118
+ env:
119
+ BUNDLE_GEMFILE: "${{ github.workspace }}/gemfiles/activerecord-${{ matrix.activerecord }}/Gemfile.${{ matrix.db }}"
120
+ POSTGRESQL_DB_HOST: 127.0.0.1
121
+ POSTGRESQL_DB_USER: schema_plus_test
122
+ POSTGRESQL_DB_PASS: database
123
+ steps:
124
+ - uses: actions/checkout@v2
125
+ - name: Set up Ruby
126
+ uses: ruby/setup-ruby@v1
127
+ with:
128
+ ruby-version: "${{ matrix.ruby }}"
129
+ bundler-cache: true
130
+ - name: Run bundle update
131
+ run: bundle update
132
+ - name: Start Postgresql
133
+ if: matrix.db == 'postgresql'
134
+ run: |
135
+ docker run --rm --detach \
136
+ -e POSTGRES_USER=$POSTGRESQL_DB_USER \
137
+ -e POSTGRES_PASSWORD=$POSTGRESQL_DB_PASS \
138
+ -p 5432:5432 \
139
+ --health-cmd "pg_isready -q" \
140
+ --health-interval 5s \
141
+ --health-timeout 5s \
142
+ --health-retries 5 \
143
+ --name database postgres:${{ matrix.dbversion }}
144
+ - name: Wait for database to start
145
+ if: "(matrix.db == 'postgresql' || matrix.db == 'mysql2')"
146
+ run: |
147
+ COUNT=0
148
+ ATTEMPTS=20
149
+ until [[ $COUNT -eq $ATTEMPTS ]]; do
150
+ [ "$(docker inspect -f {{.State.Health.Status}} database)" == "healthy" ] && break
151
+ echo $(( COUNT++ )) > /dev/null
152
+ sleep 2
153
+ done
154
+ - name: Create testing database
155
+ if: "(matrix.db == 'postgresql' || matrix.db == 'mysql2')"
156
+ run: bundle exec rake create_ci_database
157
+ - name: Run tests
158
+ run: bundle exec rake spec
159
+ - name: Shutdown database
160
+ if: always() && (matrix.db == 'postgresql' || matrix.db == 'mysql2')
161
+ run: docker stop database
162
+ - name: Coveralls Parallel
163
+ if: "${{ !env.ACT }}"
164
+ uses: coverallsapp/github-action@master
165
+ with:
166
+ github-token: "${{ secrets.GITHUB_TOKEN }}"
167
+ flag-name: run-${{ matrix.ruby }}-${{ matrix.activerecord }}-${{ matrix.db }}-${{ matrix.dbversion }}
168
+ parallel: true
169
+ finish:
170
+ needs: test
171
+ runs-on: ubuntu-latest
172
+ steps:
173
+ - name: Coveralls Finished
174
+ if: "${{ !env.ACT }}"
175
+ uses: coverallsapp/github-action@master
176
+ with:
177
+ github-token: "${{ secrets.GITHUB_TOKEN }}"
178
+ parallel-finished: true
data/.gitignore CHANGED
@@ -2,6 +2,7 @@
2
2
  /tmp
3
3
  /pkg
4
4
  /Gemfile.local
5
+ /.idea
5
6
 
6
7
  *.lock
7
8
  *.log
data/.simplecov ADDED
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ SimpleCov.configure do
4
+ enable_coverage :branch
5
+ add_filter '/spec/'
6
+
7
+ add_group 'Binaries', '/bin/'
8
+ add_group 'Libraries', '/lib/'
9
+
10
+ if ENV['CI']
11
+ require 'simplecov-lcov'
12
+
13
+ SimpleCov::Formatter::LcovFormatter.config do |c|
14
+ c.report_with_single_file = true
15
+ c.single_report_path = 'coverage/lcov.info'
16
+ end
17
+
18
+ formatter SimpleCov::Formatter::LcovFormatter
19
+ end
20
+ end
data/README.md CHANGED
@@ -1,7 +1,6 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/schema_plus_functions.svg)](http://badge.fury.io/rb/schema_plus_functions)
2
- [![Build Status](https://secure.travis-ci.org/SchemaPlus/schema_plus_functions.svg)](http://travis-ci.org/SchemaPlus/schema_plus_functions)
3
- [![Coverage Status](https://img.shields.io/coveralls/SchemaPlus/schema_plus_functions.svg)](https://coveralls.io/r/SchemaPlus/schema_plus_functions)
4
- [![Dependency Status](https://gemnasium.com/SchemaPlus/schema_plus_functions.svg)](https://gemnasium.com/SchemaPlus/schema_plus_functions)
2
+ [![Build Status](https://github.com/SchemaPlus/schema_plus_functions/actions/workflows/prs.yml/badge.svg)](https://github.com/SchemaPlus/schema_plus_functions/actions)
3
+ [![Coverage Status](https://coveralls.io/repos/github/SchemaPlus/schema_plus_functions/badge.svg)](https://coveralls.io/github/SchemaPlus/schema_plus_functions)
5
4
 
6
5
  # SchemaPlus::Functions
7
6
 
@@ -85,12 +84,16 @@ SchemaPlus::Functions is tested on:
85
84
 
86
85
  <!-- SCHEMA_DEV: MATRIX - begin -->
87
86
  <!-- These lines are auto-generated by schema_dev based on schema_dev.yml -->
88
- * ruby **2.3.1** with activerecord **5.2**, using **postgresql**
87
+ * ruby **2.5** with activerecord **5.2**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
88
+ * ruby **2.5** with activerecord **6.0**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
89
+ * ruby **2.7** with activerecord **5.2**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
90
+ * ruby **2.7** with activerecord **6.0**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
91
+ * ruby **3.0** with activerecord **6.0**, using **postgresql:9.6**, **postgresql:10**, **postgresql:11** or **postgresql:12**
89
92
 
90
93
  <!-- SCHEMA_DEV: MATRIX - end -->
91
94
 
92
95
  ## History
93
-
96
+ * 1.0.0 - Drop AR < 5.2, add <= 6.0 and Ruby 3.0
94
97
  * 0.2.0 - Add suppot for PostgreSQL 11+
95
98
  * 0.1.0 - Initial release
96
99
 
@@ -107,7 +110,7 @@ Some things to know about to help you develop and test:
107
110
  * **schema_dev**: SchemaPlus::Functions uses [schema_dev](https://github.com/SchemaPlus/schema_dev) to
108
111
  facilitate running rspec tests on the matrix of ruby, activerecord, and database
109
112
  versions that the gem supports, both locally and on
110
- [travis-ci](http://travis-ci.org/SchemaPlus/schema_plus_functions)
113
+ [github actions](https://github.com/SchemaPlus/schema_plus_functions/actions)
111
114
 
112
115
  To to run rspec locally on the full matrix, do:
113
116
 
@@ -119,7 +122,6 @@ Some things to know about to help you develop and test:
119
122
  The matrix of configurations is specified in `schema_dev.yml` in
120
123
  the project root.
121
124
 
122
-
123
125
  <!-- SCHEMA_DEV: TEMPLATE USES SCHEMA_DEV - end -->
124
126
 
125
127
  <!-- SCHEMA_DEV: TEMPLATE USES SCHEMA_PLUS_CORE - begin -->
@@ -1,4 +1,4 @@
1
1
  source 'https://rubygems.org'
2
- gemspec :path => File.expand_path('..', __FILE__)
2
+ gemspec path: File.expand_path('..', __FILE__)
3
3
 
4
4
  File.exist?(gemfile_local = File.expand_path('../Gemfile.local', __FILE__)) and eval File.read(gemfile_local), binding, gemfile_local
@@ -1,3 +1,4 @@
1
- eval File.read File.expand_path('../../Gemfile.base', __FILE__)
1
+ base_gemfile = File.expand_path('../../Gemfile.base', __FILE__)
2
+ eval File.read(base_gemfile)
2
3
 
3
4
  gem "activerecord", ">= 5.2.0.beta0", "< 5.3"
@@ -1,5 +1,5 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
1
+ base_gemfile = File.expand_path('../Gemfile.base', __FILE__)
2
+ eval File.read(base_gemfile), binding, base_gemfile
3
3
 
4
4
  platform :ruby do
5
5
  gem "pg"
@@ -0,0 +1,4 @@
1
+ base_gemfile = File.expand_path('../../Gemfile.base', __FILE__)
2
+ eval File.read(base_gemfile)
3
+
4
+ gem "activerecord", ">= 6.0", "< 6.1"
@@ -0,0 +1,10 @@
1
+ base_gemfile = File.expand_path('../Gemfile.base', __FILE__)
2
+ eval File.read(base_gemfile), binding, base_gemfile
3
+
4
+ platform :ruby do
5
+ gem "pg"
6
+ end
7
+
8
+ platform :jruby do
9
+ gem 'activerecord-jdbcpostgresql-adapter'
10
+ end
@@ -11,7 +11,7 @@ module SchemaPlus::Functions
11
11
  heredelim = "END_FUNCTION_#{function_name.upcase}"
12
12
  extra_options = ", function_type: :#{function_type}" if function_type.present?
13
13
  statement = <<~ENDFUNCTION
14
- create_function "#{function_name}", "#{full_params}", <<-'#{heredelim}', :force => true#{extra_options}
14
+ create_function "#{function_name}", "#{full_params}", <<-'#{heredelim}', :force => true#{extra_options}
15
15
  #{definition}
16
16
  #{heredelim}
17
17
  ENDFUNCTION
@@ -42,4 +42,4 @@ module SchemaPlus::Functions
42
42
  end
43
43
  end
44
44
  end
45
- end
45
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module SchemaPlus
4
4
  module Functions
5
- VERSION = "0.2.0"
5
+ VERSION = "1.0.0"
6
6
  end
7
7
  end
data/schema_dev.yml CHANGED
@@ -1,7 +1,10 @@
1
1
  ruby:
2
- - 2.3.1
2
+ - 2.5
3
+ - 2.7
4
+ - 3.0
3
5
  activerecord:
4
6
  - 5.2
7
+ - 6.0
5
8
  db:
6
9
  - postgresql
7
10
  dbversions:
@@ -19,13 +19,13 @@ Gem::Specification.new do |gem|
19
19
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
20
20
  gem.require_paths = ["lib"]
21
21
 
22
- gem.add_dependency "activerecord", ">= 5.2", "< 5.3"
23
- gem.add_dependency "schema_plus_core"
22
+ gem.required_ruby_version = ">= 2.5.0"
23
+
24
+ gem.add_dependency "activerecord", ">= 5.2", "< 6.1"
25
+ gem.add_dependency "schema_plus_core", "~> 3.0"
24
26
 
25
27
  gem.add_development_dependency "bundler"
26
- gem.add_development_dependency "rake", "~> 10.0"
28
+ gem.add_development_dependency "rake", "~> 13.0"
27
29
  gem.add_development_dependency "rspec", "~> 3.0"
28
- gem.add_development_dependency "schema_dev", "~> 3.12"
29
- gem.add_development_dependency "simplecov"
30
- gem.add_development_dependency "simplecov-gem-profile"
30
+ gem.add_development_dependency "schema_dev", "~> 4.1"
31
31
  end
data/spec/spec_helper.rb CHANGED
@@ -1,8 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'simplecov'
4
- require 'simplecov-gem-profile'
5
- SimpleCov.start "gem"
4
+ SimpleCov.start
6
5
 
7
6
  $LOAD_PATH.unshift(File.dirname(__FILE__))
8
7
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schema_plus_functions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edward Rudd
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-02 00:00:00.000000000 Z
11
+ date: 2022-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '5.2'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '5.3'
22
+ version: '6.1'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,21 +29,21 @@ dependencies:
29
29
  version: '5.2'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '5.3'
32
+ version: '6.1'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: schema_plus_core
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ">="
37
+ - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0'
39
+ version: '3.0'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - ">="
44
+ - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '0'
46
+ version: '3.0'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -64,14 +64,14 @@ dependencies:
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '10.0'
67
+ version: '13.0'
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '10.0'
74
+ version: '13.0'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: rspec
77
77
  requirement: !ruby/object:Gem::Requirement
@@ -92,42 +92,14 @@ dependencies:
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '3.12'
95
+ version: '4.1'
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '3.12'
103
- - !ruby/object:Gem::Dependency
104
- name: simplecov
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- type: :development
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: '0'
117
- - !ruby/object:Gem::Dependency
118
- name: simplecov-gem-profile
119
- requirement: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- version: '0'
124
- type: :development
125
- prerelease: false
126
- version_requirements: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - ">="
129
- - !ruby/object:Gem::Version
130
- version: '0'
102
+ version: '4.1'
131
103
  description: Adds support for functions in ActiveRecord
132
104
  email:
133
105
  - urkle@outoforder.cc
@@ -135,8 +107,9 @@ executables: []
135
107
  extensions: []
136
108
  extra_rdoc_files: []
137
109
  files:
110
+ - ".github/workflows/prs.yml"
138
111
  - ".gitignore"
139
- - ".travis.yml"
112
+ - ".simplecov"
140
113
  - Gemfile
141
114
  - LICENSE.txt
142
115
  - README.md
@@ -144,6 +117,8 @@ files:
144
117
  - gemfiles/Gemfile.base
145
118
  - gemfiles/activerecord-5.2/Gemfile.base
146
119
  - gemfiles/activerecord-5.2/Gemfile.postgresql
120
+ - gemfiles/activerecord-6.0/Gemfile.base
121
+ - gemfiles/activerecord-6.0/Gemfile.postgresql
147
122
  - lib/schema_plus/functions.rb
148
123
  - lib/schema_plus/functions/active_record/connection_adapters/abstract_adapter.rb
149
124
  - lib/schema_plus/functions/active_record/connection_adapters/postgresql_adapter.rb
@@ -168,7 +143,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
168
143
  requirements:
169
144
  - - ">="
170
145
  - !ruby/object:Gem::Version
171
- version: '0'
146
+ version: 2.5.0
172
147
  required_rubygems_version: !ruby/object:Gem::Requirement
173
148
  requirements:
174
149
  - - ">="
data/.travis.yml DELETED
@@ -1,38 +0,0 @@
1
- # This file was auto-generated by the schema_dev tool, based on the data in
2
- # ./schema_dev.yml
3
- # Please do not edit this file; any changes will be overwritten next time
4
- # schema_dev gets run.
5
- ---
6
- rvm:
7
- - 2.3.1
8
- gemfile:
9
- - gemfiles/activerecord-5.2/Gemfile.postgresql
10
- before_script: bundle exec rake create_databases
11
- after_script: bundle exec rake drop_databases
12
- script: bundle exec rake travis
13
- jobs:
14
- include:
15
- - addons:
16
- postgresql: '9.6'
17
- env: POSTGRESQL_DB_USER=postgres
18
- - addons:
19
- postgresql: '10'
20
- apt:
21
- packages:
22
- - postgresql-10
23
- - postgresql-client-10
24
- env: POSTGRESQL_DB_USER=postgres
25
- - addons:
26
- postgresql: '11'
27
- apt:
28
- packages:
29
- - postgresql-11
30
- - postgresql-client-11
31
- env: POSTGRESQL_DB_USER=travis PGPORT=5433
32
- - addons:
33
- postgresql: '12'
34
- apt:
35
- packages:
36
- - postgresql-12
37
- - postgresql-client-12
38
- env: POSTGRESQL_DB_USER=travis PGPORT=5433