active_record-pgcrypto 0.2.2 → 0.2.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0e0d9f699e61e69eef931b4e262d728f4ad01ee6f00f15951f7ab2bc1e3cb830
4
- data.tar.gz: 5f557b15350a6a5d76731d8916e15b6334354c55acb2fd49a4c917b5772ac097
3
+ metadata.gz: 0ce5aaa85fee4e2a1ef75b471bfe807199b1e5745da89f35a6ad70ff9b7e4a19
4
+ data.tar.gz: b8353223b28b675bf9cff66758bc02fd9c55d3e7f90386405292f67b39c569c6
5
5
  SHA512:
6
- metadata.gz: 68453c6aaff4cc2e04002113e59613b5c2642bd351167dd64fa1542433102747c31cb73475ed6664d3b3ab288d243ec5da83c3fee58a2921675809ed71ecf0ee
7
- data.tar.gz: 5255daca04f06307deea27591a23c47a23055efc89a64bdb10251224cb7b5e6a568b83b656b185de4d2d3e80686bf73eeaac042f88bf4074eda9ca4d2c278e82
6
+ metadata.gz: bad4f8aa0998d1711b9e91dc022ee8169e79b42e1ab5e5bbbb1f0b50b3543ad757e368162706097c62e2ac787ae5cf7dc0ed9aeb1393768eaa417354b3ccda71
7
+ data.tar.gz: a4c31288935dee7bc4a739aac3e245d83450058e77c913edbe28b8453e48a8b700cc238c703fc0c0a6069a7bbd5a29e9e61c197af2a10c9b61f9b012d4a1c5a9
@@ -0,0 +1,20 @@
1
+ name: CI
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ ci:
7
+ runs-on: ubuntu-18.04
8
+
9
+ strategy:
10
+ matrix:
11
+ rails: [4, 5, 6]
12
+
13
+ steps:
14
+ - uses: actions/checkout@master
15
+
16
+ - name: Builds the Docker image
17
+ run: docker build -f Dockerfile -t active_record-pgcrypto/ci:$GITHUB_SHA .
18
+
19
+ - name: Runs code QA and tests
20
+ run: docker run -e RAILS_VERSION="~> ${{ matrix.rails }}" active_record-pgcrypto/ci:$GITHUB_SHA
@@ -45,3 +45,6 @@ RSpec/FilePath:
45
45
  RSpec/DescribedClass:
46
46
  Exclude:
47
47
  - 'spec/integration/*_spec.rb'
48
+
49
+ RSpec/ExampleLength:
50
+ Enabled: false
@@ -1,66 +1,65 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- active_record-pgcrypto (0.2.2)
4
+ active_record-pgcrypto (0.2.3)
5
5
  activerecord (>= 3.2)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activemodel (5.2.3)
11
- activesupport (= 5.2.3)
12
- activerecord (5.2.3)
13
- activemodel (= 5.2.3)
14
- activesupport (= 5.2.3)
15
- arel (>= 9.0)
16
- activesupport (5.2.3)
10
+ activemodel (6.0.1)
11
+ activesupport (= 6.0.1)
12
+ activerecord (6.0.1)
13
+ activemodel (= 6.0.1)
14
+ activesupport (= 6.0.1)
15
+ activesupport (6.0.1)
17
16
  concurrent-ruby (~> 1.0, >= 1.0.2)
18
17
  i18n (>= 0.7, < 2)
19
18
  minitest (~> 5.1)
20
19
  tzinfo (~> 1.1)
21
- arel (9.0.0)
20
+ zeitwerk (~> 2.2)
22
21
  ast (2.4.0)
23
22
  concurrent-ruby (1.1.5)
24
23
  diff-lcs (1.3)
25
24
  docile (1.3.2)
26
- ffaker (2.11.0)
27
- i18n (1.6.0)
25
+ ffaker (2.13.0)
26
+ i18n (1.7.0)
28
27
  concurrent-ruby (~> 1.0)
29
- jaro_winkler (1.5.3)
28
+ jaro_winkler (1.5.4)
30
29
  json (2.2.0)
31
- minitest (5.11.3)
32
- parallel (1.17.0)
33
- parser (2.6.3.0)
30
+ minitest (5.13.0)
31
+ parallel (1.19.0)
32
+ parser (2.6.5.0)
34
33
  ast (~> 2.4.0)
35
34
  pg (1.1.4)
36
35
  rainbow (3.0.0)
37
- rake (12.3.2)
38
- rspec (3.8.0)
39
- rspec-core (~> 3.8.0)
40
- rspec-expectations (~> 3.8.0)
41
- rspec-mocks (~> 3.8.0)
42
- rspec-core (3.8.2)
43
- rspec-support (~> 3.8.0)
44
- rspec-expectations (3.8.4)
36
+ rake (13.0.1)
37
+ rspec (3.9.0)
38
+ rspec-core (~> 3.9.0)
39
+ rspec-expectations (~> 3.9.0)
40
+ rspec-mocks (~> 3.9.0)
41
+ rspec-core (3.9.0)
42
+ rspec-support (~> 3.9.0)
43
+ rspec-expectations (3.9.0)
45
44
  diff-lcs (>= 1.2.0, < 2.0)
46
- rspec-support (~> 3.8.0)
47
- rspec-mocks (3.8.1)
45
+ rspec-support (~> 3.9.0)
46
+ rspec-mocks (3.9.0)
48
47
  diff-lcs (>= 1.2.0, < 2.0)
49
- rspec-support (~> 3.8.0)
50
- rspec-support (3.8.2)
51
- rubocop (0.72.0)
48
+ rspec-support (~> 3.9.0)
49
+ rspec-support (3.9.0)
50
+ rubocop (0.76.0)
52
51
  jaro_winkler (~> 1.5.1)
53
52
  parallel (~> 1.10)
54
53
  parser (>= 2.6)
55
54
  rainbow (>= 2.2.2, < 4.0)
56
55
  ruby-progressbar (~> 1.7)
57
56
  unicode-display_width (>= 1.4.0, < 1.7)
58
- rubocop-performance (1.4.0)
57
+ rubocop-performance (1.5.1)
59
58
  rubocop (>= 0.71.0)
60
- rubocop-rspec (1.33.0)
61
- rubocop (>= 0.60.0)
59
+ rubocop-rspec (1.36.0)
60
+ rubocop (>= 0.68.1)
62
61
  ruby-progressbar (1.10.1)
63
- simplecov (0.17.0)
62
+ simplecov (0.17.1)
64
63
  docile (~> 1.1)
65
64
  json (>= 1.8, < 3)
66
65
  simplecov-html (~> 0.10.0)
@@ -72,6 +71,7 @@ GEM
72
71
  yard (0.9.20)
73
72
  yardstick (0.9.9)
74
73
  yard (~> 0.8, >= 0.8.7.2)
74
+ zeitwerk (2.2.1)
75
75
 
76
76
  PLATFORMS
77
77
  ruby
@@ -89,4 +89,4 @@ DEPENDENCIES
89
89
  yardstick
90
90
 
91
91
  BUNDLED WITH
92
- 1.17.2
92
+ 1.17.3
@@ -1,6 +1,7 @@
1
1
  require 'active_support'
2
2
  require 'active_record/log_subscriber'
3
3
  require 'active_record/pgcrypto/version'
4
+ require 'active_record/pgcrypto/patches'
4
5
  require 'active_record/pgcrypto/symmetric_coder'
5
6
  require 'active_record/pgcrypto/log_subscriber'
6
7
 
@@ -0,0 +1,23 @@
1
+ require 'active_record/type/serialized'
2
+
3
+ module ActiveRecord
4
+ # ...
5
+ module PGCrypto
6
+ # Patched `serialize` wrapper class to play well with [ActiveModel::Dirty]
7
+ module PatchedSerialized
8
+ # Determines whether the mutable value has been modified since it was read
9
+ #
10
+ # Since encrypted binary data, from our coder,
11
+ # can return same decrypted values, we don't check it.
12
+ #
13
+ # @return [FalseClass] on our coder values.
14
+ def changed_in_place?(*)
15
+ return false if coder == ActiveRecord::PGCrypto::SymmetricCoder
16
+
17
+ super
18
+ end
19
+ end
20
+
21
+ ActiveRecord::Type::Serialized.prepend(PatchedSerialized)
22
+ end
23
+ end
@@ -1,5 +1,5 @@
1
1
  module ActiveRecord
2
2
  module PGCrypto
3
- VERSION = '0.2.2'.freeze
3
+ VERSION = '0.2.3'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record-pgcrypto
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stas SUȘCOV
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-28 00:00:00.000000000 Z
11
+ date: 2019-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -157,7 +157,7 @@ executables: []
157
157
  extensions: []
158
158
  extra_rdoc_files: []
159
159
  files:
160
- - ".github/main.workflow"
160
+ - ".github/workflows/ci.yml"
161
161
  - ".gitignore"
162
162
  - ".rubocop.yml"
163
163
  - ".yardstick.yml"
@@ -171,6 +171,7 @@ files:
171
171
  - active_record-pgcrypto.gemspec
172
172
  - lib/active_record/pgcrypto.rb
173
173
  - lib/active_record/pgcrypto/log_subscriber.rb
174
+ - lib/active_record/pgcrypto/patches.rb
174
175
  - lib/active_record/pgcrypto/symmetric_coder.rb
175
176
  - lib/active_record/pgcrypto/version.rb
176
177
  homepage: https://github.com/stas/active_record-pgcrypto
@@ -1,31 +0,0 @@
1
- workflow "Docs/Tests" {
2
- on = "push"
3
- resolves = [
4
- "Runs the linters and tests (Rails 4)",
5
- "Runs the linters and tests (Rails 5)",
6
- "Runs the linters and tests (Rails 6)"
7
- ]
8
- }
9
-
10
- action "Builds the Docker image" {
11
- uses = "actions/docker/cli@master"
12
- args = "build -f Dockerfile -t active_record-pgcrypto/ci:$GITHUB_SHA ."
13
- }
14
-
15
- action "Runs the linters and tests (Rails 4)" {
16
- uses = "actions/docker/cli@master"
17
- needs = ["Builds the Docker image"]
18
- args = "run -e RAILS_VERSION='~> 4' active_record-pgcrypto/ci:$GITHUB_SHA"
19
- }
20
-
21
- action "Runs the linters and tests (Rails 5)" {
22
- uses = "actions/docker/cli@master"
23
- needs = ["Builds the Docker image"]
24
- args = "run -e RAILS_VERSION='~> 5' active_record-pgcrypto/ci:$GITHUB_SHA"
25
- }
26
-
27
- action "Runs the linters and tests (Rails 6)" {
28
- uses = "actions/docker/cli@master"
29
- needs = ["Builds the Docker image"]
30
- args = "run -e RAILS_VERSION='~> 6.0.0.rc1' active_record-pgcrypto/ci:$GITHUB_SHA"
31
- }