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 +4 -4
- data/.github/dependabot.yml +10 -0
- data/.github/workflows/build.yml +6 -5
- data/.github/workflows/publish.yml +4 -4
- data/.rubocop.yml +4 -7
- data/Gemfile +5 -0
- data/lib/sequel/extensions/caller_location.rb +8 -10
- data/sequel_caller_location.gemspec +5 -8
- data/spec/sequel/caller_location_spec.rb +10 -1
- data/spec/spec_helper.rb +1 -1
- metadata +9 -83
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 664ed2c560cae2dd6dcec7eb5375894c582ecec65c47e9b2d7430128d1a0748d
|
|
4
|
+
data.tar.gz: 53d362a1bb2704d8a03bf03923f7eac7540c49868773583404252dc970143867
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fbe86a4254db07e89fb81c2600680a927793a9352c8770b79b639c5c03fd9de1c34a0f59d98396512e35deaddbdf363ce5cdc56a482060d9eb5169ceffc44bcb
|
|
7
|
+
data.tar.gz: cf5394da20edc9ea12cf3e60d43afd239667d6688cec172f07c8bfea37befa56b1d566e10c5aa51379af2538eaef484c6e23128d5c5f8d4ab72d2c68a4faea1f
|
data/.github/workflows/build.yml
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
name: Build
|
|
2
|
-
on:
|
|
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@
|
|
9
|
+
- uses: actions/checkout@v7
|
|
8
10
|
- name: Set up Ruby
|
|
9
11
|
uses: ruby/setup-ruby@v1
|
|
10
12
|
with:
|
|
11
|
-
ruby-version:
|
|
12
|
-
|
|
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@
|
|
11
|
-
- name: Set up Ruby
|
|
12
|
-
uses:
|
|
10
|
+
- uses: actions/checkout@v7
|
|
11
|
+
- name: Set up Ruby
|
|
12
|
+
uses: ruby/setup-ruby@v1
|
|
13
13
|
with:
|
|
14
|
-
version:
|
|
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
|
-
|
|
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
|
@@ -1,44 +1,42 @@
|
|
|
1
|
-
#
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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 = '
|
|
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.
|
|
16
|
+
gem.version = '0.4.0'
|
|
17
17
|
|
|
18
|
-
gem.
|
|
18
|
+
gem.required_ruby_version = '>= 2.4'
|
|
19
19
|
|
|
20
|
-
gem.
|
|
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
|
-
#
|
|
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
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.
|
|
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:
|
|
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:
|
|
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: '
|
|
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: []
|