sequel_caller_location 0.3.0 → 0.4.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: 475ec67c63cf67c042c9ec60267a35f3612ef41ceae6dced9900a2d9cd719b34
4
- data.tar.gz: 5d06413010d4e05f9c84d4e10c91d61208fed87b75497a7d067f0c5623349c65
3
+ metadata.gz: 664ed2c560cae2dd6dcec7eb5375894c582ecec65c47e9b2d7430128d1a0748d
4
+ data.tar.gz: 53d362a1bb2704d8a03bf03923f7eac7540c49868773583404252dc970143867
5
5
  SHA512:
6
- metadata.gz: 001e1bfc735875c4097a390068e3212e9d73ac1eb8ec2c5f225b4da6e0179548b73423aae481165f703a7b274055b726e58cc91ecf144f7e7e18f6dba64a3690
7
- data.tar.gz: 006ced3d9eb278d13e4f1760ce0a990a10b6e9ed88d557499d330bf1643e9e4cbb9d1fa0fb4ba32ec31518cd60e132914e2329a347853d762f62cf7b76454263
6
+ metadata.gz: fbe86a4254db07e89fb81c2600680a927793a9352c8770b79b639c5c03fd9de1c34a0f59d98396512e35deaddbdf363ce5cdc56a482060d9eb5169ceffc44bcb
7
+ data.tar.gz: cf5394da20edc9ea12cf3e60d43afd239667d6688cec172f07c8bfea37befa56b1d566e10c5aa51379af2538eaef484c6e23128d5c5f8d4ab72d2c68a4faea1f
@@ -0,0 +1,10 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "bundler"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ - package-ecosystem: "github-actions"
8
+ directory: "/"
9
+ schedule:
10
+ interval: "weekly"
@@ -1,16 +1,17 @@
1
1
  name: Build
2
- on: [push]
2
+ on:
3
+ push:
4
+ pull_request:
3
5
  jobs:
4
6
  test:
5
7
  runs-on: ubuntu-latest
6
8
  steps:
7
- - uses: actions/checkout@v2
9
+ - uses: actions/checkout@v7
8
10
  - name: Set up Ruby
9
11
  uses: ruby/setup-ruby@v1
10
12
  with:
11
- ruby-version: 2.6
12
- - name: Install dependencies
13
- run: bundle install
13
+ ruby-version: '3.4'
14
+ bundler-cache: true
14
15
  - name: Run linter
15
16
  run: bundle exec rubocop --parallel
16
17
  - name: Run tests
@@ -7,11 +7,11 @@ jobs:
7
7
  name: Publish
8
8
  runs-on: ubuntu-latest
9
9
  steps:
10
- - uses: actions/checkout@v2
11
- - name: Set up Ruby 2.6
12
- uses: actions/setup-ruby@v1
10
+ - uses: actions/checkout@v7
11
+ - name: Set up Ruby
12
+ uses: ruby/setup-ruby@v1
13
13
  with:
14
- version: 2.6.x
14
+ ruby-version: '3.4'
15
15
  - name: Publish to RubyGems
16
16
  run: |
17
17
  mkdir -p $HOME/.gem
data/.rubocop.yml CHANGED
@@ -1,15 +1,12 @@
1
- require:
1
+ plugins:
2
2
  - rubocop-rspec
3
3
 
4
+ AllCops:
5
+ NewCops: enable
6
+
4
7
  # Offense count: 2
5
8
  Style/Documentation:
6
9
  Exclude:
7
10
  - 'spec/**/*'
8
11
  - 'test/**/*'
9
12
  - 'lib/sequel/extensions/caller_location.rb'
10
-
11
- # Offense count: 5
12
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
13
- # URISchemes: http, https
14
- Metrics/LineLength:
15
- Max: 106
data/Gemfile CHANGED
@@ -3,3 +3,8 @@
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  gemspec
6
+
7
+ gem 'rspec', '~> 3.13'
8
+ gem 'rubocop', '~> 1.75'
9
+ gem 'rubocop-rspec', '~> 3.7'
10
+ gem 'simplecov', '~> 0.22'
@@ -1,44 +1,42 @@
1
- # frozen-string-literal: true
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'sequel'
4
4
 
5
5
  module Sequel
6
6
  module CallerLocation
7
7
  def insert_sql(*values)
8
- sql = super(*values)
8
+ sql = super
9
9
  backtrace = caller_locations(1).find { |c| c.path !~ /gems/ }
10
10
  append_location(sql, backtrace)
11
- sql
12
11
  end
13
12
 
14
13
  def update_sql(*values)
15
- sql = super(*values)
14
+ sql = super
16
15
  backtrace = caller_locations(1).find { |c| c.path !~ /gems/ }
17
16
  append_location(sql, backtrace)
18
- sql
19
17
  end
20
18
 
21
19
  def select_sql(*values)
22
- sql = super(*values)
20
+ sql = super
23
21
  backtrace = caller_locations(1).find { |c| c.path !~ /gems/ }
24
22
 
25
23
  @cache.delete(:_select_sql)
26
24
  append_location(sql, backtrace)
27
- sql
28
25
  end
29
26
 
30
27
  def delete_sql(*values)
31
- sql = super(*values)
28
+ sql = super
32
29
  backtrace = caller_locations(1).find { |c| c.path !~ /gems/ }
33
30
  @cache.delete(:_delete_sql)
34
31
  append_location(sql, backtrace)
35
- sql
36
32
  end
37
33
 
38
34
  private
39
35
 
40
36
  def append_location(sql, backtrace)
41
- sql << format_sql_comment(backtrace) if !sql.frozen? && backtrace
37
+ return sql unless backtrace
38
+
39
+ sql + format_sql_comment(backtrace)
42
40
  end
43
41
 
44
42
  def format_sql_comment(comment)
@@ -5,20 +5,17 @@ Gem::Specification.new do |gem|
5
5
  gem.email = ['timothee.peignier@tryphon.org']
6
6
  gem.description = 'Add caller location as SQL comments'
7
7
  gem.summary = 'Add caller location as SQL comments.'
8
- gem.homepage = 'http://rubygems.org/gems/sequel_caller_location'
8
+ gem.homepage = 'https://rubygems.org/gems/sequel_caller_location'
9
9
  gem.license = 'MIT'
10
+ gem.metadata['rubygems_mfa_required'] = 'true'
10
11
 
11
12
  gem.files = `git ls-files`.split($OUTPUT_RECORD_SEPARATOR)
12
13
  gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
13
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
14
  gem.name = 'sequel_caller_location'
15
15
  gem.require_paths = ['lib']
16
- gem.version = '0.3.0'
16
+ gem.version = '0.4.0'
17
17
 
18
- gem.add_runtime_dependency 'sequel', '>= 4.39.0'
18
+ gem.required_ruby_version = '>= 2.4'
19
19
 
20
- gem.add_development_dependency 'rspec', '~> 3.5', '>= 3.5.0'
21
- gem.add_development_dependency 'rubocop', '~> 0.52', '>= 0.52.0'
22
- gem.add_development_dependency 'rubocop-rspec', '~> 1.22.0', '>= 1.22.0'
23
- gem.add_development_dependency 'simplecov', '~> 0.15.0'
20
+ gem.add_dependency 'sequel', '>= 4.39.0'
24
21
  end
@@ -1,4 +1,4 @@
1
- # frozen-string-literal: true
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -30,4 +30,13 @@ describe Sequel::CallerLocation do
30
30
  it 'add caller location to update statement' do
31
31
  expect(ds.update_sql(a: 1)).to eq("UPDATE t SET a = 1 -- #{caller_locations(0, 1).first}\n")
32
32
  end
33
+
34
+ it 'does not mutate frozen SQL' do
35
+ sql = String.new('SELECT * FROM t').freeze
36
+ location = caller_locations(0, 1).first
37
+
38
+ result = ds.send(:append_location, sql, location)
39
+
40
+ expect(result).to eq("SELECT * FROM t -- #{location}\n")
41
+ end
33
42
  end
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,4 @@
1
- # frozen-string-literal: true
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'bundler'
4
4
  Bundler.require
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel_caller_location
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
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: 2020-05-18 00:00:00.000000000 Z
11
+ date: 2026-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sequel
@@ -24,80 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 4.39.0
27
- - !ruby/object:Gem::Dependency
28
- name: rspec
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: 3.5.0
34
- - - "~>"
35
- - !ruby/object:Gem::Version
36
- version: '3.5'
37
- type: :development
38
- prerelease: false
39
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- version: 3.5.0
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: '3.5'
47
- - !ruby/object:Gem::Dependency
48
- name: rubocop
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: 0.52.0
54
- - - "~>"
55
- - !ruby/object:Gem::Version
56
- version: '0.52'
57
- type: :development
58
- prerelease: false
59
- version_requirements: !ruby/object:Gem::Requirement
60
- requirements:
61
- - - ">="
62
- - !ruby/object:Gem::Version
63
- version: 0.52.0
64
- - - "~>"
65
- - !ruby/object:Gem::Version
66
- version: '0.52'
67
- - !ruby/object:Gem::Dependency
68
- name: rubocop-rspec
69
- requirement: !ruby/object:Gem::Requirement
70
- requirements:
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- version: 1.22.0
74
- - - "~>"
75
- - !ruby/object:Gem::Version
76
- version: 1.22.0
77
- type: :development
78
- prerelease: false
79
- version_requirements: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- version: 1.22.0
84
- - - "~>"
85
- - !ruby/object:Gem::Version
86
- version: 1.22.0
87
- - !ruby/object:Gem::Dependency
88
- name: simplecov
89
- requirement: !ruby/object:Gem::Requirement
90
- requirements:
91
- - - "~>"
92
- - !ruby/object:Gem::Version
93
- version: 0.15.0
94
- type: :development
95
- prerelease: false
96
- version_requirements: !ruby/object:Gem::Requirement
97
- requirements:
98
- - - "~>"
99
- - !ruby/object:Gem::Version
100
- version: 0.15.0
101
27
  description: Add caller location as SQL comments
102
28
  email:
103
29
  - timothee.peignier@tryphon.org
@@ -105,6 +31,7 @@ executables: []
105
31
  extensions: []
106
32
  extra_rdoc_files: []
107
33
  files:
34
+ - ".github/dependabot.yml"
108
35
  - ".github/workflows/build.yml"
109
36
  - ".github/workflows/publish.yml"
110
37
  - ".gitignore"
@@ -116,10 +43,11 @@ files:
116
43
  - sequel_caller_location.gemspec
117
44
  - spec/sequel/caller_location_spec.rb
118
45
  - spec/spec_helper.rb
119
- homepage: http://rubygems.org/gems/sequel_caller_location
46
+ homepage: https://rubygems.org/gems/sequel_caller_location
120
47
  licenses:
121
48
  - MIT
122
- metadata: {}
49
+ metadata:
50
+ rubygems_mfa_required: 'true'
123
51
  post_install_message:
124
52
  rdoc_options: []
125
53
  require_paths:
@@ -128,17 +56,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
128
56
  requirements:
129
57
  - - ">="
130
58
  - !ruby/object:Gem::Version
131
- version: '0'
59
+ version: '2.4'
132
60
  required_rubygems_version: !ruby/object:Gem::Requirement
133
61
  requirements:
134
62
  - - ">="
135
63
  - !ruby/object:Gem::Version
136
64
  version: '0'
137
65
  requirements: []
138
- rubygems_version: 3.0.3
66
+ rubygems_version: 3.0.3.1
139
67
  signing_key:
140
68
  specification_version: 4
141
69
  summary: Add caller location as SQL comments.
142
- test_files:
143
- - spec/sequel/caller_location_spec.rb
144
- - spec/spec_helper.rb
70
+ test_files: []