rom-yesql 1.0.0 → 1.1.0

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