rom-yesql 1.0.0 → 1.1.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: f8a6d3dab4da13310d92b59073bf13b91e284fef8f4da60751aea849debe54a5
4
- data.tar.gz: 3482cbe0f53e94a8040b3bb9f9a91137a074d58d4d304c3192e527a026bf733b
3
+ metadata.gz: 332faa00fcb371dbfa8f7970458a83d923db7aa7af198898ec5512907900b3de
4
+ data.tar.gz: f2b3658976d44cb28ed12dc5da4f22fa4b3fd1fa912a8b6da157df97962e69f6
5
5
  SHA512:
6
- metadata.gz: 8d25f12ef1f8538d87bad637f8fa9d64188086606140085138dacc5e84bafacd4f9e4e9c32246117c610fbb46167c033838b069963e54ff2836467d2f15bfe6a
7
- data.tar.gz: f93b2e8e2adc49aaea229225cad6f287d456697dc28b8590428d9dd72c3174bc663b277916726528948a6e3b677067cfaef72438ba7d53660ec90fdc4633e272
6
+ metadata.gz: d285e7991c0753235e1e69024aa1069839687ad53c247004f9ecf4ed449a2ca082cad34e49fcdc4c58568e38a7822c859a2b22346f6f9dc7ea7ccdfd2dfc4835
7
+ data.tar.gz: 2d5b9f1b2d01ad06a142d96f1d07bba75cf690dc896ca46c8eea604788d62a76856915de090783fca6b3eb074fc369dfa34fd7fb96cd5809c9546644476de812
data/.action_hero.yml ADDED
@@ -0,0 +1,20 @@
1
+ # This is a config synced from rom-rb/template-gem repo
2
+
3
+ sources:
4
+ - repo: rom-rb/template-gem
5
+ sync:
6
+ - ".action_hero.yml.erb"
7
+ - ".devtools/templates/*.sync:${{dir}}/${{name}}"
8
+ - ".github/**/*.*"
9
+ - "spec/support/*"
10
+ - "CODE_OF_CONDUCT.md"
11
+ - "CONTRIBUTING.md"
12
+ - "CODEOWNERS"
13
+ - "LICENSE.erb"
14
+ - "README.erb"
15
+ - "Gemfile.devtools"
16
+ - ".rspec"
17
+ - ".rubocop.yml"
18
+ - repo: action-hero/workflows
19
+ sync:
20
+ - ".github/workflows/*.yml"
@@ -0,0 +1,29 @@
1
+ [gem]: https://rubygems.org/gems/<%= name %>
2
+ [actions]: https://github.com/rom-rb/<%= name %>/actions
3
+ [codacy]: https://www.codacy.com/gh/rom-rb/<%= name %>
4
+ [chat]: https://rom-rb.zulipchat.com
5
+ [inchpages]: http://inch-ci.org/github/rom-rb/<%= name %>
6
+
7
+ # <%= name %> [![Join the chat at https://rom-rb.zulipchat.com](https://img.shields.io/badge/rom--rb-join%20chat-%23346b7a.svg)][chat]
8
+
9
+ [![Gem Version](https://badge.fury.io/rb/<%= name %>.svg)][gem]
10
+ [![CI Status](https://github.com/rom-rb/<%= name %>/workflows/ci/badge.svg)][actions]
11
+ [![Codacy Badge](https://api.codacy.com/project/badge/Grade/<%= codacy_id %>)][codacy]
12
+ [![Codacy Badge](https://api.codacy.com/project/badge/Coverage/<%= codacy_id %>)][codacy]
13
+ [![Inline docs](http://inch-ci.org/github/rom-rb/<%= name %>.svg?branch=master)][inchpages]
14
+
15
+ ## Links
16
+
17
+ * [API documentation](http://rubydoc.info/gems/<%= name %>)
18
+ * User documentation - not written yet, but you [can write it](https://github.com/rom-rb/rom-yesql/issues/16)! 😄
19
+
20
+ ## Supported Ruby versions
21
+
22
+ This library officially supports the following Ruby versions:
23
+
24
+ * MRI >= `2.4`
25
+ * jruby >= `9.2`
26
+
27
+ ## License
28
+
29
+ See `LICENSE` file.
@@ -1,3 +1,6 @@
1
+
2
+ <!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
3
+
1
4
  <% releases.each_with_index do |r, idx| %>
2
5
  ## <%= r.version %> <%= r.date %>
3
6
 
@@ -0,0 +1,36 @@
1
+
2
+ <!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
3
+
4
+ <% if latest_release.summary %>
5
+ <%= latest_release.summary %>
6
+
7
+ <% end %>
8
+
9
+ <% if latest_release.added? %>
10
+ ### Added
11
+
12
+ <% latest_release.added.each do |log| %>
13
+ - <%= log %>
14
+ <% end %>
15
+
16
+ <% end %>
17
+ <% if latest_release.fixed? %>
18
+ ### Fixed
19
+
20
+ <% latest_release.fixed.each do |log| %>
21
+ - <%= log %>
22
+ <% end %>
23
+
24
+ <% end %>
25
+ <% if latest_release.changed? %>
26
+ ### Changed
27
+
28
+ <% latest_release.changed.each do |log| %>
29
+ - <%= log %>
30
+ <% end %>
31
+ <% end %>
32
+ <% if previous_release %>
33
+ <% ver_range = "v#{previous_release.version}...v#{latest_release.version}" %>
34
+
35
+ [Compare <%=ver_range%>](https://github.com/rom-rb/<%= project.name %>/compare/<%=ver_range%>)
36
+ <% end %>
@@ -0,0 +1 @@
1
+ github: hanami
@@ -2,28 +2,24 @@
2
2
  name: "\U0001F41B Bug report"
3
3
  about: See CONTRIBUTING.md for more information
4
4
  title: ''
5
- labels: bug
5
+ labels: bug, help wanted
6
6
  assignees: ''
7
7
 
8
8
  ---
9
9
 
10
- **Before you submit this: WE ONLY ACCEPT BUG REPORTS AND FEATURE REQUESTS**
11
-
12
- For more information see `CONTRIBUTING.md`.
13
-
14
- **Describe the bug**
10
+ ## Describe the bug
15
11
 
16
12
  A clear and concise description of what the bug is.
17
13
 
18
- **To Reproduce**
14
+ ## To Reproduce
19
15
 
20
- Provide detailed steps to reproduce, an executable script would be best.
16
+ Provide detailed steps to reproduce, **an executable script would be best**.
21
17
 
22
- **Expected behavior**
18
+ ## Expected behavior
23
19
 
24
20
  A clear and concise description of what you expected to happen.
25
21
 
26
- **Your environment**
22
+ ## My environment
27
23
 
28
24
  - Affects my production application: **YES/NO**
29
25
  - Ruby version: ...
@@ -0,0 +1,5 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Community Support
4
+ url: https://discourse.rom-rb.org
5
+ about: Please ask and answer questions here.
@@ -0,0 +1,3 @@
1
+ ## Support
2
+
3
+ If you need help with any of the rom-rb libraries, feel free to ask questions on our [discussion forum](https://discourse.rom-rb.org/). This is the best place to seek help. Make sure to search for a potential solution in past threads before posting your question. Thanks! :heart:
@@ -1,8 +1,7 @@
1
- # this file is managed by rom-rb/devtools project
2
-
1
+ # This file is synced from rom-rb/template-gem repo
3
2
  name: ci
4
3
 
5
- "on":
4
+ on:
6
5
  push:
7
6
  paths:
8
7
  - ".github/workflows/ci.yml"
@@ -16,29 +15,30 @@ name: ci
16
15
  - "project.yml"
17
16
  pull_request:
18
17
  branches:
19
- - master
18
+ - main
20
19
  create:
21
20
 
22
21
  jobs:
23
22
  tests:
24
23
  runs-on: ubuntu-latest
24
+ name: Tests
25
25
  strategy:
26
26
  fail-fast: false
27
27
  matrix:
28
28
  ruby:
29
- - "2.7.0"
30
- - "2.6"
31
- - "2.5"
32
- - "2.4"
33
- - "jruby"
29
+ - "3.1"
30
+ - "3.2"
31
+ - "3.3"
32
+ - "3.4"
34
33
  include:
35
- - ruby: "2.6"
34
+ - ruby: "3.4"
36
35
  coverage: "true"
37
36
  env:
38
37
  COVERAGE: ${{matrix.coverage}}
39
38
  COVERAGE_TOKEN: ${{secrets.CODACY_PROJECT_TOKEN}}
40
39
  steps:
41
- - uses: actions/checkout@v1
40
+ - name: Checkout
41
+ uses: actions/checkout@v1
42
42
  - name: Install package dependencies
43
43
  run: "[ -e $APT_DEPS ] || sudo apt-get install -y --no-install-recommends $APT_DEPS"
44
44
  - name: Set up Ruby
@@ -59,24 +59,3 @@ jobs:
59
59
  with:
60
60
  project-token: ${{secrets.CODACY_PROJECT_TOKEN}}
61
61
  coverage-reports: coverage/coverage.xml
62
- release:
63
- runs-on: ubuntu-latest
64
- if: contains(github.ref, 'tags') && github.event_name == 'create'
65
- needs: tests
66
- env:
67
- GITHUB_LOGIN: rom-bot
68
- GITHUB_TOKEN: ${{secrets.GH_PAT}}
69
- steps:
70
- - uses: actions/checkout@v1
71
- - name: Install package dependencies
72
- run: "[ -e $APT_DEPS ] || sudo apt-get install -y --no-install-recommends $APT_DEPS"
73
- - name: Set up Ruby
74
- uses: ruby/setup-ruby@v1
75
- with:
76
- ruby-version: 2.6
77
- - name: Install dependencies
78
- run: gem install ossy --no-document
79
- - name: Trigger release workflow
80
- run: |
81
- tag=$(echo $GITHUB_REF | cut -d / -f 3)
82
- ossy gh w rom-rb/devtools release --payload "{\"tag\":\"$tag\",\"tag_creator\":\"$GITHUB_ACTOR\",\"repo\":\"$GITHUB_REPOSITORY\"}"
@@ -1,4 +1,4 @@
1
- # this file is managed by rom-rb/devtools project
1
+ # This file is synced from rom-rb/template-gem repo
2
2
 
3
3
  name: docsite
4
4
 
@@ -8,7 +8,7 @@ on:
8
8
  - docsite/**
9
9
  - .github/workflows/docsite.yml
10
10
  branches:
11
- - master
11
+ - main
12
12
  - release-**
13
13
  tags:
14
14
 
@@ -51,7 +51,7 @@ jobs:
51
51
 
52
52
  git push --all "https://rom-bot:${{secrets.GH_PAT}}@github.com/$GITHUB_REPOSITORY.git"
53
53
 
54
- git checkout master
54
+ git checkout main
55
55
  else
56
56
  echo "no need to update branches"
57
57
  fi
@@ -60,3 +60,4 @@ jobs:
60
60
  GITHUB_LOGIN: rom-bot
61
61
  GITHUB_TOKEN: ${{secrets.GH_PAT}}
62
62
  run: ossy github workflow rom-rb/rom-rb.org ci
63
+
@@ -0,0 +1,46 @@
1
+ name: "RuboCop"
2
+ on:
3
+ push:
4
+ branches:
5
+ - "main"
6
+ - "master"
7
+ paths:
8
+ - "**/*.rb"
9
+ - "**/*.rake"
10
+ - "Rakefile"
11
+ - "Gemfile*"
12
+ - ".rubocop.yml"
13
+ pull_request:
14
+ branches:
15
+ - "main"
16
+ - "master"
17
+ types:
18
+ - "opened"
19
+ - "synchronize"
20
+ workflow_dispatch:
21
+ jobs:
22
+ run:
23
+ runs-on: ubuntu-latest
24
+ name: ${{ matrix.type }}
25
+ strategy:
26
+ fail-fast: false
27
+ matrix:
28
+ type: ["Style", "Layout", "Naming", "Lint", "Metrics", "Security"]
29
+ steps:
30
+ - name: Clone
31
+ uses: actions/checkout@v2
32
+ - name: Get git diff
33
+ id: get_diff
34
+ uses: technote-space/get-diff-action@v4
35
+ with:
36
+ PATTERNS: |
37
+ **/*.rb
38
+ **/*.rake
39
+ Gemfile
40
+ Rakefile
41
+ - name: Check ${{ matrix.type }}
42
+ uses: action-hero/actions/rubocop@main
43
+ if: ${{ env.GIT_DIFF != '' }}
44
+ with:
45
+ diff: ${{ env.GIT_DIFF }}
46
+ type: ${{ matrix.type }}
@@ -1,17 +1,23 @@
1
- # this file is managed by rom-rb/devtools project
1
+ # This file is synced from rom-rb/template-gem repo
2
2
 
3
- name: sync
3
+ name: Changelog
4
4
 
5
5
  on:
6
- repository_dispatch:
7
6
  push:
7
+ paths:
8
+ - "changelog.yml"
8
9
  branches:
9
- - "master"
10
+ - "main"
11
+ pull_request:
12
+ branches:
13
+ - "main"
14
+ types: [closed]
10
15
 
11
16
  jobs:
12
- main:
17
+ sync:
13
18
  runs-on: ubuntu-latest
14
- if: (github.event_name == 'repository_dispatch' && github.event.action == 'sync_configs') || github.event_name != 'repository_dispatch'
19
+ if: github.event.pull_request.merged == true
20
+ name: Update
15
21
  env:
16
22
  GITHUB_LOGIN: rom-bot
17
23
  GITHUB_TOKEN: ${{ secrets.GH_PAT }}
@@ -28,17 +34,11 @@ jobs:
28
34
  git config --local user.email "rom-bot@rom-rb.org"
29
35
  git config --local user.name "rom-bot"
30
36
  - name: Set up Ruby
31
- uses: ruby/setup-ruby@v1
37
+ uses: actions/setup-ruby@v1
32
38
  with:
33
- ruby-version: 2.6
39
+ ruby-version: "2.6"
34
40
  - name: Install dependencies
35
41
  run: gem install ossy --no-document
36
- - name: Compile file templates
37
- run: tmp/devtools/bin/compile-templates
38
- - name: Update workflow files from devtools
39
- run: tmp/devtools/bin/sync-workflows
40
- - name: Update configuration files from devtools
41
- run: tmp/devtools/bin/sync-shared-files
42
42
  - name: Update changelog.yml from commit
43
43
  run: tmp/devtools/bin/update-changelog-from-commit $GITHUB_SHA
44
44
  - name: Compile CHANGELOG.md
@@ -46,8 +46,8 @@ jobs:
46
46
  - name: Commit
47
47
  run: |
48
48
  git add -A
49
- git commit -m "[devtools] sync" || echo "nothing to commit"
49
+ git commit -m "Update CHANGELOG.md" || echo "nothing to commit"
50
50
  - name: Push changes
51
51
  run: |
52
- git pull --rebase origin master
53
- git push https://rom-bot:${{secrets.GH_PAT}}@github.com/${{github.repository}}.git HEAD:master
52
+ git pull --rebase origin main
53
+ git push https://rom-bot:${{secrets.GH_PAT}}@github.com/${{github.repository}}.git HEAD:main
data/.rubocop.yml CHANGED
@@ -1,13 +1,19 @@
1
- # this file is managed by rom-rb/devtools project
2
-
1
+ # This is a config synced from rom-rb/template-gem repo
3
2
  AllCops:
4
- TargetRubyVersion: 2.4
3
+ TargetRubyVersion: 3.1
4
+ NewCops: enable
5
+ SuggestExtensions: false
5
6
  Exclude:
6
7
  - spec/support/coverage.rb
7
8
  - spec/support/warnings.rb
9
+ - spec/support/rspec_options.rb
8
10
  - Gemfile.devtools
9
11
  - "*.gemspec"
10
12
 
13
+ Layout/ArgumentAlignment:
14
+ Enabled: false
15
+ EnforcedStyle: with_fixed_indentation
16
+
11
17
  Layout/SpaceAroundMethodCallOperator:
12
18
  Enabled: false
13
19
 
@@ -27,13 +33,33 @@ Layout/SpaceInsideHashLiteralBraces:
27
33
  EnforcedStyleForEmptyBraces: no_space
28
34
 
29
35
  Layout/LineLength:
30
- Max: 100
36
+ Max: 120
31
37
  Exclude:
32
38
  - "spec/**/*_spec.rb"
33
39
 
40
+ Lint/AmbiguousBlockAssociation:
41
+ Enabled: true
42
+ # because 'expect { foo }.to change { bar }' is fine
43
+ Exclude:
44
+ - "spec/**/*.rb"
45
+
34
46
  Lint/BooleanSymbol:
35
47
  Enabled: false
36
48
 
49
+ Lint/MissingSuper:
50
+ Enabled: false
51
+
52
+ Lint/ConstantDefinitionInBlock:
53
+ Enabled: false
54
+
55
+ Lint/EmptyBlock:
56
+ Exclude:
57
+ - "spec/**/*.rb"
58
+
59
+ Lint/EmptyClass:
60
+ Exclude:
61
+ - "spec/**/*.rb"
62
+
37
63
  Lint/RaiseException:
38
64
  Enabled: false
39
65
 
@@ -42,7 +68,27 @@ Lint/StructNewOverride:
42
68
 
43
69
  Lint/SuppressedException:
44
70
  Exclude:
45
- - "spec/spec_helper.rb"
71
+ - "spec/**/*.rb"
72
+
73
+ Lint/UselessMethodDefinition:
74
+ Exclude:
75
+ - "lib/rom/struct.rb"
76
+
77
+ Lint/UnderscorePrefixedVariableName:
78
+ Enabled: false
79
+
80
+ Lint/ToEnumArguments:
81
+ Exclude:
82
+ - "lib/rom/command.rb"
83
+
84
+ Naming/MethodParameterName:
85
+ Enabled: false
86
+
87
+ Naming/AccessorMethodName:
88
+ Enabled: false
89
+
90
+ Naming/VariableNumber:
91
+ Enabled: false
46
92
 
47
93
  Naming/PredicateName:
48
94
  Enabled: false
@@ -60,6 +106,9 @@ Naming/MemoizedInstanceVariableName:
60
106
  Metrics/MethodLength:
61
107
  Enabled: false
62
108
 
109
+ Metrics/ModuleLength:
110
+ Enabled: false
111
+
63
112
  Metrics/ClassLength:
64
113
  Enabled: false
65
114
 
@@ -67,12 +116,21 @@ Metrics/BlockLength:
67
116
  Enabled: false
68
117
 
69
118
  Metrics/AbcSize:
70
- Max: 25
119
+ Max: 36
71
120
 
72
121
  Metrics/CyclomaticComplexity:
73
122
  Enabled: true
74
123
  Max: 12
75
124
 
125
+ Metrics/PerceivedComplexity:
126
+ Max: 14
127
+
128
+ Metrics/ParameterLists:
129
+ Enabled: false
130
+
131
+ Style/AccessorGrouping:
132
+ Enabled: false
133
+
76
134
  Style/ExponentialNotation:
77
135
  Enabled: false
78
136
 
@@ -99,8 +157,7 @@ Style/BlockDelimiters:
99
157
  Enabled: false
100
158
 
101
159
  Style/ClassAndModuleChildren:
102
- Exclude:
103
- - "spec/**/*_spec.rb"
160
+ Enabled: false
104
161
 
105
162
  Style/ConditionalAssignment:
106
163
  Enabled: false
@@ -145,8 +202,46 @@ Style/StringLiteralsInInterpolation:
145
202
  EnforcedStyle: double_quotes
146
203
 
147
204
  Style/SymbolArray:
148
- Exclude:
149
- - "spec/**/*_spec.rb"
205
+ Enabled: false
206
+
207
+ Style/OptionalBooleanParameter:
208
+ Enabled: false
209
+
210
+ Style/MultilineBlockChain:
211
+ Enabled: false
212
+
213
+ Style/DocumentDynamicEvalDefinition:
214
+ Enabled: false
150
215
 
151
216
  Style/TrailingUnderscoreVariable:
152
217
  Enabled: false
218
+
219
+ Style/MultipleComparison:
220
+ Enabled: false
221
+
222
+ Style/StringConcatenation:
223
+ Enabled: false
224
+
225
+ Style/OpenStructUse:
226
+ Enabled: false
227
+
228
+ Style/MapToHash:
229
+ Enabled: false
230
+
231
+ Style/FormatStringToken:
232
+ Enabled: false
233
+
234
+ Style/StructInheritance:
235
+ Enabled: false
236
+
237
+ Style/PreferredHashMethods:
238
+ Enabled: false
239
+
240
+ Style/DoubleNegation:
241
+ Enabled: false
242
+
243
+ Style/MissingRespondToMissing:
244
+ Enabled: false
245
+
246
+ Style/CombinableLoops:
247
+ Enabled: false
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ <!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
2
+
3
+ ## 1.1.0 2025-01-19
4
+
5
+ Updated to work with rom 5.4.0
6
+
7
+
8
+ [Compare v1.0.0...v1.1.0](https://github.com/rom-rb/rom-yesql/compare/v1.0.0...v1.1.0)
9
+
1
10
  ## 1.0.0 2020-12-06
2
11
 
3
12
  Updated to work with rom 6.0.0 (@mrship)
data/CODEOWNERS ADDED
@@ -0,0 +1 @@
1
+ * @solnic
data/CONTRIBUTING.md CHANGED
@@ -6,11 +6,11 @@ If you found a bug, report an issue and describe what's the expected behavior ve
6
6
 
7
7
  ## Reporting feature requests
8
8
 
9
- Report a feature request **only after discussing it first on [discourse.rom-rb.org](https://discourse.rom-rb.org)** where it was accepted. Please provide a concise description of the feature, don't link to a discussion thread, and instead summarize what was discussed.
9
+ Report a feature request **only after discussing it first on [discourse.rom-rb.org](https://discourse.rom-rb.org)** where it was accepted. Please provide a concise description of the feature.
10
10
 
11
11
  ## Reporting questions, support requests, ideas, concerns etc.
12
12
 
13
- **PLEASE DON'T** - use [discourse.rom-rb.org](http://discourse.rom-rb.org) instead.
13
+ **PLEASE DON'T** - use [discourse.rom-rb.org](https://discourse.rom-rb.org) instead.
14
14
 
15
15
  # Pull Request Guidelines
16
16
 
@@ -26,4 +26,4 @@ Other requirements:
26
26
 
27
27
  # Asking for help
28
28
 
29
- If these guidelines aren't helpful, and you're stuck, please post a message on [discourse.rom-rb.org](https://discourse.rom-rb.org) or join [our chat](https://rom-rb.zulipchat.com).
29
+ If these guidelines aren't helpful, and you're stuck, please post a message on [discourse.rom-rb.org](https://discourse.rom-rb.org).
data/Gemfile CHANGED
@@ -7,8 +7,6 @@ gemspec
7
7
  eval_gemfile "Gemfile.devtools"
8
8
 
9
9
  group :test do
10
- gem "codeclimate-test-reporter", require: false
11
- gem "inflecto"
12
10
  gem "jdbc-sqlite3", platforms: :jruby
13
11
  gem "rspec", "~> 3.5"
14
12
  gem "sqlite3", platforms: %i[mri rbx]
data/Gemfile.devtools CHANGED
@@ -2,16 +2,19 @@
2
2
 
3
3
  # this file is managed by rom-rb/devtools project
4
4
 
5
+ gem "rake", ">= 12.3.3"
6
+
5
7
  git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6
8
 
7
9
  group :test do
8
10
  gem "simplecov", require: false, platforms: :ruby
9
11
  gem "simplecov-cobertura", require: false, platforms: :ruby
12
+ gem "rexml", require: false
10
13
 
11
- gem "warning" if RUBY_VERSION >= "2.4.0"
14
+ gem "warning"
12
15
  end
13
16
 
14
17
  group :tools do
15
18
  # this is the same version that we use on codacy
16
- gem "rubocop", "0.82.0"
19
+ gem "rubocop", "1.69.2"
17
20
  end
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2015-2020 rom-rb team
3
+ Copyright (c) 2015-2021 rom-rb team
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  this software and associated documentation files (the "Software"), to deal in
data/README.md CHANGED
@@ -1,6 +1,5 @@
1
1
  [gem]: https://rubygems.org/gems/rom-yesql
2
2
  [actions]: https://github.com/rom-rb/rom-yesql/actions
3
- [codacy]: https://www.codacy.com/gh/rom-rb/rom-yesql
4
3
  [chat]: https://rom-rb.zulipchat.com
5
4
  [inchpages]: http://inch-ci.org/github/rom-rb/rom-yesql
6
5
 
@@ -8,9 +7,8 @@
8
7
 
9
8
  [![Gem Version](https://badge.fury.io/rb/rom-yesql.svg)][gem]
10
9
  [![CI Status](https://github.com/rom-rb/rom-yesql/workflows/ci/badge.svg)][actions]
11
- [![Codacy Badge](https://api.codacy.com/project/badge/Grade/88fbb464691e4666b94e0455468b68bf)][codacy]
12
- [![Codacy Badge](https://api.codacy.com/project/badge/Coverage/88fbb464691e4666b94e0455468b68bf)][codacy]
13
- [![Inline docs](http://inch-ci.org/github/rom-rb/rom-yesql.svg?branch=master)][inchpages]
10
+ [![RuboCop](https://github.com/rom-rb/rom-yesql/actions/workflows/rubocop.yml/badge.svg)](https://github.com/rom-rb/rom-yesql/actions/workflows/rubocop.yml)
11
+ [![Inline docs](http://inch-ci.org/github/rom-rb/rom-yesql.svg?branch=main)][inchpages]
14
12
 
15
13
  ## Links
16
14
 
@@ -21,8 +19,8 @@
21
19
 
22
20
  This library officially supports the following Ruby versions:
23
21
 
24
- * MRI >= `2.4`
25
- * jruby >= `9.2`
22
+ * MRI >= `3.1`
23
+ * JRuby >= `9.4` (not tested)
26
24
 
27
25
  ## License
28
26
 
data/changelog.yml CHANGED
@@ -1,4 +1,9 @@
1
1
  ---
2
+ - version: 1.1.0
3
+ date: '2025-01-19'
4
+ summary: Updated to work with rom 5.4.0
5
+ changed:
6
+ - Minimal Ruby version is now 3.1.0 (@flash-gordon)
2
7
  - version: 1.0.0
3
8
  date: '2020-12-06'
4
9
  summary: Updated to work with rom 6.0.0 (@mrship)
@@ -15,7 +15,7 @@ module ROM
15
15
  # expose access to gateway's queries.
16
16
  #
17
17
  # @api public
18
- class Gateway < ROM::Gateway
18
+ class Gateway < ::ROM::Gateway
19
19
  extend Initializer
20
20
 
21
21
  adapter :yesql
@@ -71,9 +71,9 @@ module ROM
71
71
  # @option :query_proc [Proc]
72
72
  #
73
73
  # @api public
74
- def initialize(*)
74
+ def initialize(*, **)
75
75
  super
76
- @connection = Sequel.connect(uri, options)
76
+ @connection = ::Sequel.connect(uri, options)
77
77
  @queries = @queries.merge(load_queries(path)).freeze
78
78
  Relation.query_proc(query_proc)
79
79
  Relation.load_queries(queries)
@@ -110,20 +110,21 @@ module ROM
110
110
  if path.nil?
111
111
  {}
112
112
  else
113
- Dir["#{path}/*"].each_with_object({}) do |dir, fs_queries|
114
- dataset = File.basename(dir).to_sym
115
-
116
- fs_queries[dataset] = Dir["#{dir}/**/*.sql"].each_with_object({}) do |file, ds_queries|
117
- query_name = File.basename(file, ".*").to_sym
118
- sql = File.read(file).strip
119
-
120
- ds_queries[query_name] = sql
121
- end
113
+ ::Dir["#{path}/*"].to_h do |dir|
114
+ [
115
+ ::File.basename(dir).to_sym,
116
+ ::Dir["#{dir}/**/*.sql"].to_h do |file|
117
+ query_name = ::File.basename(file, ".*").to_sym
118
+ sql = ::File.read(file).strip
119
+
120
+ [query_name, sql]
121
+ end
122
+ ]
122
123
  end
123
124
  end
124
125
  end
125
126
  end
126
127
  end
127
128
 
128
- register_adapter(:yesql, ROM::Yesql)
129
+ register_adapter(:yesql, Yesql)
129
130
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module ROM
4
4
  module Yesql
5
- class Relation < ROM::Relation
5
+ class Relation < ::ROM::Relation
6
6
  module ClassInterface
7
7
  # Sets dataset name for the relation class
8
8
  #
@@ -32,14 +32,14 @@ module ROM
32
32
  # rom.relations[:reports] # use like a normal rom relation
33
33
  #
34
34
  # @api public
35
- class Relation < ROM::Relation
35
+ class Relation < ::ROM::Relation
36
36
  adapter :yesql
37
37
 
38
- extend Dry::Core::ClassAttributes
38
+ extend ::Dry::Core::ClassAttributes
39
39
 
40
40
  defines :query_proc
41
41
 
42
- Materialized = Class.new(ROM::Relation)
42
+ Materialized = ::Class.new(::ROM::Relation)
43
43
 
44
44
  # Extends a relation with query methods
45
45
  #
@@ -84,13 +84,9 @@ module ROM
84
84
  #
85
85
  # @api private
86
86
  def self.load_queries(queries)
87
- @queries = {}
88
- queries.each do |ds, ds_queries|
89
- @queries[ds] = ds_queries.each_with_object({}) do |(name, query), h|
90
- h[name] = query
91
- end
87
+ @queries = queries.to_h do |ds, ds_queries|
88
+ [ds, ds_queries.to_h { |name, query| [name, query] }]
92
89
  end
93
- @queries
94
90
  end
95
91
 
96
92
  # Returns query proc set on a relation class
@@ -2,6 +2,6 @@
2
2
 
3
3
  module ROM
4
4
  module Yesql
5
- VERSION = "1.0.0"
5
+ VERSION = "1.1.0"
6
6
  end
7
7
  end
data/rakelib/rubocop.rake CHANGED
@@ -16,4 +16,5 @@ begin
16
16
  end
17
17
  end
18
18
  rescue LoadError
19
+ # rubocop is not available
19
20
  end
data/rom-yesql.gemspec CHANGED
@@ -1,13 +1,15 @@
1
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path("lib", __dir__)
2
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require 'rom/yesql/version'
5
+ require "rom/yesql/version"
4
6
 
5
7
  Gem::Specification.new do |spec|
6
8
  spec.name = "rom-yesql"
7
9
  spec.version = ROM::Yesql::VERSION.dup
8
10
  spec.authors = ["Piotr Solnica"]
9
11
  spec.email = ["piotr.solnica@gmail.com"]
10
- spec.summary = 'Yesql adapter for ROM'
12
+ spec.summary = "Yesql adapter for ROM"
11
13
  spec.description = spec.summary
12
14
  spec.homepage = "http://rom-rb.org"
13
15
  spec.license = "MIT"
@@ -16,10 +18,9 @@ Gem::Specification.new do |spec|
16
18
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
20
  spec.require_paths = ["lib"]
21
+ spec.required_ruby_version = ">= 3.1.0"
19
22
 
20
- spec.add_runtime_dependency "rom", "~>5"
21
- spec.add_runtime_dependency "dry-core", "~>0.4"
22
- spec.add_runtime_dependency "sequel", "~>5"
23
- spec.add_development_dependency "bundler"
24
- spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_runtime_dependency "dry-core", "~>1.1"
24
+ spec.add_runtime_dependency "rom", "~> 5.4"
25
+ spec.add_runtime_dependency "sequel", "~> 5"
25
26
  end
@@ -8,7 +8,7 @@ RSpec.describe "ROM / Yesql" do
8
8
  let(:container) { ROM.container(configuration) }
9
9
 
10
10
  let!(:configuration) do
11
- ROM::Configuration.new(:yesql, [uri, path: path, queries: {reports: report_queries}])
11
+ ROM::Configuration.new(:yesql, uri, path: path, queries: {reports: report_queries})
12
12
  end
13
13
 
14
14
  let(:report_queries) { {all_users: "SELECT * FROM users ORDER BY %{order}"} }
data/spec/spec_helper.rb CHANGED
@@ -10,7 +10,6 @@ require_relative "support/warnings"
10
10
  Warning.process { |w| raise w } if ENV["FAIL_ON_WARNINGS"].eql?("true")
11
11
 
12
12
  require "rom-yesql"
13
- require "inflecto"
14
13
  require "logger"
15
14
 
16
15
  begin
@@ -36,4 +35,4 @@ RSpec.configure do |config|
36
35
  config.warnings = true
37
36
  end
38
37
 
39
- Dir[root.join("shared/*.rb").to_s].sort.each { |f| require f }
38
+ Dir[root.join("shared/*.rb").to_s].each { |f| require f }
@@ -0,0 +1,16 @@
1
+ RSpec.configure do |config|
2
+ # When no filter given, search and run focused tests
3
+ config.filter_run_when_matching :focus
4
+
5
+ # Disables rspec monkey patches (no reason for their existence tbh)
6
+ config.disable_monkey_patching!
7
+
8
+ # Run ruby in verbose mode
9
+ config.warnings = true
10
+
11
+ # Collect all failing expectations automatically,
12
+ # without calling aggregate_failures everywhere
13
+ config.define_derived_metadata do |meta|
14
+ meta[:aggregate_failures] = true
15
+ end
16
+ end
metadata CHANGED
@@ -1,43 +1,42 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rom-yesql
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Solnica
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2020-12-06 00:00:00.000000000 Z
10
+ date: 2025-01-19 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: rom
13
+ name: dry-core
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: '5'
18
+ version: '1.1'
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: '5'
25
+ version: '1.1'
27
26
  - !ruby/object:Gem::Dependency
28
- name: dry-core
27
+ name: rom
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - "~>"
32
31
  - !ruby/object:Gem::Version
33
- version: '0.4'
32
+ version: '5.4'
34
33
  type: :runtime
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - "~>"
39
38
  - !ruby/object:Gem::Version
40
- version: '0.4'
39
+ version: '5.4'
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: sequel
43
42
  requirement: !ruby/object:Gem::Requirement
@@ -52,34 +51,6 @@ dependencies:
52
51
  - - "~>"
53
52
  - !ruby/object:Gem::Version
54
53
  version: '5'
55
- - !ruby/object:Gem::Dependency
56
- name: bundler
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: rake
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '10.0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '10.0'
83
54
  description: Yesql adapter for ROM
84
55
  email:
85
56
  - piotr.solnica@gmail.com
@@ -87,17 +58,23 @@ executables: []
87
58
  extensions: []
88
59
  extra_rdoc_files: []
89
60
  files:
61
+ - ".action_hero.yml"
62
+ - ".devtools/templates/README.md.erb"
90
63
  - ".devtools/templates/changelog.erb"
91
- - ".github/ISSUE_TEMPLATE/----please-don-t-ask-for-support-via-issues.md"
92
- - ".github/ISSUE_TEMPLATE/---bug-report.md"
93
- - ".github/ISSUE_TEMPLATE/---feature-request.md"
64
+ - ".devtools/templates/release.erb"
65
+ - ".github/FUNDING.yml"
66
+ - ".github/ISSUE_TEMPLATE/bug-report.md"
67
+ - ".github/ISSUE_TEMPLATE/config.yml"
68
+ - ".github/SUPPORT.md"
94
69
  - ".github/workflows/ci.yml"
95
70
  - ".github/workflows/docsite.yml"
71
+ - ".github/workflows/rubocop.yml"
96
72
  - ".github/workflows/sync_configs.yml"
97
73
  - ".gitignore"
98
74
  - ".rspec"
99
75
  - ".rubocop.yml"
100
76
  - CHANGELOG.md
77
+ - CODEOWNERS
101
78
  - CODE_OF_CONDUCT.md
102
79
  - CONTRIBUTING.md
103
80
  - Gemfile
@@ -127,13 +104,13 @@ files:
127
104
  - spec/shared/users_and_tasks.rb
128
105
  - spec/spec_helper.rb
129
106
  - spec/support/coverage.rb
107
+ - spec/support/rspec_options.rb
130
108
  - spec/support/warnings.rb
131
109
  - spec/unit/rom/yesql/repository_spec.rb
132
110
  homepage: http://rom-rb.org
133
111
  licenses:
134
112
  - MIT
135
113
  metadata: {}
136
- post_install_message:
137
114
  rdoc_options: []
138
115
  require_paths:
139
116
  - lib
@@ -141,15 +118,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
141
118
  requirements:
142
119
  - - ">="
143
120
  - !ruby/object:Gem::Version
144
- version: '0'
121
+ version: 3.1.0
145
122
  required_rubygems_version: !ruby/object:Gem::Requirement
146
123
  requirements:
147
124
  - - ">="
148
125
  - !ruby/object:Gem::Version
149
126
  version: '0'
150
127
  requirements: []
151
- rubygems_version: 3.1.4
152
- signing_key:
128
+ rubygems_version: 3.6.2
153
129
  specification_version: 4
154
130
  summary: Yesql adapter for ROM
155
131
  test_files:
@@ -161,5 +137,6 @@ test_files:
161
137
  - spec/shared/users_and_tasks.rb
162
138
  - spec/spec_helper.rb
163
139
  - spec/support/coverage.rb
140
+ - spec/support/rspec_options.rb
164
141
  - spec/support/warnings.rb
165
142
  - spec/unit/rom/yesql/repository_spec.rb
@@ -1,10 +0,0 @@
1
- ---
2
- name: "⚠️ Please don't ask for support via issues"
3
- about: See CONTRIBUTING.md for more information
4
- title: ''
5
- labels: ''
6
- assignees: ''
7
-
8
- ---
9
-
10
-
@@ -1,18 +0,0 @@
1
- ---
2
- name: "\U0001F6E0 Feature request"
3
- about: See CONTRIBUTING.md for more information
4
- title: ''
5
- labels: feature
6
- assignees: ''
7
-
8
- ---
9
-
10
- Summary of what the feature is supposed to do.
11
-
12
- ## Examples
13
-
14
- Code examples showing how the feature could be used.
15
-
16
- ## Resources
17
-
18
- Additional information, like a link to the discussion forum thread where the feature was discussed etc.