arsi 1.1.1 → 1.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 +4 -4
- data/README.md +15 -2
- data/lib/arsi/relation.rb +23 -8
- data/lib/arsi/version.rb +1 -1
- metadata +9 -85
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 27f72b0e3beb7d6b5c54da39e15a10be8f4031a29bbeb68f8fee1ce094d0fbbb
|
4
|
+
data.tar.gz: c71e846eac68e83ee4ea6f6252b0cb0d4fa0ea30e46f1dbba6d46d6d502bc055
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7094d713736a9f8597ee9818461be67d1a7a75d0700b2f3a75f24babefaeac935396a42a76c41e2780bbe88d13d4cc7d9db72622eb11ef28490cd7015a9fcadc
|
7
|
+
data.tar.gz: eb55aefee09911c84d9020502074360d98d2b5b29ff9cc131e158e09e19f819915a6e9e92039e99fb41ef3d116d8ecdbe53c69269400557f09b4703301beec42
|
data/README.md
CHANGED
@@ -25,7 +25,6 @@ via `.without_arsi`
|
|
25
25
|
|
26
26
|
```ruby
|
27
27
|
User.where(active: false).without_arsi.delete_all # I know what I'm doing...
|
28
|
-
|
29
28
|
```
|
30
29
|
|
31
30
|
via `ARSI.disable`
|
@@ -43,8 +42,22 @@ Arsi.disable do
|
|
43
42
|
end
|
44
43
|
```
|
45
44
|
|
46
|
-
|
47
45
|
## Limitations
|
48
46
|
|
49
47
|
- MySQL
|
50
48
|
- uses regexs on SQL, false negatives with specially crafted SQL statements can occur
|
49
|
+
|
50
|
+
### Releasing a new version
|
51
|
+
A new version is published to RubyGems.org every time a change to `version.rb` is pushed to the `main` branch.
|
52
|
+
In short, follow these steps:
|
53
|
+
1. Update `version.rb`,
|
54
|
+
2. update version in all `Gemfile.lock` files,
|
55
|
+
3. merge this change into `main`, and
|
56
|
+
4. look at [the action](https://github.com/zendesk/arsi/actions/workflows/publish.yml) for output.
|
57
|
+
|
58
|
+
To create a pre-release from a non-main branch:
|
59
|
+
1. change the version in `version.rb` to something like `1.2.0.pre.1` or `2.0.0.beta.2`,
|
60
|
+
2. push this change to your branch,
|
61
|
+
3. go to [Actions → “Publish to RubyGems.org” on GitHub](https://github.com/zendesk/arsi/actions/workflows/publish.yml),
|
62
|
+
4. click the “Run workflow” button,
|
63
|
+
5. pick your branch from a dropdown.
|
data/lib/arsi/relation.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'active_record'
|
2
|
+
|
1
3
|
module Arsi
|
2
4
|
module Relation
|
3
5
|
attr_writer :without_arsi
|
@@ -28,15 +30,28 @@ module Arsi
|
|
28
30
|
|
29
31
|
private
|
30
32
|
|
31
|
-
|
32
|
-
|
33
|
-
|
33
|
+
if ActiveRecord.gem_version >= Gem::Version.new("8.0")
|
34
|
+
def arsi_scopeable?
|
35
|
+
@model.columns.any? { |c| Arsi::SCOPEABLE_REGEX.match?(c.name) }
|
36
|
+
end
|
34
37
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
38
|
+
def with_relation_in_connection
|
39
|
+
@model.connection.arsi_relation = self
|
40
|
+
yield
|
41
|
+
ensure
|
42
|
+
@model.connection.arsi_relation = nil
|
43
|
+
end
|
44
|
+
else
|
45
|
+
def arsi_scopeable?
|
46
|
+
@klass.columns.any? { |c| Arsi::SCOPEABLE_REGEX.match?(c.name) }
|
47
|
+
end
|
48
|
+
|
49
|
+
def with_relation_in_connection
|
50
|
+
@klass.connection.arsi_relation = self
|
51
|
+
yield
|
52
|
+
ensure
|
53
|
+
@klass.connection.arsi_relation = nil
|
54
|
+
end
|
40
55
|
end
|
41
56
|
end
|
42
57
|
end
|
data/lib/arsi/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: arsi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christopher Kintner
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-05-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mysql2
|
@@ -30,90 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
34
|
-
- - "<"
|
35
|
-
- !ruby/object:Gem::Version
|
36
|
-
version: '7.1'
|
33
|
+
version: '7.0'
|
37
34
|
type: :runtime
|
38
35
|
prerelease: false
|
39
36
|
version_requirements: !ruby/object:Gem::Requirement
|
40
37
|
requirements:
|
41
38
|
- - ">="
|
42
39
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
44
|
-
- - "<"
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: '7.1'
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: bump
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
-
requirements:
|
51
|
-
- - ">="
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
requirements:
|
58
|
-
- - ">="
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: '0'
|
61
|
-
- !ruby/object:Gem::Dependency
|
62
|
-
name: rake
|
63
|
-
requirement: !ruby/object:Gem::Requirement
|
64
|
-
requirements:
|
65
|
-
- - ">="
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: '0'
|
68
|
-
type: :development
|
69
|
-
prerelease: false
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
71
|
-
requirements:
|
72
|
-
- - ">="
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: '0'
|
75
|
-
- !ruby/object:Gem::Dependency
|
76
|
-
name: maxitest
|
77
|
-
requirement: !ruby/object:Gem::Requirement
|
78
|
-
requirements:
|
79
|
-
- - ">="
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: '0'
|
82
|
-
type: :development
|
83
|
-
prerelease: false
|
84
|
-
version_requirements: !ruby/object:Gem::Requirement
|
85
|
-
requirements:
|
86
|
-
- - ">="
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: '0'
|
89
|
-
- !ruby/object:Gem::Dependency
|
90
|
-
name: mocha
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - ">="
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '0'
|
96
|
-
type: :development
|
97
|
-
prerelease: false
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - ">="
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '0'
|
103
|
-
- !ruby/object:Gem::Dependency
|
104
|
-
name: single_cov
|
105
|
-
requirement: !ruby/object:Gem::Requirement
|
106
|
-
requirements:
|
107
|
-
- - ">="
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
110
|
-
type: :development
|
111
|
-
prerelease: false
|
112
|
-
version_requirements: !ruby/object:Gem::Requirement
|
113
|
-
requirements:
|
114
|
-
- - ">="
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
version: '0'
|
40
|
+
version: '7.0'
|
117
41
|
description: Puts your SQL under a microscope
|
118
42
|
email:
|
119
43
|
- ckintner@zendesk.com
|
@@ -132,7 +56,7 @@ homepage: https://github.com/zendesk/arsi
|
|
132
56
|
licenses:
|
133
57
|
- Apache License Version 2.0
|
134
58
|
metadata: {}
|
135
|
-
post_install_message:
|
59
|
+
post_install_message:
|
136
60
|
rdoc_options: []
|
137
61
|
require_paths:
|
138
62
|
- lib
|
@@ -140,15 +64,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
140
64
|
requirements:
|
141
65
|
- - ">="
|
142
66
|
- !ruby/object:Gem::Version
|
143
|
-
version: 2.
|
67
|
+
version: 3.2.0
|
144
68
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
145
69
|
requirements:
|
146
70
|
- - ">="
|
147
71
|
- !ruby/object:Gem::Version
|
148
72
|
version: '0'
|
149
73
|
requirements: []
|
150
|
-
rubygems_version: 3.
|
151
|
-
signing_key:
|
74
|
+
rubygems_version: 3.4.19
|
75
|
+
signing_key:
|
152
76
|
specification_version: 4
|
153
77
|
summary: ActiveRecord SQL Inspector
|
154
78
|
test_files: []
|