lb-persistence 0.2.0 → 0.3.0

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: 10650bcb263b3de597e131ce4845195860359394fe2cf06736a31d82e488377b
4
- data.tar.gz: 5e0bb4741af426964b54db10bc2852aea3d7d56c53efe0d5cdf540bbaf4c6bac
3
+ metadata.gz: 0aaa4e82cdf55105539b2b0b922221f1c13edba4f415550f606c92f992154616
4
+ data.tar.gz: d67a1ad39dfc23b52720978f5283ae1cb4fe0d808ab14e8a709fcdb067320556
5
5
  SHA512:
6
- metadata.gz: bc3cbbffd86a14edb1880e61cd55a3e6c48ee4827206b269c18978ac5b062093a4b63f427215e8093c0918632d736ceb49108b975363da7a6ad5eb12622563e7
7
- data.tar.gz: 7b4ed1360817c34611391c6f47963ea9b061128fee48b4a0e07b82cf65c5ff305396c9f01730652bfd104c3b860cdd2334a60da39e7283d7b974bd2b1917a079
6
+ metadata.gz: 01ca45c267be5d5a4d072d65a67d0fb26635f3c0c37587ccfb3d9951a8965ebb3851616ce660484c253715971c7b0da4554f2f3caf8bca51208067631b379496
7
+ data.tar.gz: 1b2f8d96eca4a1cf9340180dadb3935904f1eb900a8131cdeb700e15eb9bd8936a17f9a3a3a76b9c5d16e9dcf1c5386773d0060589305232caa347e2e5fd8aec
@@ -9,19 +9,14 @@ jobs:
9
9
  runs-on: ubuntu-latest
10
10
  strategy:
11
11
  matrix:
12
- ruby_version: ['2.5.x', '2.6.x', '2.7.x']
12
+ ruby_version: ['2.7', '3.0', '3.1', 'head']
13
13
  steps:
14
- - uses: actions/checkout@v2
15
- - name: Set up Ruby
16
- uses: actions/setup-ruby@v1
14
+ - uses: actions/checkout@v3
15
+ - name: Set up Ruby ${{ matrix.ruby-version }}
16
+ uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108
17
17
  with:
18
18
  ruby-version: ${{ matrix.ruby_version }}
19
19
  - name: Install dependencies
20
- run: |
21
- sudo apt-get update
22
- sudo apt-get install -y libsqlite3-dev
23
- - name: Build and test with Rake
24
- run: |
25
- gem install bundler
26
- bundle install --jobs 4 --retry 3
27
- bundle exec rake ci
20
+ run: bundle install
21
+ - name: Run tests
22
+ run: bundle exec rake ci
data/.gitignore CHANGED
@@ -33,6 +33,7 @@ measurements
33
33
  ## BUNDLER
34
34
  .bundle
35
35
  Gemfile.lock
36
+ vendor
36
37
 
37
38
  ## ctags
38
39
  tags
data/.rubocop.yml ADDED
@@ -0,0 +1,18 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.7
3
+ NewCops: enable
4
+ DisplayCopNames: true
5
+ Exclude:
6
+ - 'vendor/**/*'
7
+ Naming/FileName:
8
+ Exclude:
9
+ - Rakefile
10
+ Metrics/BlockLength:
11
+ Exclude:
12
+ - 'spec/**/*.rb'
13
+ - '*.gemspec'
14
+ Lint/ConstantDefinitionInBlock:
15
+ Exclude:
16
+ - 'spec/**/*.rb'
17
+ Style/OperatorMethodCall:
18
+ Enabled: false
data/Guardfile CHANGED
@@ -6,8 +6,7 @@ guard :bundler do
6
6
  watch(/\A(.+)\.gemspec\z/)
7
7
  end
8
8
 
9
- guard :rspec, cmd: 'bundle exec rspec ' +
10
- File.read('.rspec').split.join(' '),
9
+ guard :rspec, cmd: "bundle exec rspec #{File.read('.rspec').split.join(' ')}",
11
10
  failed_mode: :keep do
12
11
  # Run all specs if configuration is modified
13
12
  watch('.rspec') { 'spec' }
data/Rakefile CHANGED
@@ -1,5 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'devtools'
4
-
5
- Devtools.init_rake_tasks
3
+ require 'bundler/setup'
@@ -18,20 +18,17 @@ Gem::Specification.new do |gem|
18
18
  .split($INPUT_RECORD_SEPARATOR)
19
19
  gem.executables = `git ls-files -- bin/*`
20
20
  .split("\n").map { |f| File.basename(f) }
21
- gem.test_files = `git ls-files -- spec`
22
- .split($INPUT_RECORD_SEPARATOR)
23
21
  gem.extra_rdoc_files = %w[README.md]
24
- gem.required_ruby_version = '>= 2.4'
22
+ gem.required_ruby_version = '>= 2.7'
25
23
 
26
- gem.add_dependency 'dry-struct', '~> 1.3'
27
- gem.add_dependency 'rom', '~> 5.2'
28
- gem.add_dependency 'rom-sql', '~> 3.2'
24
+ gem.add_dependency 'dry-struct', '~> 1.6'
25
+ gem.add_dependency 'rom', '~> 5.3'
26
+ gem.add_dependency 'rom-sql', '~> 3.6'
29
27
 
30
- gem.add_development_dependency 'devtools', '~> 0.1.25'
31
- gem.add_development_dependency 'guard', '~> 2.16'
32
- gem.add_development_dependency 'guard-bundler', '~> 3.0'
33
- gem.add_development_dependency 'guard-rspec', '~> 4.7', '>= 4.7.3'
34
- gem.add_development_dependency 'guard-rubocop', '~> 1.3'
35
- gem.add_development_dependency 'rubocop', '~> 0.79'
36
- gem.add_development_dependency 'sqlite3', '~> 1.3'
28
+ gem.add_development_dependency 'rake', '~> 13.0.6'
29
+ gem.add_development_dependency 'rspec', '~> 3.12.0'
30
+ gem.add_development_dependency 'rspec-core', '~> 3.12.1'
31
+ gem.add_development_dependency 'rubocop', '~> 1.5'
32
+ gem.add_development_dependency 'sqlite3', '~> 1.6'
33
+ gem.metadata['rubygems_mfa_required'] = 'true'
37
34
  end
@@ -39,9 +39,7 @@ module LB
39
39
  group: :remove_key_prefix_inject_for,
40
40
  wrap: :remove_key_prefix_inject_hash_for
41
41
  }.each do |operation, inject|
42
- # rubocop:disable Layout/LineLength
43
42
  define_method :"#{operation}_prefix" do |array, key, keys, prefix, model = nil|
44
- # rubocop:enable Layout/LineLength
45
43
  compose do |ops|
46
44
  ops << t(operation, key, keys)
47
45
  ops << t(:map_array,
@@ -21,11 +21,11 @@ module LB
21
21
  end
22
22
 
23
23
  def qualify_on(on)
24
- on.map do |source, target|
24
+ on.to_h do |source, target|
25
25
  source = source.qualified if source.respond_to?(:qualified)
26
26
  target = target.qualified if target.respond_to?(:qualified)
27
27
  [source, target]
28
- end.to_h
28
+ end
29
29
  end
30
30
 
31
31
  def prefixed(relation,
@@ -3,6 +3,6 @@
3
3
  module LB
4
4
  class Persistence
5
5
  # Version
6
- VERSION = '0.2.0'
6
+ VERSION = '0.3.0'
7
7
  end
8
8
  end
@@ -123,7 +123,7 @@ module LB
123
123
  # @api private
124
124
  #
125
125
  def configure(config)
126
- config.auto_registration(settings.source_dir, options)
126
+ config.auto_registration(settings.source_dir, **options)
127
127
 
128
128
  config
129
129
  end
data/rakelib/ci.rake CHANGED
@@ -1,24 +1,28 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Remove existing same-named tasks
4
- %w[ci ci:metrics].each do |task|
5
- klass = Rake::Task
6
- klass[task].clear if klass.task_defined?(task)
3
+ namespace :metrics do
4
+ desc 'Check code style with RuboCop'
5
+ task :rubocop do
6
+ require 'rubocop'
7
+ begin
8
+ # args = %W[--config #{config.config_file}]
9
+ args = []
10
+ raise 'Rubocop failed' unless RuboCop::CLI.new.run(args).zero?
11
+ rescue Encoding::CompatibilityError => e
12
+ abort e.message
13
+ end
14
+ end
7
15
  end
8
16
 
9
- desc 'Run all specs, metrics and mutant'
17
+ desc 'Run CI tasks'
10
18
  task ci: %w[ci:metrics]
11
19
 
12
20
  namespace :ci do
13
21
  tasks = %w[
14
- metrics:coverage
15
- metrics:yardstick:verify
16
22
  metrics:rubocop
17
- metrics:flog
18
- metrics:flay
19
23
  spec:integration
20
24
  ]
21
25
 
22
- desc 'Run metrics (except mutant)'
26
+ desc 'Run metrics'
23
27
  task metrics: tasks
24
28
  end
data/rakelib/spec.rake ADDED
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ begin
4
+ require 'rspec/core/rake_task'
5
+
6
+ # Remove existing same-named tasks
7
+ %w[spec spec:unit spec:integration].each do |task|
8
+ klass = Rake::Task
9
+ klass[task].clear if klass.task_defined?(task)
10
+ end
11
+
12
+ desc 'Run all specs'
13
+ RSpec::Core::RakeTask.new(:spec) do |task|
14
+ task.pattern = 'spec/{unit,integration}/**/*_spec.rb'
15
+ end
16
+
17
+ namespace :spec do
18
+ desc 'Run unit specs'
19
+ RSpec::Core::RakeTask.new(:unit) do |task|
20
+ task.pattern = 'spec/unit/**/*_spec.rb'
21
+ end
22
+
23
+ desc 'Run integration specs'
24
+ RSpec::Core::RakeTask.new(:integration) do |task|
25
+ task.pattern = 'spec/integration/**/*_spec.rb'
26
+ end
27
+ end
28
+ rescue LoadError
29
+ %w[spec spec:unit spec:integration].each do |name|
30
+ task name do
31
+ warn "In order to run #{name}, do: gem install rspec"
32
+ end
33
+ end
34
+ end
35
+
36
+ task test: :spec
data/spec/spec_helper.rb CHANGED
@@ -17,8 +17,6 @@ $LOAD_PATH << 'lib'
17
17
 
18
18
  require 'lb-persistence'
19
19
 
20
- require 'devtools/spec_helper'
21
-
22
20
  # require spec support files and shared behavior
23
21
  Dir[File.expand_path('{support,shared}/**/*.rb', __dir__)].sort.each do |file|
24
22
  require file
@@ -7,7 +7,7 @@ describe LB::Persistence::Functions, '.group_prefix' do
7
7
 
8
8
  let(:object) do
9
9
  described_class.t(:group_prefix, key, keys, prefix, nested_class)
10
- .>> described_class.t(:model, model_class)
10
+ .>> described_class.t(:model, model_class)
11
11
  end
12
12
 
13
13
  let(:key) { :items }
@@ -7,7 +7,7 @@ describe LB::Persistence::Functions, '.wrap_prefix' do
7
7
 
8
8
  let(:object) do
9
9
  described_class.t(:wrap_prefix, key, keys, prefix, nested_class)
10
- .>> described_class.t(:model, model_class)
10
+ .>> described_class.t(:model, model_class)
11
11
  end
12
12
 
13
13
  let(:key) { :item }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lb-persistence
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Firas Zaidan
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-16 00:00:00.000000000 Z
11
+ date: 2023-04-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-struct
@@ -16,146 +16,112 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.3'
19
+ version: '1.6'
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.3'
26
+ version: '1.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rom
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '5.2'
33
+ version: '5.3'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '5.2'
40
+ version: '5.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rom-sql
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.2'
47
+ version: '3.6'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.2'
54
+ version: '3.6'
55
55
  - !ruby/object:Gem::Dependency
56
- name: devtools
56
+ name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.1.25
61
+ version: 13.0.6
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.1.25
68
+ version: 13.0.6
69
69
  - !ruby/object:Gem::Dependency
70
- name: guard
70
+ name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '2.16'
75
+ version: 3.12.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '2.16'
82
+ version: 3.12.0
83
83
  - !ruby/object:Gem::Dependency
84
- name: guard-bundler
84
+ name: rspec-core
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '3.0'
89
+ version: 3.12.1
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '3.0'
97
- - !ruby/object:Gem::Dependency
98
- name: guard-rspec
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '4.7'
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- version: 4.7.3
107
- type: :development
108
- prerelease: false
109
- version_requirements: !ruby/object:Gem::Requirement
110
- requirements:
111
- - - "~>"
112
- - !ruby/object:Gem::Version
113
- version: '4.7'
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: 4.7.3
117
- - !ruby/object:Gem::Dependency
118
- name: guard-rubocop
119
- requirement: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - "~>"
122
- - !ruby/object:Gem::Version
123
- version: '1.3'
124
- type: :development
125
- prerelease: false
126
- version_requirements: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - "~>"
129
- - !ruby/object:Gem::Version
130
- version: '1.3'
96
+ version: 3.12.1
131
97
  - !ruby/object:Gem::Dependency
132
98
  name: rubocop
133
99
  requirement: !ruby/object:Gem::Requirement
134
100
  requirements:
135
101
  - - "~>"
136
102
  - !ruby/object:Gem::Version
137
- version: '0.79'
103
+ version: '1.5'
138
104
  type: :development
139
105
  prerelease: false
140
106
  version_requirements: !ruby/object:Gem::Requirement
141
107
  requirements:
142
108
  - - "~>"
143
109
  - !ruby/object:Gem::Version
144
- version: '0.79'
110
+ version: '1.5'
145
111
  - !ruby/object:Gem::Dependency
146
112
  name: sqlite3
147
113
  requirement: !ruby/object:Gem::Requirement
148
114
  requirements:
149
115
  - - "~>"
150
116
  - !ruby/object:Gem::Version
151
- version: '1.3'
117
+ version: '1.6'
152
118
  type: :development
153
119
  prerelease: false
154
120
  version_requirements: !ruby/object:Gem::Requirement
155
121
  requirements:
156
122
  - - "~>"
157
123
  - !ruby/object:Gem::Version
158
- version: '1.3'
124
+ version: '1.6'
159
125
  description: LB Persistence API
160
126
  email:
161
127
  - firas@zaidan.de
@@ -178,7 +144,6 @@ files:
178
144
  - config/flog.yml
179
145
  - config/mutant.yml
180
146
  - config/reek.yml
181
- - config/rubocop.yml
182
147
  - config/yardstick.yml
183
148
  - lb-persistence.gemspec
184
149
  - lib/lb-persistence.rb
@@ -189,6 +154,7 @@ files:
189
154
  - lib/lb/persistence/types.rb
190
155
  - lib/lb/persistence/version.rb
191
156
  - rakelib/ci.rake
157
+ - rakelib/spec.rake
192
158
  - spec/shared/settings.rb
193
159
  - spec/spec_helper.rb
194
160
  - spec/support/helper.rb
@@ -202,8 +168,9 @@ files:
202
168
  homepage: https://github.com/lb-rb/lb-persistence
203
169
  licenses:
204
170
  - MIT
205
- metadata: {}
206
- post_install_message:
171
+ metadata:
172
+ rubygems_mfa_required: 'true'
173
+ post_install_message:
207
174
  rdoc_options: []
208
175
  require_paths:
209
176
  - lib
@@ -212,26 +179,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
212
179
  requirements:
213
180
  - - ">="
214
181
  - !ruby/object:Gem::Version
215
- version: '2.4'
182
+ version: '2.7'
216
183
  required_rubygems_version: !ruby/object:Gem::Requirement
217
184
  requirements:
218
185
  - - ">="
219
186
  - !ruby/object:Gem::Version
220
187
  version: '0'
221
188
  requirements: []
222
- rubyforge_project:
223
- rubygems_version: 2.7.8
224
- signing_key:
189
+ rubygems_version: 3.4.10
190
+ signing_key:
225
191
  specification_version: 4
226
192
  summary: LB Persistence API
227
- test_files:
228
- - spec/shared/settings.rb
229
- - spec/spec_helper.rb
230
- - spec/support/helper.rb
231
- - spec/unit/lb/persistence/class_methods/new_spec.rb
232
- - spec/unit/lb/persistence/connect_spec.rb
233
- - spec/unit/lb/persistence/container_spec.rb
234
- - spec/unit/lb/persistence/functions/class_methods/group_prefix_spec.rb
235
- - spec/unit/lb/persistence/functions/class_methods/wrap_prefix_spec.rb
236
- - spec/unit/lb/persistence/repository_spec.rb
237
- - spec/unit/lb/persistence/uri_spec.rb
193
+ test_files: []
data/.rubocop.yml DELETED
@@ -1 +0,0 @@
1
- ./config/rubocop.yml
data/config/rubocop.yml DELETED
@@ -1,11 +0,0 @@
1
- AllCops:
2
- TargetRubyVersion: 2.4
3
- DisplayCopNames: true
4
- Exclude: []
5
- Naming/FileName:
6
- Exclude:
7
- - Rakefile
8
- Metrics/BlockLength:
9
- Exclude:
10
- - 'spec/**/*'
11
- - '*.gemspec'