sequel_vault 0.5.1 → 0.5.2

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
- 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