esse-active_record 0.1.1 → 0.2.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/.rubocop.yml +16 -0
- data/Gemfile +3 -1
- data/Gemfile.lock +99 -66
- data/README.md +19 -19
- data/ci/Gemfile.rails-5.2 +10 -0
- data/ci/Gemfile.rails-5.2.lock +160 -0
- data/ci/Gemfile.rails-6.0 +10 -0
- data/ci/Gemfile.rails-6.0.lock +159 -0
- data/ci/Gemfile.rails-6.1 +10 -0
- data/ci/Gemfile.rails-6.1.lock +159 -0
- data/ci/Gemfile.rails-7.0 +10 -0
- data/ci/Gemfile.rails-7.0.lock +159 -0
- data/ci/Gemfile.rails-7.1 +10 -0
- data/ci/Gemfile.rails-7.1.lock +171 -0
- data/lib/esse/active_record/hooks.rb +2 -2
- data/lib/esse/active_record/model.rb +5 -3
- data/lib/esse/active_record/version.rb +1 -1
- metadata +45 -41
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 78a881c4b488d3a39ae25270bde1fc26444ba3369779257c385237933314e9c6
|
4
|
+
data.tar.gz: 25e90b2d8820ab109a23812449b4fbd076081c843b3891ea1373977b48a85df6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f9fba8e83ea38bae6667071fd9f416326af17227dc11061d41ae28305b35101d60babddd2ad8c02169876f673cf6cb712f68832f08d8b39dadbc448e2a0ae332
|
7
|
+
data.tar.gz: 654fac3ac8f2eb1e52d977ee576a5565a0b3d9ce45ba239ab1fd0dd7a5c876ce42936f8270becfcbac6a7d12d82544bfcd7a7708f125bf76c9159ac9fc8ec6cd
|
data/.rubocop.yml
CHANGED
@@ -17,6 +17,22 @@ AllCops:
|
|
17
17
|
- "db/**/*"
|
18
18
|
- "tmp/**/*"
|
19
19
|
- "vendor/**/*"
|
20
|
+
NewCops: enable
|
21
|
+
|
22
|
+
RSpec/MultipleExpectations:
|
23
|
+
Enabled: false
|
24
|
+
|
25
|
+
RSpec/ExampleLength:
|
26
|
+
Enabled: false
|
27
|
+
|
28
|
+
RSpec/MessageSpies:
|
29
|
+
Enabled: false
|
30
|
+
|
31
|
+
RSpec/FilePath:
|
32
|
+
Enabled: false
|
33
|
+
|
34
|
+
RSpec/SpecFilePathFormat:
|
35
|
+
Enabled: false
|
20
36
|
|
21
37
|
Layout/SpaceInsideHashLiteralBraces:
|
22
38
|
Enabled: false
|
data/Gemfile
CHANGED
@@ -2,9 +2,11 @@
|
|
2
2
|
|
3
3
|
source 'https://rubygems.org'
|
4
4
|
|
5
|
-
gem 'esse',
|
5
|
+
gem 'esse', '~> 0.2.4'
|
6
6
|
gem 'sqlite3', '~> 1.3.6'
|
7
7
|
gem 'activerecord', '~> 5.2'
|
8
|
+
gem 'esse-rspec', '~> 0.0.6'
|
9
|
+
gem 'elasticsearch', '~> 7.17', '>= 7.17.10'
|
8
10
|
|
9
11
|
# Specify your gem's dependencies in esse-active_record.gemspec
|
10
12
|
gemspec
|
data/Gemfile.lock
CHANGED
@@ -1,18 +1,9 @@
|
|
1
|
-
GIT
|
2
|
-
remote: https://github.com/marcosgz/esse.git
|
3
|
-
revision: fa4eb4d8c54aae89c388415585b4b27c75b31198
|
4
|
-
branch: master
|
5
|
-
specs:
|
6
|
-
esse (0.2.1)
|
7
|
-
multi_json
|
8
|
-
thor (>= 0.19)
|
9
|
-
|
10
1
|
PATH
|
11
2
|
remote: .
|
12
3
|
specs:
|
13
|
-
esse-active_record (0.
|
4
|
+
esse-active_record (0.2.0)
|
14
5
|
activerecord (>= 4.2, < 8)
|
15
|
-
esse
|
6
|
+
esse (>= 0.2.3)
|
16
7
|
|
17
8
|
GEM
|
18
9
|
remote: https://rubygems.org/
|
@@ -28,80 +19,119 @@ GEM
|
|
28
19
|
i18n (>= 0.7, < 2)
|
29
20
|
minitest (~> 5.1)
|
30
21
|
tzinfo (~> 1.1)
|
31
|
-
addressable (2.8.
|
32
|
-
public_suffix (>= 2.0.2, <
|
22
|
+
addressable (2.8.6)
|
23
|
+
public_suffix (>= 2.0.2, < 6.0)
|
33
24
|
arel (9.0.0)
|
34
25
|
ast (2.4.2)
|
35
26
|
awesome_print (1.9.2)
|
27
|
+
base64 (0.2.0)
|
36
28
|
coderay (1.1.3)
|
37
|
-
concurrent-ruby (1.
|
29
|
+
concurrent-ruby (1.2.3)
|
38
30
|
crack (0.4.5)
|
39
31
|
rexml
|
40
32
|
diff-lcs (1.5.0)
|
41
|
-
dotenv (2.
|
42
|
-
|
43
|
-
|
33
|
+
dotenv (2.8.1)
|
34
|
+
elasticsearch (7.17.10)
|
35
|
+
elasticsearch-api (= 7.17.10)
|
36
|
+
elasticsearch-transport (= 7.17.10)
|
37
|
+
elasticsearch-api (7.17.10)
|
38
|
+
multi_json
|
39
|
+
elasticsearch-transport (7.17.10)
|
40
|
+
faraday (>= 1, < 3)
|
41
|
+
multi_json
|
42
|
+
esse (0.2.6)
|
43
|
+
multi_json
|
44
|
+
thor (>= 0.19)
|
45
|
+
esse-rspec (0.0.6)
|
46
|
+
esse (>= 0.2.4)
|
47
|
+
rspec (>= 3)
|
48
|
+
factory_bot (6.2.0)
|
49
|
+
activesupport (>= 5.0.0)
|
50
|
+
faraday (2.8.1)
|
51
|
+
base64
|
52
|
+
faraday-net_http (>= 2.0, < 3.1)
|
53
|
+
ruby2_keywords (>= 0.0.4)
|
54
|
+
faraday-net_http (3.0.2)
|
55
|
+
hashdiff (1.1.0)
|
56
|
+
i18n (1.14.1)
|
44
57
|
concurrent-ruby (~> 1.0)
|
58
|
+
json (2.7.1)
|
59
|
+
language_server-protocol (3.17.0.3)
|
60
|
+
lint_roller (1.1.0)
|
45
61
|
method_source (1.0.0)
|
46
|
-
minitest (5.
|
62
|
+
minitest (5.21.2)
|
47
63
|
multi_json (1.15.0)
|
48
|
-
parallel (1.
|
49
|
-
parser (3.
|
64
|
+
parallel (1.24.0)
|
65
|
+
parser (3.3.0.5)
|
50
66
|
ast (~> 2.4.1)
|
51
|
-
|
67
|
+
racc
|
68
|
+
pry (0.14.2)
|
52
69
|
coderay (~> 1.1)
|
53
70
|
method_source (~> 1.0)
|
54
|
-
public_suffix (
|
71
|
+
public_suffix (5.0.4)
|
72
|
+
racc (1.7.3)
|
55
73
|
rainbow (3.1.1)
|
56
|
-
rake (
|
57
|
-
regexp_parser (2.
|
58
|
-
rexml (3.2.
|
59
|
-
rspec (3.
|
60
|
-
rspec-core (~> 3.
|
61
|
-
rspec-expectations (~> 3.
|
62
|
-
rspec-mocks (~> 3.
|
63
|
-
rspec-core (3.
|
64
|
-
rspec-support (~> 3.
|
65
|
-
rspec-expectations (3.
|
74
|
+
rake (13.1.0)
|
75
|
+
regexp_parser (2.9.0)
|
76
|
+
rexml (3.2.6)
|
77
|
+
rspec (3.12.0)
|
78
|
+
rspec-core (~> 3.12.0)
|
79
|
+
rspec-expectations (~> 3.12.0)
|
80
|
+
rspec-mocks (~> 3.12.0)
|
81
|
+
rspec-core (3.12.2)
|
82
|
+
rspec-support (~> 3.12.0)
|
83
|
+
rspec-expectations (3.12.3)
|
66
84
|
diff-lcs (>= 1.2.0, < 2.0)
|
67
|
-
rspec-support (~> 3.
|
68
|
-
rspec-mocks (3.
|
85
|
+
rspec-support (~> 3.12.0)
|
86
|
+
rspec-mocks (3.12.6)
|
69
87
|
diff-lcs (>= 1.2.0, < 2.0)
|
70
|
-
rspec-support (~> 3.
|
71
|
-
rspec-support (3.
|
72
|
-
rubocop (1.
|
88
|
+
rspec-support (~> 3.12.0)
|
89
|
+
rspec-support (3.12.1)
|
90
|
+
rubocop (1.50.2)
|
91
|
+
json (~> 2.3)
|
73
92
|
parallel (~> 1.10)
|
74
|
-
parser (>= 3.
|
93
|
+
parser (>= 3.2.0.0)
|
75
94
|
rainbow (>= 2.2.2, < 4.0)
|
76
95
|
regexp_parser (>= 1.8, < 3.0)
|
77
96
|
rexml (>= 3.2.5, < 4.0)
|
78
|
-
rubocop-ast (>= 1.
|
97
|
+
rubocop-ast (>= 1.28.0, < 2.0)
|
79
98
|
ruby-progressbar (~> 1.7)
|
80
|
-
unicode-display_width (>=
|
81
|
-
rubocop-ast (1.
|
82
|
-
parser (>= 3.
|
83
|
-
rubocop-
|
99
|
+
unicode-display_width (>= 2.4.0, < 3.0)
|
100
|
+
rubocop-ast (1.30.0)
|
101
|
+
parser (>= 3.2.1.0)
|
102
|
+
rubocop-capybara (2.18.0)
|
103
|
+
rubocop (~> 1.41)
|
104
|
+
rubocop-performance (1.16.0)
|
84
105
|
rubocop (>= 1.7.0, < 2.0)
|
85
106
|
rubocop-ast (>= 0.4.0)
|
86
|
-
rubocop-rspec (2.
|
87
|
-
rubocop (~> 1.
|
88
|
-
|
107
|
+
rubocop-rspec (2.20.0)
|
108
|
+
rubocop (~> 1.33)
|
109
|
+
rubocop-capybara (~> 2.17)
|
110
|
+
ruby-progressbar (1.13.0)
|
111
|
+
ruby2_keywords (0.0.5)
|
89
112
|
sqlite3 (1.3.13)
|
90
|
-
standard (1.
|
91
|
-
|
92
|
-
|
93
|
-
|
113
|
+
standard (1.28.5)
|
114
|
+
language_server-protocol (~> 3.17.0.2)
|
115
|
+
lint_roller (~> 1.0)
|
116
|
+
rubocop (~> 1.50.2)
|
117
|
+
standard-custom (~> 1.0.0)
|
118
|
+
standard-performance (~> 1.0.1)
|
119
|
+
standard-custom (1.0.2)
|
120
|
+
lint_roller (~> 1.0)
|
121
|
+
rubocop (~> 1.50)
|
122
|
+
standard-performance (1.0.1)
|
123
|
+
lint_roller (~> 1.0)
|
124
|
+
rubocop-performance (~> 1.16.0)
|
125
|
+
thor (1.3.0)
|
94
126
|
thread_safe (0.3.6)
|
95
|
-
tzinfo (1.2.
|
127
|
+
tzinfo (1.2.11)
|
96
128
|
thread_safe (~> 0.1)
|
97
|
-
unicode-display_width (2.
|
98
|
-
webmock (3.
|
129
|
+
unicode-display_width (2.5.0)
|
130
|
+
webmock (3.19.1)
|
99
131
|
addressable (>= 2.8.0)
|
100
132
|
crack (>= 0.3.2)
|
101
133
|
hashdiff (>= 0.4.0, < 2.0.0)
|
102
|
-
|
103
|
-
yard (0.9.28)
|
104
|
-
webrick (~> 1.7.0)
|
134
|
+
yard (0.9.34)
|
105
135
|
|
106
136
|
PLATFORMS
|
107
137
|
x86_64-darwin-19
|
@@ -111,18 +141,21 @@ DEPENDENCIES
|
|
111
141
|
activerecord (~> 5.2)
|
112
142
|
awesome_print
|
113
143
|
dotenv
|
114
|
-
|
144
|
+
elasticsearch (~> 7.17, >= 7.17.10)
|
145
|
+
esse (~> 0.2.4)
|
115
146
|
esse-active_record!
|
147
|
+
esse-rspec (~> 0.0.6)
|
148
|
+
factory_bot
|
116
149
|
pry
|
117
|
-
rake
|
118
|
-
rspec
|
119
|
-
rubocop
|
120
|
-
rubocop-performance
|
121
|
-
rubocop-rspec
|
150
|
+
rake
|
151
|
+
rspec
|
152
|
+
rubocop
|
153
|
+
rubocop-performance
|
154
|
+
rubocop-rspec
|
122
155
|
sqlite3 (~> 1.3.6)
|
123
|
-
standard
|
124
|
-
webmock
|
125
|
-
yard
|
156
|
+
standard
|
157
|
+
webmock
|
158
|
+
yard
|
126
159
|
|
127
160
|
BUNDLED WITH
|
128
|
-
2.3.
|
161
|
+
2.3.22
|
data/README.md
CHANGED
@@ -28,7 +28,7 @@ class UsersIndex < Esse::Index
|
|
28
28
|
|
29
29
|
repository :user do
|
30
30
|
collection ::User
|
31
|
-
|
31
|
+
document # ...
|
32
32
|
end
|
33
33
|
end
|
34
34
|
```
|
@@ -41,12 +41,12 @@ class UsersIndex < Esse::Index
|
|
41
41
|
|
42
42
|
repository :account do
|
43
43
|
collection ::Account
|
44
|
-
|
44
|
+
document # ...
|
45
45
|
end
|
46
46
|
|
47
47
|
repository :admin do
|
48
48
|
collection ::User.where(admin: true)
|
49
|
-
|
49
|
+
document # ...
|
50
50
|
end
|
51
51
|
end
|
52
52
|
```
|
@@ -63,12 +63,12 @@ class UsersIndex < Esse::Index
|
|
63
63
|
scope :active, -> { where(active: true) }
|
64
64
|
scope :role, ->(role) { where(role: role) }
|
65
65
|
end
|
66
|
-
|
66
|
+
document # ...
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
70
70
|
# Import data using the scopes
|
71
|
-
# > UsersIndex.
|
71
|
+
# > UsersIndex.import(context: { active: true, role: 'admin' })
|
72
72
|
#
|
73
73
|
# Streaming data using the scopes
|
74
74
|
# > UsersIndex.documents(active: true, role: 'admin').first
|
@@ -76,7 +76,7 @@ end
|
|
76
76
|
|
77
77
|
## Collection Batch Context
|
78
78
|
|
79
|
-
Assume that you have a collection of orders and you want to also include the customer data that lives in a external system. To avoid making a request for each order, you can use the `batch_context` to fetch the data in batches and make it available in the
|
79
|
+
Assume that you have a collection of orders and you want to also include the customer data that lives in a external system. To avoid making a request for each order, you can use the `batch_context` to fetch the data in batches and make it available in the document context.
|
80
80
|
|
81
81
|
```ruby
|
82
82
|
class OrdersIndex < Esse::Index
|
@@ -85,12 +85,12 @@ class OrdersIndex < Esse::Index
|
|
85
85
|
repository :order do
|
86
86
|
collection ::Order do
|
87
87
|
batch_context :customers do |orders, **_existing_context|
|
88
|
-
# The return value will be available in the
|
88
|
+
# The return value will be available in the document context
|
89
89
|
# { customers: <value returned from this block> }
|
90
90
|
ExternalSystem::Customer.find_all_by_ids(orders.map(&:customer_id)).index_by(&:id) # => { 1 => <Customer>, 2 => <Customer> }
|
91
91
|
end
|
92
92
|
end
|
93
|
-
|
93
|
+
document do |order, customers: {}, **_|
|
94
94
|
customer = customers[order.customer_id]
|
95
95
|
{
|
96
96
|
id: order.id,
|
@@ -113,7 +113,7 @@ class OrdersIndex < Esse::Index
|
|
113
113
|
|
114
114
|
repository :order do
|
115
115
|
collection ::Order.includes(:customer)
|
116
|
-
|
116
|
+
document do |order, **_|
|
117
117
|
{
|
118
118
|
id: order.id,
|
119
119
|
customer: {
|
@@ -126,7 +126,7 @@ class OrdersIndex < Esse::Index
|
|
126
126
|
end
|
127
127
|
```
|
128
128
|
|
129
|
-
### Data Streaming
|
129
|
+
### Data Streaming Options
|
130
130
|
|
131
131
|
As default the active record support 3 streaming options:
|
132
132
|
* `batch_size`: the number of documents to be streamed in each batch. Default is 1000;
|
@@ -136,7 +136,7 @@ As default the active record support 3 streaming options:
|
|
136
136
|
This is useful when you want to import simultaneous data. You can make one process import all records between 1 and 10,000, and another from 10,000 and beyond
|
137
137
|
|
138
138
|
```ruby
|
139
|
-
UsersIndex.
|
139
|
+
UsersIndex.import(context: { start: 1, finish: 10000, batch_size: 500 })
|
140
140
|
```
|
141
141
|
|
142
142
|
The default valueof `batch_size` can be also defined in the `collection` configuration:
|
@@ -147,7 +147,7 @@ class UsersIndex < Esse::Index
|
|
147
147
|
|
148
148
|
repository :user do
|
149
149
|
collection ::User, batch_size: 500
|
150
|
-
|
150
|
+
document # ...
|
151
151
|
end
|
152
152
|
end
|
153
153
|
```
|
@@ -162,7 +162,7 @@ class UsersIndex < Esse::Index
|
|
162
162
|
|
163
163
|
repository :user, const: true do
|
164
164
|
collection ::User
|
165
|
-
|
165
|
+
document # ...
|
166
166
|
end
|
167
167
|
|
168
168
|
end
|
@@ -182,9 +182,9 @@ end
|
|
182
182
|
Callbacks can also be disabled/enabled globally:
|
183
183
|
|
184
184
|
```ruby
|
185
|
-
Esse::ActiveRecord::
|
186
|
-
Esse::ActiveRecord::
|
187
|
-
Esse::ActiveRecord::
|
185
|
+
Esse::ActiveRecord::Hooks.disable!
|
186
|
+
Esse::ActiveRecord::Hooks.enable!
|
187
|
+
Esse::ActiveRecord::Hooks.without_indexing do
|
188
188
|
10.times { User.create! }
|
189
189
|
end
|
190
190
|
```
|
@@ -192,9 +192,9 @@ end
|
|
192
192
|
or by some specific list of index or index's repository
|
193
193
|
|
194
194
|
```ruby
|
195
|
-
Esse::ActiveRecord::
|
196
|
-
Esse::ActiveRecord::
|
197
|
-
Esse::ActiveRecord::
|
195
|
+
Esse::ActiveRecord::Hooks.disable!(UsersIndex.repo)
|
196
|
+
Esse::ActiveRecord::Hooks.enable!(UsersIndex.repo)
|
197
|
+
Esse::ActiveRecord::Hooks.without_indexing(AccountsIndex UsersIndex.repo, ) do
|
198
198
|
10.times { User.create! }
|
199
199
|
end
|
200
200
|
```
|
@@ -0,0 +1,160 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ..
|
3
|
+
specs:
|
4
|
+
esse-active_record (0.2.0)
|
5
|
+
activerecord (>= 4.2, < 8)
|
6
|
+
esse (>= 0.2.3)
|
7
|
+
|
8
|
+
GEM
|
9
|
+
remote: https://rubygems.org/
|
10
|
+
specs:
|
11
|
+
activemodel (5.2.8.1)
|
12
|
+
activesupport (= 5.2.8.1)
|
13
|
+
activerecord (5.2.8.1)
|
14
|
+
activemodel (= 5.2.8.1)
|
15
|
+
activesupport (= 5.2.8.1)
|
16
|
+
arel (>= 9.0)
|
17
|
+
activesupport (5.2.8.1)
|
18
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
19
|
+
i18n (>= 0.7, < 2)
|
20
|
+
minitest (~> 5.1)
|
21
|
+
tzinfo (~> 1.1)
|
22
|
+
addressable (2.8.6)
|
23
|
+
public_suffix (>= 2.0.2, < 6.0)
|
24
|
+
arel (9.0.0)
|
25
|
+
ast (2.4.2)
|
26
|
+
awesome_print (1.9.2)
|
27
|
+
base64 (0.2.0)
|
28
|
+
coderay (1.1.3)
|
29
|
+
concurrent-ruby (1.2.3)
|
30
|
+
crack (0.4.5)
|
31
|
+
rexml
|
32
|
+
diff-lcs (1.5.0)
|
33
|
+
dotenv (2.8.1)
|
34
|
+
elasticsearch (7.17.10)
|
35
|
+
elasticsearch-api (= 7.17.10)
|
36
|
+
elasticsearch-transport (= 7.17.10)
|
37
|
+
elasticsearch-api (7.17.10)
|
38
|
+
multi_json
|
39
|
+
elasticsearch-transport (7.17.10)
|
40
|
+
faraday (>= 1, < 3)
|
41
|
+
multi_json
|
42
|
+
esse (0.2.6)
|
43
|
+
multi_json
|
44
|
+
thor (>= 0.19)
|
45
|
+
esse-rspec (0.0.6)
|
46
|
+
esse (>= 0.2.4)
|
47
|
+
rspec (>= 3)
|
48
|
+
faraday (2.8.1)
|
49
|
+
base64
|
50
|
+
faraday-net_http (>= 2.0, < 3.1)
|
51
|
+
ruby2_keywords (>= 0.0.4)
|
52
|
+
faraday-net_http (3.0.2)
|
53
|
+
hashdiff (1.1.0)
|
54
|
+
i18n (1.14.1)
|
55
|
+
concurrent-ruby (~> 1.0)
|
56
|
+
json (2.7.1)
|
57
|
+
language_server-protocol (3.17.0.3)
|
58
|
+
lint_roller (1.1.0)
|
59
|
+
method_source (1.0.0)
|
60
|
+
minitest (5.21.2)
|
61
|
+
multi_json (1.15.0)
|
62
|
+
parallel (1.24.0)
|
63
|
+
parser (3.3.0.5)
|
64
|
+
ast (~> 2.4.1)
|
65
|
+
racc
|
66
|
+
pry (0.14.2)
|
67
|
+
coderay (~> 1.1)
|
68
|
+
method_source (~> 1.0)
|
69
|
+
public_suffix (5.0.4)
|
70
|
+
racc (1.7.3)
|
71
|
+
rainbow (3.1.1)
|
72
|
+
rake (13.1.0)
|
73
|
+
regexp_parser (2.9.0)
|
74
|
+
rexml (3.2.6)
|
75
|
+
rspec (3.12.0)
|
76
|
+
rspec-core (~> 3.12.0)
|
77
|
+
rspec-expectations (~> 3.12.0)
|
78
|
+
rspec-mocks (~> 3.12.0)
|
79
|
+
rspec-core (3.12.2)
|
80
|
+
rspec-support (~> 3.12.0)
|
81
|
+
rspec-expectations (3.12.3)
|
82
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
83
|
+
rspec-support (~> 3.12.0)
|
84
|
+
rspec-mocks (3.12.6)
|
85
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
86
|
+
rspec-support (~> 3.12.0)
|
87
|
+
rspec-support (3.12.1)
|
88
|
+
rubocop (1.59.0)
|
89
|
+
json (~> 2.3)
|
90
|
+
language_server-protocol (>= 3.17.0)
|
91
|
+
parallel (~> 1.10)
|
92
|
+
parser (>= 3.2.2.4)
|
93
|
+
rainbow (>= 2.2.2, < 4.0)
|
94
|
+
regexp_parser (>= 1.8, < 3.0)
|
95
|
+
rexml (>= 3.2.5, < 4.0)
|
96
|
+
rubocop-ast (>= 1.30.0, < 2.0)
|
97
|
+
ruby-progressbar (~> 1.7)
|
98
|
+
unicode-display_width (>= 2.4.0, < 3.0)
|
99
|
+
rubocop-ast (1.30.0)
|
100
|
+
parser (>= 3.2.1.0)
|
101
|
+
rubocop-capybara (2.20.0)
|
102
|
+
rubocop (~> 1.41)
|
103
|
+
rubocop-factory_bot (2.25.1)
|
104
|
+
rubocop (~> 1.41)
|
105
|
+
rubocop-performance (1.20.2)
|
106
|
+
rubocop (>= 1.48.1, < 2.0)
|
107
|
+
rubocop-ast (>= 1.30.0, < 2.0)
|
108
|
+
rubocop-rspec (2.26.1)
|
109
|
+
rubocop (~> 1.40)
|
110
|
+
rubocop-capybara (~> 2.17)
|
111
|
+
rubocop-factory_bot (~> 2.22)
|
112
|
+
ruby-progressbar (1.13.0)
|
113
|
+
ruby2_keywords (0.0.5)
|
114
|
+
sqlite3 (1.3.13)
|
115
|
+
standard (1.33.0)
|
116
|
+
language_server-protocol (~> 3.17.0.2)
|
117
|
+
lint_roller (~> 1.0)
|
118
|
+
rubocop (~> 1.59.0)
|
119
|
+
standard-custom (~> 1.0.0)
|
120
|
+
standard-performance (~> 1.3)
|
121
|
+
standard-custom (1.0.2)
|
122
|
+
lint_roller (~> 1.0)
|
123
|
+
rubocop (~> 1.50)
|
124
|
+
standard-performance (1.3.1)
|
125
|
+
lint_roller (~> 1.1)
|
126
|
+
rubocop-performance (~> 1.20.2)
|
127
|
+
thor (1.3.0)
|
128
|
+
thread_safe (0.3.6)
|
129
|
+
tzinfo (1.2.11)
|
130
|
+
thread_safe (~> 0.1)
|
131
|
+
unicode-display_width (2.5.0)
|
132
|
+
webmock (3.19.1)
|
133
|
+
addressable (>= 2.8.0)
|
134
|
+
crack (>= 0.3.2)
|
135
|
+
hashdiff (>= 0.4.0, < 2.0.0)
|
136
|
+
yard (0.9.34)
|
137
|
+
|
138
|
+
PLATFORMS
|
139
|
+
x86_64-linux
|
140
|
+
|
141
|
+
DEPENDENCIES
|
142
|
+
activerecord (~> 5.2)
|
143
|
+
awesome_print
|
144
|
+
dotenv
|
145
|
+
elasticsearch (~> 7.17, >= 7.17.10)
|
146
|
+
esse-active_record!
|
147
|
+
esse-rspec (~> 0.0.6)
|
148
|
+
pry
|
149
|
+
rake
|
150
|
+
rspec
|
151
|
+
rubocop
|
152
|
+
rubocop-performance
|
153
|
+
rubocop-rspec
|
154
|
+
sqlite3 (~> 1.3.6)
|
155
|
+
standard
|
156
|
+
webmock
|
157
|
+
yard
|
158
|
+
|
159
|
+
BUNDLED WITH
|
160
|
+
2.3.21
|