sequel_vault 0.5.1 → 0.5.2

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
- SHA1:
3
- metadata.gz: b25cbb20daa90e19edede27f8b8235df3886cb64
4
- data.tar.gz: 279a8a6f990c269bdc779aa78cfe83c57f1a511d
2
+ SHA256:
3
+ metadata.gz: 60537d17836bdc587f9cbd890dc8a658392d3deae3ecc93a141784641710a702
4
+ data.tar.gz: c95d0741777ba8d787e28a803f82e426361c1ea3f1e130dc0b7a205207388d16
5
5
  SHA512:
6
- metadata.gz: 127014206cd81bf6ac66da42101f346be518ab2ac13cef3ccdc6bab8743e4901bd20e067248ae554ed3ff457f26f360d68731fe96ee94ce1ae68287fa60d2b56
7
- data.tar.gz: f0a071aca60a7f582c24dc477d2ad1b33a0a162d07b259b4d11f3a244a307b15e0ffa160af12d075dc1dbde8def142f873d5c0403dad118520b973b4b7745910
6
+ metadata.gz: c446483817b3520e770be58f8a80ca8743247fd3dc0b3a3b0edea3a8e463628451b0c50b1aade7bfe3546181219cc6d9fec4bd1ac6f89a8114eda6e4148b7771
7
+ data.tar.gz: 749a40c98c4f1f7baaa79933331e8dc65053bb609d5833ac46cbd6a74b3471d042f8a105052fdab0812d1b73434f4c3b00550a65a4ce75634a3a2376f73bc0eb
data/.gitignore CHANGED
@@ -2,3 +2,4 @@ coverage
2
2
  *.gem
3
3
  doc/
4
4
  .yardoc
5
+ Gemfile.lock
@@ -1,44 +1,37 @@
1
- Style/AlignHash:
2
- Enabled: false
1
+ AllCops:
2
+ TargetRubyVersion: 2.2
3
3
 
4
- Style/AlignArray:
5
- Enabled: false
4
+ require:
5
+ - rubocop-rspec
6
6
 
7
- Style/AlignParameters:
8
- Enabled: false
7
+ # Offense count: 1
8
+ Metrics/AbcSize:
9
+ Max: 21
9
10
 
10
- Style/Documentation:
11
- Enabled: false
12
-
13
- Style/CaseIndentation:
14
- Enabled: false
15
-
16
- Style/IndentHash:
17
- Enabled: false
18
-
19
- Style/NumericLiterals:
20
- Enabled: false
21
-
22
- Style/SignalException:
23
- Enabled: false
24
-
25
- Style/StringLiterals:
26
- Enabled: false
27
-
28
- Style/MultilineOperationIndentation:
29
- Enabled: false
30
-
31
- Style/StringLiterals:
32
- Enabled: false
33
-
34
- Metrics/LineLength:
35
- Max: 250
11
+ # Offense count: 1
12
+ # Configuration parameters: CountComments, ExcludedMethods.
13
+ Metrics/BlockLength:
14
+ Max: 45
36
15
 
16
+ # Offense count: 1
17
+ # Configuration parameters: CountComments.
37
18
  Metrics/MethodLength:
38
- Max: 250
19
+ Max: 11
39
20
 
40
- Metrics/ClassLength:
41
- Max: 250
21
+ # Offense count: 3
22
+ # Configuration parameters: AggregateFailuresByDefault.
23
+ RSpec/MultipleExpectations:
24
+ Max: 3
42
25
 
43
- Lint/UselessAssignment:
44
- Enabled: false
26
+ # Offense count: 2
27
+ Style/Documentation:
28
+ Exclude:
29
+ - 'spec/**/*'
30
+ - 'test/**/*'
31
+ - 'lib/sequel_vault.rb'
32
+
33
+ # Offense count: 4
34
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
35
+ # URISchemes: http, https
36
+ Metrics/LineLength:
37
+ Max: 113
@@ -1,8 +1,10 @@
1
1
  language: ruby
2
- cache: bundler
3
2
  rvm:
4
- - 2.2.1
5
- sudo: false
6
- script: bundle exec rspec
3
+ - 2.3
4
+ - 2.4
5
+ - 2.5
6
+ script:
7
+ - bundle exec rubocop
8
+ - bundle exec rspec
7
9
  notifications:
8
- email: false
10
+ email: false
@@ -1,5 +1,5 @@
1
- require "fernet"
2
- require "sequel"
1
+ require 'fernet'
2
+ require 'sequel'
3
3
 
4
4
  module Sequel
5
5
  module Plugins
@@ -81,7 +81,7 @@ module Sequel
81
81
  def []=(attr, plain)
82
82
  if model.vault_attrs.include?(attr) && !plain.nil?
83
83
  send("#{attr}_digest=", self.class.digest(model.vault_keys, plain)) if respond_to?("#{attr}_digest=")
84
- send("key_id=", model.vault_keys.length) if respond_to?("key_id=")
84
+ send('key_id=', model.vault_keys.length) if respond_to?('key_id=')
85
85
  value = self.class.encrypt(model.vault_keys, plain)
86
86
  end
87
87
  super(attr, value || plain)
@@ -1,24 +1,24 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
1
  Gem::Specification.new do |gem|
4
- gem.authors = ["Timothée Peignier"]
5
- gem.email = ["timothee.peignier@tryphon.org"]
6
- gem.description = %q{Sequel plugins to handle encrypted attributes}
7
- gem.summary = %q{Handle attributes encryption.}
8
- gem.homepage = "http://rubygems.org/gems/sequel_vault"
2
+ gem.authors = ['Timothée Peignier']
3
+ gem.email = ['timothee.peignier@tryphon.org']
4
+ gem.description = 'Sequel plugins to handle encrypted attributes'
5
+ gem.summary = 'Handle attributes encryption.'
6
+ gem.homepage = 'http://rubygems.org/gems/sequel_vault'
9
7
  gem.license = 'MIT'
10
8
 
11
- gem.files = `git ls-files`.split($\)
9
+ gem.files = `git ls-files`.split($OUTPUT_RECORD_SEPARATOR)
12
10
  gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
13
11
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
- gem.name = "sequel_vault"
15
- gem.require_paths = ["lib"]
16
- gem.version = '0.5.1'
12
+ gem.name = 'sequel_vault'
13
+ gem.require_paths = ['lib']
14
+ gem.version = '0.5.2'
17
15
 
18
- gem.add_runtime_dependency 'sequel', '~> 4.21', '>= 4.21.0'
19
- gem.add_runtime_dependency 'fernet', '~> 2.1', '>= 2.1'
16
+ gem.add_runtime_dependency 'fernet', '~> 2.3', '>= 2.3'
17
+ gem.add_runtime_dependency 'sequel', '>= 4.39.0'
20
18
 
21
- gem.add_development_dependency 'rspec', '~> 3.2', '>= 3.2.0'
22
- gem.add_development_dependency 'simplecov', '~> 0.9.2'
19
+ gem.add_development_dependency 'rspec', '~> 3.5', '>= 3.5.0'
20
+ gem.add_development_dependency 'rubocop', '~> 0.52', '>= 0.52.0'
21
+ gem.add_development_dependency 'rubocop-rspec', '~> 1.22', '>= 1.22.0'
22
+ gem.add_development_dependency 'simplecov', '~> 0.15.0'
23
23
  gem.add_development_dependency 'sqlite3', '~> 1.3', '>= 1.3.10'
24
24
  end
@@ -1,5 +1,4 @@
1
- # -*- encoding: utf-8 -*-
2
- require "spec_helper"
1
+ require 'spec_helper'
3
2
 
4
3
  describe Sequel::Plugins::Vault do
5
4
  let(:db) { Sequel.mock(autoid: 1) }
@@ -7,7 +6,7 @@ describe Sequel::Plugins::Vault do
7
6
  Class.new(Sequel::Model(db[:vm])) do
8
7
  set_primary_key :id
9
8
  unrestrict_primary_key
10
- set_columns([:id, :secret, :secret_digest, :key_id])
9
+ set_columns(%i[id secret secret_digest key_id])
11
10
 
12
11
  plugin :vault
13
12
  end
@@ -15,22 +14,22 @@ describe Sequel::Plugins::Vault do
15
14
  let(:dataset) { klass.dataset }
16
15
  let(:model) { klass.new }
17
16
  let(:keys) do
18
- ["fih3l0Z9e4NBpy5KIj+rmXVexY5O9LspzuqCFyqavjg=",
19
- "woRXJWevRaxZLxgoiEQtCDPBSf9TNg57bki0RUK1U48="]
17
+ ['fih3l0Z9e4NBpy5KIj+rmXVexY5O9LspzuqCFyqavjg=',
18
+ 'woRXJWevRaxZLxgoiEQtCDPBSf9TNg57bki0RUK1U48=']
20
19
  end
21
- let(:secret) { "Attack at once." }
20
+ let(:secret) { 'Attack at once.' }
22
21
  let(:cypher) { klass.encrypt(keys, secret) }
23
22
  let(:digest) { OpenSSL::HMAC.digest('sha512', keys.last, secret) }
24
23
 
25
- it "should encrypt vault attributes" do
24
+ it 'encrypts vault attributes' do
26
25
  klass.vault_attributes(keys, :secret)
27
26
  model.secret = secret
28
- expect(model.values[:secret]).to_not eq(secret)
27
+ expect(model.values[:secret]).not_to eq(secret)
29
28
  expect(model.secret).to eq(secret)
30
29
  expect(model.key_id).to eq(2)
31
30
  end
32
31
 
33
- it "should allow nil value" do
32
+ it 'allows nil value' do
34
33
  klass.vault_attributes(keys, :secret)
35
34
  model.secret = nil
36
35
  expect(model.values[:secret]).to be_nil
@@ -38,18 +37,18 @@ describe Sequel::Plugins::Vault do
38
37
  expect(model.key_id).to be_nil
39
38
  end
40
39
 
41
- it "should write a digest of the value" do
40
+ it 'writes a digest of the value' do
42
41
  klass.vault_attributes(keys, :secret)
43
42
  model.secret = secret
44
- expect(model.values[:secret_digest]).to_not eq(secret)
43
+ expect(model.values[:secret_digest]).not_to eq(secret)
45
44
  expect(model.secret_digest).to eq(digest)
46
45
  expect(model.key_id).to eq(2)
47
46
  end
48
47
 
49
- it "should provide a digest lookup" do
50
- dataset._fetch = { id: 1, secret: cypher, secret_digest: digest }
48
+ it 'provides a digest lookup' do
49
+ klass.dataset = dataset.with_fetch([{ id: 1, secret: cypher, secret_digest: digest }])
51
50
  klass.vault_attributes(keys, :secret)
52
- lookup = klass.secret_lookup("secret")
51
+ lookup = klass.secret_lookup('secret')
53
52
  expect(lookup.secret).to eq(secret)
54
53
  end
55
54
  end
@@ -1,23 +1,22 @@
1
- require "bundler"
1
+ require 'bundler'
2
2
  Bundler.require
3
3
 
4
- require "simplecov"
4
+ require 'simplecov'
5
5
  SimpleCov.start do
6
6
  add_filter('spec/')
7
7
  end
8
8
 
9
- require "sequel"
10
- require "sequel_vault"
9
+ require 'sequel'
10
+ require 'sequel_vault'
11
11
 
12
12
  RSpec.configure do |config|
13
13
  config.order = 'random'
14
14
 
15
15
  config.before(:suite) do
16
- Sequel::Model.plugin(:schema)
17
16
  Sequel.connect('sqlite:/')
18
17
  end
19
18
 
20
- config.around(:each) do |example|
19
+ config.around do |example|
21
20
  Sequel::Model.db.transaction(rollback: :always) { example.run }
22
21
  end
23
22
  end
metadata CHANGED
@@ -1,89 +1,123 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel_vault
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Timothée Peignier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-23 00:00:00.000000000 Z
11
+ date: 2018-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: sequel
14
+ name: fernet
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '4.21'
19
+ version: '2.3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 4.21.0
22
+ version: '2.3'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '4.21'
29
+ version: '2.3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 4.21.0
32
+ version: '2.3'
33
33
  - !ruby/object:Gem::Dependency
34
- name: fernet
34
+ name: sequel
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 4.39.0
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 4.39.0
47
+ - !ruby/object:Gem::Dependency
48
+ name: rspec
35
49
  requirement: !ruby/object:Gem::Requirement
36
50
  requirements:
37
51
  - - "~>"
38
52
  - !ruby/object:Gem::Version
39
- version: '2.1'
53
+ version: '3.5'
40
54
  - - ">="
41
55
  - !ruby/object:Gem::Version
42
- version: '2.1'
43
- type: :runtime
56
+ version: 3.5.0
57
+ type: :development
44
58
  prerelease: false
45
59
  version_requirements: !ruby/object:Gem::Requirement
46
60
  requirements:
47
61
  - - "~>"
48
62
  - !ruby/object:Gem::Version
49
- version: '2.1'
63
+ version: '3.5'
50
64
  - - ">="
51
65
  - !ruby/object:Gem::Version
52
- version: '2.1'
66
+ version: 3.5.0
53
67
  - !ruby/object:Gem::Dependency
54
- name: rspec
68
+ name: rubocop
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '0.52'
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: 0.52.0
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '0.52'
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: 0.52.0
87
+ - !ruby/object:Gem::Dependency
88
+ name: rubocop-rspec
55
89
  requirement: !ruby/object:Gem::Requirement
56
90
  requirements:
57
91
  - - "~>"
58
92
  - !ruby/object:Gem::Version
59
- version: '3.2'
93
+ version: '1.22'
60
94
  - - ">="
61
95
  - !ruby/object:Gem::Version
62
- version: 3.2.0
96
+ version: 1.22.0
63
97
  type: :development
64
98
  prerelease: false
65
99
  version_requirements: !ruby/object:Gem::Requirement
66
100
  requirements:
67
101
  - - "~>"
68
102
  - !ruby/object:Gem::Version
69
- version: '3.2'
103
+ version: '1.22'
70
104
  - - ">="
71
105
  - !ruby/object:Gem::Version
72
- version: 3.2.0
106
+ version: 1.22.0
73
107
  - !ruby/object:Gem::Dependency
74
108
  name: simplecov
75
109
  requirement: !ruby/object:Gem::Requirement
76
110
  requirements:
77
111
  - - "~>"
78
112
  - !ruby/object:Gem::Version
79
- version: 0.9.2
113
+ version: 0.15.0
80
114
  type: :development
81
115
  prerelease: false
82
116
  version_requirements: !ruby/object:Gem::Requirement
83
117
  requirements:
84
118
  - - "~>"
85
119
  - !ruby/object:Gem::Version
86
- version: 0.9.2
120
+ version: 0.15.0
87
121
  - !ruby/object:Gem::Dependency
88
122
  name: sqlite3
89
123
  requirement: !ruby/object:Gem::Requirement
@@ -115,12 +149,11 @@ files:
115
149
  - ".rubocop.yml"
116
150
  - ".travis.yml"
117
151
  - Gemfile
118
- - Gemfile.lock
119
152
  - LICENSE
120
153
  - README.md
121
154
  - lib/sequel_vault.rb
122
155
  - sequel_vault.gemspec
123
- - spec/sequel_vault_spec.rb
156
+ - spec/sequel/plugins/vault_spec.rb
124
157
  - spec/spec_helper.rb
125
158
  homepage: http://rubygems.org/gems/sequel_vault
126
159
  licenses:
@@ -142,10 +175,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
142
175
  version: '0'
143
176
  requirements: []
144
177
  rubyforge_project:
145
- rubygems_version: 2.4.5.1
178
+ rubygems_version: 2.7.4
146
179
  signing_key:
147
180
  specification_version: 4
148
181
  summary: Handle attributes encryption.
149
182
  test_files:
150
- - spec/sequel_vault_spec.rb
183
+ - spec/sequel/plugins/vault_spec.rb
151
184
  - spec/spec_helper.rb
@@ -1,48 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- sequel_vault (0.5.1)
5
- fernet (~> 2.1, >= 2.1)
6
- sequel (~> 4.21, >= 4.21.0)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- diff-lcs (1.2.5)
12
- docile (1.1.5)
13
- fernet (2.1.1)
14
- valcro (= 0.1)
15
- multi_json (1.11.1)
16
- rspec (3.3.0)
17
- rspec-core (~> 3.3.0)
18
- rspec-expectations (~> 3.3.0)
19
- rspec-mocks (~> 3.3.0)
20
- rspec-core (3.3.1)
21
- rspec-support (~> 3.3.0)
22
- rspec-expectations (3.3.0)
23
- diff-lcs (>= 1.2.0, < 2.0)
24
- rspec-support (~> 3.3.0)
25
- rspec-mocks (3.3.1)
26
- diff-lcs (>= 1.2.0, < 2.0)
27
- rspec-support (~> 3.3.0)
28
- rspec-support (3.3.0)
29
- sequel (4.26.0)
30
- simplecov (0.9.2)
31
- docile (~> 1.1.0)
32
- multi_json (~> 1.0)
33
- simplecov-html (~> 0.9.0)
34
- simplecov-html (0.9.0)
35
- sqlite3 (1.3.10)
36
- valcro (0.1)
37
-
38
- PLATFORMS
39
- ruby
40
-
41
- DEPENDENCIES
42
- rspec (~> 3.2, >= 3.2.0)
43
- sequel_vault!
44
- simplecov (~> 0.9.2)
45
- sqlite3 (~> 1.3, >= 1.3.10)
46
-
47
- BUNDLED WITH
48
- 1.10.6