activerecord-originator 0.2.2 → 0.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/CHANGELOG.md +4 -0
- data/README.md +15 -0
- data/gemfiles/activerecord_6_1.gemfile +2 -0
- data/gemfiles/activerecord_7_0.gemfile +2 -0
- data/gemfiles/activerecord_7_1.gemfile +2 -0
- data/gemfiles/activerecord_7_2.gemfile +2 -0
- data/lib/activerecord/originator/arel_visitor_extension.rb +1 -1
- data/lib/activerecord/originator/formatter/default.rb +13 -0
- data/lib/activerecord/originator/formatter/one_liner.rb +13 -0
- data/lib/activerecord/originator/formatter.rb +26 -0
- data/lib/activerecord/originator/version.rb +1 -1
- data/lib/activerecord/originator.rb +5 -0
- data/rbs_collection.lock.yaml +64 -12
- data/sig/activerecord/originator/collector_proxy.rbs +4 -0
- data/sig/activerecord/originator/formatter/default.rbs +9 -0
- data/sig/activerecord/originator/formatter/one_liner.rbs +9 -0
- data/sig/activerecord/originator/formatter.rbs +12 -0
- data/sig/activerecord/originator.rbs +2 -0
- data/sig/interfaces.rbs +4 -0
- metadata +9 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b3d3acaaba956be55494c54004735ba2fb569fa02dfc8f2f66cc2066cb64355
|
4
|
+
data.tar.gz: a92f7d7f51fe48150f3602e5ddef970a6ee2b7db3aa806b9bfb0d67a9616e84f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 621707bfd9fc495c9d48cfc06002039f087edd6cf551999d0cae6b5d567af31ec517ebe9d9119cfc90d659a1012a055dc4f6ba03d21bf502065a3ad6d8ddcd3a
|
7
|
+
data.tar.gz: 2f606407113491b99c46f34d55a4eb0b97c4f42239518ac10add4c0f3dca201ec79479ae2e7bb482177b4d8fd54c8a7bc490f52d54aaaea4916a2f7770e932cc
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## v0.3.0 - 2025-04-25
|
4
|
+
|
5
|
+
* Support `ActiveRecord::Originator.format` option. [#26](https://github.com/pocke/activerecord-originator/pull/26)
|
6
|
+
|
3
7
|
## v0.2.2 - 2024-08-14
|
4
8
|
|
5
9
|
* Support Rails 7.2 [#22](https://github.com/pocke/activerecord-originator/pull/22)
|
data/README.md
CHANGED
@@ -26,6 +26,21 @@ $ bundle add activerecord-originator
|
|
26
26
|
You do not need to do anything else. The gem will automatically add comments to the SQL.
|
27
27
|
Check the logs to see the comments.
|
28
28
|
|
29
|
+
### Configure format
|
30
|
+
|
31
|
+
You can set `ActiveRecord::Originator.format` to `:one_liner` if you prefer your SQL log in one line.
|
32
|
+
|
33
|
+
```ruby
|
34
|
+
# in your configuration file
|
35
|
+
ActiveRecord::Originator.format = :one_liner
|
36
|
+
```
|
37
|
+
|
38
|
+
Then you can get logs like below.
|
39
|
+
|
40
|
+
```sql
|
41
|
+
Article Load (0.1ms) SELECT "articles".* FROM "articles" WHERE "articles"."status" = ? /* <- app/models/article.rb:3:in `published' */ AND "articles"."category_id" = ? /* <- app/controllers/articles_controller.rb:3:in `index' */ ORDER BY "articles"."created_at" DESC /* <- app/models/article.rb:4:in `order_by_latest' */
|
42
|
+
```
|
43
|
+
|
29
44
|
## Development
|
30
45
|
|
31
46
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "formatter/default"
|
4
|
+
require_relative "formatter/one_liner"
|
5
|
+
|
6
|
+
module ActiveRecord
|
7
|
+
module Originator
|
8
|
+
module Formatter
|
9
|
+
attr_reader :format, :current_formatter
|
10
|
+
|
11
|
+
def format=(format)
|
12
|
+
@format = format
|
13
|
+
resolve_formatter
|
14
|
+
end
|
15
|
+
|
16
|
+
def resolve_formatter
|
17
|
+
case format
|
18
|
+
when :one_liner
|
19
|
+
@current_formatter = OneLiner
|
20
|
+
else
|
21
|
+
@current_formatter = Default
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -9,6 +9,7 @@ require_relative "originator/version"
|
|
9
9
|
require_relative "originator/arel_node_extension"
|
10
10
|
require_relative "originator/arel_visitor_extension"
|
11
11
|
require_relative "originator/collector_proxy"
|
12
|
+
require_relative "originator/formatter"
|
12
13
|
|
13
14
|
ActiveRecord::Originator::ArelVisitorExtension::TARGET_NODE_CLASSESS.each do |name|
|
14
15
|
begin
|
@@ -23,8 +24,12 @@ Arel::Visitors::ToSql.prepend ActiveRecord::Originator::ArelVisitorExtension
|
|
23
24
|
|
24
25
|
module ActiveRecord
|
25
26
|
module Originator
|
27
|
+
extend Formatter
|
28
|
+
|
26
29
|
mattr_accessor :backtrace_cleaner
|
27
30
|
end
|
28
31
|
end
|
29
32
|
|
33
|
+
ActiveRecord::Originator.format = :default
|
34
|
+
|
30
35
|
require_relative "originator/railtie" if defined?(Rails)
|
data/rbs_collection.lock.yaml
CHANGED
@@ -2,19 +2,19 @@
|
|
2
2
|
path: ".gem_rbs_collection"
|
3
3
|
gems:
|
4
4
|
- name: activemodel
|
5
|
-
version: '7.
|
5
|
+
version: '7.1'
|
6
6
|
source:
|
7
7
|
type: git
|
8
8
|
name: ruby/gem_rbs_collection
|
9
|
-
revision:
|
9
|
+
revision: eb6867fdb70e82e3aac6b51623ed1b6760c3c072
|
10
10
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
11
11
|
repo_dir: gems
|
12
12
|
- name: activerecord
|
13
|
-
version: '
|
13
|
+
version: '8.0'
|
14
14
|
source:
|
15
15
|
type: git
|
16
16
|
name: ruby/gem_rbs_collection
|
17
|
-
revision:
|
17
|
+
revision: eb6867fdb70e82e3aac6b51623ed1b6760c3c072
|
18
18
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
19
19
|
repo_dir: gems
|
20
20
|
- name: activesupport
|
@@ -22,23 +22,35 @@ gems:
|
|
22
22
|
source:
|
23
23
|
type: git
|
24
24
|
name: ruby/gem_rbs_collection
|
25
|
-
revision:
|
25
|
+
revision: eb6867fdb70e82e3aac6b51623ed1b6760c3c072
|
26
26
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
27
27
|
repo_dir: gems
|
28
28
|
- name: base64
|
29
|
+
version: '0.1'
|
30
|
+
source:
|
31
|
+
type: git
|
32
|
+
name: ruby/gem_rbs_collection
|
33
|
+
revision: eb6867fdb70e82e3aac6b51623ed1b6760c3c072
|
34
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
35
|
+
repo_dir: gems
|
36
|
+
- name: benchmark
|
29
37
|
version: '0'
|
30
38
|
source:
|
31
39
|
type: stdlib
|
32
40
|
- name: bigdecimal
|
33
|
-
version: '
|
41
|
+
version: '3.1'
|
34
42
|
source:
|
35
|
-
type:
|
43
|
+
type: git
|
44
|
+
name: ruby/gem_rbs_collection
|
45
|
+
revision: eb6867fdb70e82e3aac6b51623ed1b6760c3c072
|
46
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
47
|
+
repo_dir: gems
|
36
48
|
- name: concurrent-ruby
|
37
49
|
version: '1.1'
|
38
50
|
source:
|
39
51
|
type: git
|
40
52
|
name: ruby/gem_rbs_collection
|
41
|
-
revision:
|
53
|
+
revision: eb6867fdb70e82e3aac6b51623ed1b6760c3c072
|
42
54
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
43
55
|
repo_dir: gems
|
44
56
|
- name: connection_pool
|
@@ -46,13 +58,21 @@ gems:
|
|
46
58
|
source:
|
47
59
|
type: git
|
48
60
|
name: ruby/gem_rbs_collection
|
49
|
-
revision:
|
61
|
+
revision: eb6867fdb70e82e3aac6b51623ed1b6760c3c072
|
50
62
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
51
63
|
repo_dir: gems
|
52
64
|
- name: date
|
53
65
|
version: '0'
|
54
66
|
source:
|
55
67
|
type: stdlib
|
68
|
+
- name: delegate
|
69
|
+
version: '0'
|
70
|
+
source:
|
71
|
+
type: stdlib
|
72
|
+
- name: digest
|
73
|
+
version: '0'
|
74
|
+
source:
|
75
|
+
type: stdlib
|
56
76
|
- name: erb
|
57
77
|
version: '0'
|
58
78
|
source:
|
@@ -62,7 +82,7 @@ gems:
|
|
62
82
|
source:
|
63
83
|
type: git
|
64
84
|
name: ruby/gem_rbs_collection
|
65
|
-
revision:
|
85
|
+
revision: eb6867fdb70e82e3aac6b51623ed1b6760c3c072
|
66
86
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
67
87
|
repo_dir: gems
|
68
88
|
- name: logger
|
@@ -70,14 +90,22 @@ gems:
|
|
70
90
|
source:
|
71
91
|
type: stdlib
|
72
92
|
- name: minitest
|
73
|
-
version: '
|
93
|
+
version: '5.25'
|
74
94
|
source:
|
75
|
-
type:
|
95
|
+
type: git
|
96
|
+
name: ruby/gem_rbs_collection
|
97
|
+
revision: eb6867fdb70e82e3aac6b51623ed1b6760c3c072
|
98
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
99
|
+
repo_dir: gems
|
76
100
|
- name: monitor
|
77
101
|
version: '0'
|
78
102
|
source:
|
79
103
|
type: stdlib
|
80
104
|
- name: mutex_m
|
105
|
+
version: 0.3.0
|
106
|
+
source:
|
107
|
+
type: rubygems
|
108
|
+
- name: openssl
|
81
109
|
version: '0'
|
82
110
|
source:
|
83
111
|
type: stdlib
|
@@ -89,6 +117,18 @@ gems:
|
|
89
117
|
version: '0'
|
90
118
|
source:
|
91
119
|
type: stdlib
|
120
|
+
- name: socket
|
121
|
+
version: '0'
|
122
|
+
source:
|
123
|
+
type: stdlib
|
124
|
+
- name: sqlite3
|
125
|
+
version: '2.0'
|
126
|
+
source:
|
127
|
+
type: git
|
128
|
+
name: ruby/gem_rbs_collection
|
129
|
+
revision: eb6867fdb70e82e3aac6b51623ed1b6760c3c072
|
130
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
131
|
+
repo_dir: gems
|
92
132
|
- name: time
|
93
133
|
version: '0'
|
94
134
|
source:
|
@@ -97,4 +137,16 @@ gems:
|
|
97
137
|
version: '0'
|
98
138
|
source:
|
99
139
|
type: stdlib
|
140
|
+
- name: tzinfo
|
141
|
+
version: '2.0'
|
142
|
+
source:
|
143
|
+
type: git
|
144
|
+
name: ruby/gem_rbs_collection
|
145
|
+
revision: eb6867fdb70e82e3aac6b51623ed1b6760c3c072
|
146
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
147
|
+
repo_dir: gems
|
148
|
+
- name: uri
|
149
|
+
version: '0'
|
150
|
+
source:
|
151
|
+
type: stdlib
|
100
152
|
gemfile_lock_path: Gemfile.lock
|
data/sig/interfaces.rbs
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-originator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masataka Pocke Kuwabara
|
8
8
|
bindir: exe
|
9
9
|
cert_chain: []
|
10
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: activerecord
|
@@ -144,6 +144,9 @@ files:
|
|
144
144
|
- lib/activerecord/originator/arel_node_extension.rb
|
145
145
|
- lib/activerecord/originator/arel_visitor_extension.rb
|
146
146
|
- lib/activerecord/originator/collector_proxy.rb
|
147
|
+
- lib/activerecord/originator/formatter.rb
|
148
|
+
- lib/activerecord/originator/formatter/default.rb
|
149
|
+
- lib/activerecord/originator/formatter/one_liner.rb
|
147
150
|
- lib/activerecord/originator/railtie.rb
|
148
151
|
- lib/activerecord/originator/version.rb
|
149
152
|
- rbs_collection.lock.yaml
|
@@ -153,6 +156,9 @@ files:
|
|
153
156
|
- sig/activerecord/originator/arel_node_extension.rbs
|
154
157
|
- sig/activerecord/originator/arel_visitor_extension.rbs
|
155
158
|
- sig/activerecord/originator/collector_proxy.rbs
|
159
|
+
- sig/activerecord/originator/formatter.rbs
|
160
|
+
- sig/activerecord/originator/formatter/default.rbs
|
161
|
+
- sig/activerecord/originator/formatter/one_liner.rbs
|
156
162
|
- sig/activerecord/originator/version.rbs
|
157
163
|
- sig/interfaces.rbs
|
158
164
|
homepage: https://github.com/pocke/activerecord-originator
|
@@ -177,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
177
183
|
- !ruby/object:Gem::Version
|
178
184
|
version: '0'
|
179
185
|
requirements: []
|
180
|
-
rubygems_version: 3.
|
186
|
+
rubygems_version: 3.7.0.dev
|
181
187
|
specification_version: 4
|
182
188
|
summary: Add SQL comments to indicate the origin of the SQL.
|
183
189
|
test_files: []
|