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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b528e9d79cdc0d21f70a93d39d631f2ad72f239eda03ea6d40a249ba85f00d81
4
- data.tar.gz: 9fa5461a0c90bc0efbc3a85d2adaf913ca147425b83e378ed0c34c7ecf829da5
3
+ metadata.gz: 27f72b0e3beb7d6b5c54da39e15a10be8f4031a29bbeb68f8fee1ce094d0fbbb
4
+ data.tar.gz: c71e846eac68e83ee4ea6f6252b0cb0d4fa0ea30e46f1dbba6d46d6d502bc055
5
5
  SHA512:
6
- metadata.gz: f5646db280bf628a6e75a1dffa57794a64a2ffbd2ff18942b04aec3fa35eaa9c7b8ccf4040078295404542d5c19fc391d01bc4ba1ab7af058c85cb3cddf75bcb
7
- data.tar.gz: be068e843094617e04279a4917e802a047f88f6ada372604a1e5c2dee1d7c7b790c65a71662c56ea817aeaf74602234182254908615208c49de008743de4b237
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
- def arsi_scopeable?
32
- @klass.columns.any? { |c| Arsi::SCOPEABLE_REGEX.match?(c.name) }
33
- end
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
- def with_relation_in_connection
36
- @klass.connection.arsi_relation = self
37
- yield
38
- ensure
39
- @klass.connection.arsi_relation = nil
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
@@ -1,3 +1,3 @@
1
1
  module Arsi
2
- VERSION = '1.1.1'
2
+ VERSION = '1.3.0'
3
3
  end
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.1.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: 2023-01-24 00:00:00.000000000 Z
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: 5.2.0
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: 5.2.0
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.7.0
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.0.3.1
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: []