rails_spotlight 0.1.3 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 384640da6ad761fabbb253f739dac3a88621efb5a0cd9534f11b7a9986f7b1e9
4
- data.tar.gz: de16f0005982e44760f7f9edfa9ee8d44899872a559a79ec61df590733d86cd6
3
+ metadata.gz: 87f0223a0d6c7cac9d284d7d19a7befa0280c52f3731b01cef1207b83628875d
4
+ data.tar.gz: 0e5adc3f69234b898dce003bb9c2f82be164bab0afbd5a7b5c826d30cb013b49
5
5
  SHA512:
6
- metadata.gz: 49ac21c3c0118c76404344c23c47f8fe0053b4d56632c3b27586c384c0d385ac06721ecd6f55beaf29c1f19b404bf8121de1045643850cafda59decb2cace741
7
- data.tar.gz: fee2d3ec746552114da8cf3f77f0853ec47395cad5eac759a1ff3ad47847681596d55804764af98f54055f96260d78b1ba31e7cd32836a7a1ad7504b0b0c4d36
6
+ metadata.gz: fa5134d60d3c1ca1d7b34c30adccd3316f3aab59f445e35d3e547cc6c735ea05056769a4dc5a5d5344b56ffdbdb01969cf0d94286346c5735b450222fc76a68d
7
+ data.tar.gz: cc448d4957b17c63e7ad7081df7e988c64548e3a619dc834a7956c32def2132b3c02e8af7e0e1aa603e7b4c0068c942f61118054158a5d872c815205ddb409d0
data/.dockerignore ADDED
@@ -0,0 +1,2 @@
1
+ **/extensions
2
+ **/tmp
data/.rubocop.yml CHANGED
@@ -1,11 +1,15 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.0
2
+ TargetRubyVersion: 2.6
3
3
  DefaultFormatter: progress
4
4
  SuggestExtensions:
5
5
  rubocop-rake: true
6
6
  rubocop-rspec: true
7
-
8
7
  NewCops: enable
8
+ Exclude:
9
+ - "bin/**/*"
10
+ - "exe/**/*"
11
+ - "tmp/**/*"
12
+ - "extensions/**/*"
9
13
 
10
14
  Style/StringLiterals:
11
15
  Enabled: true
@@ -15,7 +19,7 @@ Style/StringLiteralsInInterpolation:
15
19
  Enabled: true
16
20
  EnforcedStyle: double_quotes
17
21
 
18
- Layout/LineLength:
22
+ Metrics/LineLength:
19
23
  Max: 220
20
24
 
21
25
  Metrics/ModuleLength:
@@ -33,7 +37,7 @@ Metrics/ParameterLists:
33
37
  Max: 10
34
38
  CountKeywordArgs: false
35
39
 
36
- Layout/HashAlignment:
40
+ Metrics/HashAlignment:
37
41
  Enabled: false
38
42
  EnforcedHashRocketStyle: table
39
43
  EnforcedColonStyle: table
data/Dockerfile ADDED
@@ -0,0 +1,20 @@
1
+ FROM ruby:2.6-alpine
2
+
3
+ RUN apk add --update --no-cache \
4
+ build-base git openssh
5
+
6
+ RUN mkdir /app
7
+ WORKDIR /app
8
+
9
+ COPY Gemfile /app
10
+ COPY rails_spotlight.gemspec /app
11
+ COPY lib/rails_spotlight/version.rb /app/lib/rails_spotlight/version.rb
12
+ RUN echo 'gem: --no-rdoc --no-ri' >> "$HOME/.gemrc"
13
+ RUN gem update --system 3.2.3
14
+ RUN gem install bundler -v 2.4.6
15
+ RUN bundle install
16
+
17
+ COPY . /app
18
+
19
+ RUN bundle install
20
+ CMD ["bundle", "exec", "rspec"]
@@ -0,0 +1,38 @@
1
+ FROM ruby:2.6-alpine
2
+
3
+ RUN apk add --update --no-cache \
4
+ build-base \
5
+ curl-dev \
6
+ git \
7
+ nodejs \
8
+ shared-mime-info \
9
+ sqlite-dev \
10
+ tzdata \
11
+ yaml-dev \
12
+ yarn \
13
+ zlib-dev \
14
+ gcompat
15
+
16
+ RUN mkdir /app /gem
17
+ WORKDIR /app
18
+
19
+ RUN bundle config set force_ruby_platform true
20
+ RUN echo 'gem: --no-rdoc --no-ri' >> "$HOME/.gemrc"
21
+ RUN gem update --system 3.2.3
22
+ RUN gem install bundler -v 2.4.6
23
+ RUN gem install rails -v 5.2.3
24
+ RUN gem install rspec-rails -v 4.1.1
25
+ RUN rails new .
26
+
27
+ COPY . /gem
28
+ RUN bundle add rails_spotlight --path /gem
29
+ RUN echo 'gem "rspec-rails"' >> "Gemfile"
30
+ RUN bundle install
31
+ RUN rails generate rspec:install
32
+
33
+ COPY fake_spec_res/routes.rb /app/config/
34
+ COPY fake_spec_res/dummy_controller.rb /app/app/controllers/
35
+ COPY fake_spec_res/dummy /app/app/views/dummy
36
+ COPY fake_spec_res/rails_spotlight_spec.rb /app/spec/integration/
37
+
38
+ CMD ["bin/rake"]
@@ -0,0 +1,48 @@
1
+ FROM ruby:2.6-alpine
2
+
3
+ RUN apk add --update --no-cache \
4
+ build-base \
5
+ curl-dev \
6
+ git \
7
+ nodejs \
8
+ shared-mime-info \
9
+ sqlite-dev \
10
+ tzdata \
11
+ yaml-dev \
12
+ yarn \
13
+ zlib-dev \
14
+ gcompat
15
+
16
+ RUN mkdir /app /gem
17
+ WORKDIR /app
18
+
19
+ RUN bundle config set force_ruby_platform true
20
+ RUN echo 'gem: --no-rdoc --no-ri' >> "$HOME/.gemrc"
21
+ RUN gem update --system 3.2.3
22
+ RUN gem install bundler -v 2.4.6
23
+ RUN gem install rails -v 6.0.6
24
+ RUN gem install rspec-rails -v 4.1.1
25
+ RUN rails new .
26
+
27
+ COPY . /gem
28
+ RUN bundle add rails_spotlight --path /gem
29
+ RUN echo 'gem "rspec-rails"' >> "Gemfile"
30
+ RUN bundle install
31
+ RUN rails generate rspec:install
32
+
33
+ COPY fake_spec_res/routes.rb /app/config/
34
+ COPY fake_spec_res/dummy_controller.rb /app/app/controllers/
35
+ COPY fake_spec_res/dummy /app/app/views/dummy
36
+ COPY fake_spec_res/rails_spotlight_spec.rb /app/spec/integration/
37
+
38
+ RUN bundle exec rails db:migrate
39
+
40
+ # Webpacker 4 does not work well with Node v16
41
+ RUN bundle remove webpacker
42
+ RUN bundle add webpacker -v 5.4.3
43
+ RUN bundle install
44
+ RUN bundle exec rails webpacker:install
45
+
46
+ ENV PARALLEL_WORKERS 1
47
+
48
+ CMD ["bin/rake"]
@@ -0,0 +1,42 @@
1
+ FROM ruby:2.6-alpine
2
+
3
+ RUN apk add --update --no-cache \
4
+ build-base \
5
+ curl-dev \
6
+ git \
7
+ nodejs \
8
+ shared-mime-info \
9
+ sqlite-dev \
10
+ tzdata \
11
+ yaml-dev \
12
+ yarn \
13
+ zlib-dev \
14
+ gcompat
15
+
16
+ RUN mkdir /app /gem
17
+ WORKDIR /app
18
+
19
+ RUN bundle config set force_ruby_platform true
20
+ RUN echo 'gem: --no-rdoc --no-ri' >> "$HOME/.gemrc"
21
+ RUN gem update --system 3.2.3
22
+ RUN gem install bundler -v 2.4.6
23
+ RUN gem install rails -v 6.1.7
24
+ RUN gem install rspec-rails -v 4.1.1
25
+ RUN rails new .
26
+
27
+ COPY . /gem
28
+ RUN bundle add rails_spotlight --path /gem
29
+ RUN echo 'gem "rspec-rails"' >> "Gemfile"
30
+ RUN bundle install
31
+ RUN rails generate rspec:install
32
+
33
+ COPY fake_spec_res/routes.rb /app/config/
34
+ COPY fake_spec_res/dummy_controller.rb /app/app/controllers/
35
+ COPY fake_spec_res/dummy /app/app/views/dummy
36
+ COPY fake_spec_res/rails_spotlight_spec.rb /app/spec/integration/
37
+
38
+ RUN bundle exec rails db:migrate
39
+
40
+ ENV PARALLEL_WORKERS 1
41
+
42
+ CMD ["bin/rake"]
@@ -0,0 +1,42 @@
1
+ FROM ruby:3.0-alpine
2
+
3
+ RUN apk add --update --no-cache \
4
+ build-base \
5
+ curl-dev \
6
+ git \
7
+ nodejs \
8
+ shared-mime-info \
9
+ sqlite-dev \
10
+ tzdata \
11
+ yaml-dev \
12
+ yarn \
13
+ zlib-dev \
14
+ gcompat
15
+
16
+ RUN mkdir /app /gem
17
+ WORKDIR /app
18
+
19
+ RUN bundle config set force_ruby_platform true
20
+ RUN echo 'gem: --no-rdoc --no-ri' >> "$HOME/.gemrc"
21
+ RUN gem update --system 3.2.3
22
+ RUN gem install bundler -v 2.4.6
23
+ RUN gem install rails -v 7.0.4
24
+ RUN gem install rspec-rails
25
+ RUN rails new .
26
+
27
+ COPY . /gem
28
+ RUN bundle add rails_spotlight --path /gem
29
+ RUN echo 'gem "rspec-rails"' >> "Gemfile"
30
+ RUN bundle install
31
+ RUN rails generate rspec:install
32
+
33
+ COPY fake_spec_res/routes.rb /app/config/
34
+ COPY fake_spec_res/dummy_controller.rb /app/app/controllers/
35
+ COPY fake_spec_res/dummy /app/app/views/dummy
36
+ COPY fake_spec_res/rails_spotlight_spec.rb /app/spec/integration/
37
+
38
+ RUN bundle exec rails db:migrate
39
+
40
+ ENV PARALLEL_WORKERS 1
41
+
42
+ CMD ["bin/rake"]
data/Gemfile CHANGED
@@ -2,11 +2,4 @@
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- # Specify your gem's dependencies in rails_spotlight.gemspec
6
5
  gemspec
7
-
8
- gem 'rake', '~> 13.0'
9
-
10
- gem 'rspec', '~> 3.0'
11
-
12
- gem 'rubocop', '~> 1.21'
data/Guardfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  guard :rspec, cmd: 'rspec' do
2
4
  watch(%r{^lib/(.+).rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
3
5
  watch(%r{^spec/(.+).rb$}) { |m| "spec/#{m[1]}.rb" }
data/README.md CHANGED
@@ -1,15 +1,30 @@
1
1
  # RailsSpotlight
2
2
 
3
+ Chrome extension [Rails Spotlight](https://chrome.google.com/webstore/detail/rails-spotlight/kfacifkandemkdemkliponofajohhnbp?hl=en-US).
4
+
5
+ ## Support for
6
+
7
+ * Rails 5+
8
+ * Ruby 2.6+
9
+
3
10
  ## Installation
4
11
 
5
12
  Add this line to your application's Gemfile:
6
13
 
7
14
  ```ruby
8
15
  group :development do
9
- gem 'meta_request'
16
+ gem 'rails_spotlight'
10
17
  end
11
18
  ```
12
19
 
20
+ ## Testing
21
+
22
+ To run tests for all versions of Rails and Ruby, run:
23
+
24
+ ```bash
25
+ docker-compose up
26
+ ```
27
+
13
28
  ## Usage
14
29
 
15
30
  ## Development
@@ -25,6 +40,3 @@ The gem is available as open source under the terms of the [MIT License](https:/
25
40
  ## Code of Conduct
26
41
 
27
42
  Everyone interacting in the RailsSpotlight project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/pniemczyk/rails_spotlight/blob/master/CODE_OF_CONDUCT.md).
28
-
29
-
30
- check https://github.com/alexrudall/ruby-openai
@@ -0,0 +1,6 @@
1
+ version: '3.7'
2
+ services:
3
+ console:
4
+ build: .
5
+ volumes:
6
+ - .:/app
@@ -0,0 +1,35 @@
1
+ version: '3.7'
2
+ services:
3
+ rubocop:
4
+ env_file:
5
+ - 'docker-variables.env'
6
+ build: .
7
+ command: bundle exec rubocop
8
+ spec-unit:
9
+ env_file:
10
+ - 'docker-variables.env'
11
+ build: .
12
+ spec-rails-5.2:
13
+ env_file:
14
+ - 'docker-variables.env'
15
+ build:
16
+ context: .
17
+ dockerfile: Dockerfile-rails-5.2
18
+ spec-rails-6.0:
19
+ env_file:
20
+ - 'docker-variables.env'
21
+ build:
22
+ context: .
23
+ dockerfile: Dockerfile-rails-6.0
24
+ spec-rails-6.1:
25
+ env_file:
26
+ - 'docker-variables.env'
27
+ build:
28
+ context: .
29
+ dockerfile: Dockerfile-rails-6.1
30
+ spec-rails-7.0:
31
+ env_file:
32
+ - 'docker-variables.env'
33
+ build:
34
+ context: .
35
+ dockerfile: Dockerfile-rails-7.0
@@ -0,0 +1 @@
1
+ BUNDLER_VERSION=2.4.6
@@ -0,0 +1 @@
1
+ <div />
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class DummyController < ApplicationController
4
+ def index
5
+ render text: 'Hello'
6
+ end
7
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails_helper'
4
+ require 'fileutils'
5
+
6
+ RSpec.describe DummyController, type: :request do # rubocop:disable Metrics/BlockLength
7
+ context 'rails_spotlight' do
8
+ it 'serve a file source' do
9
+ post '/__rails_spotlight/file.json', params: { file: 'config/application.rb', mode: :read }.to_json
10
+
11
+ expect(response).to be_successful
12
+ expect(response.body).to include('# Require the gems listed in Gemfile, including any gems')
13
+ end
14
+
15
+ it 'write content to the file' do
16
+ content = 'TEST'
17
+ file = 'README.md'
18
+ File.write(Rails.root.join(file), 'OLD')
19
+ expect(File.read(Rails.root.join(file))).to_not eq content
20
+
21
+ post '/__rails_spotlight/file.json', params: { file: file, mode: :write, content: content }.to_json
22
+
23
+ expect(response).to be_successful
24
+ expect(response.body).to eq({ source: content }.to_json)
25
+ expect(File.read(Rails.root.join(file))).to eq content
26
+ end
27
+
28
+ it 'serve a verify info' do
29
+ get '/__rails_spotlight/verify.json'
30
+ expect(response).to be_successful
31
+ end
32
+
33
+ it 'serve a sql result' do
34
+ post '/__rails_spotlight/sql.json', params: { query: 'select sqlite_version();' }.to_json
35
+ expect(response).to be_successful
36
+ expect(JSON.parse(response.body).keys).to eq(%w[result logs])
37
+ end
38
+ end
39
+
40
+ context 'meta_request specs' do
41
+ before do
42
+ # clean up meta_request files
43
+ FileUtils.rm_rf(Rails.root.join('tmp', 'data', 'meta_request'))
44
+ get '/'
45
+ @request_id = response.headers['X-Request-Id']
46
+ end
47
+
48
+ let(:request_id) { @request_id }
49
+
50
+ it 'should have a request_id header' do
51
+ expect(request_id).to be_present
52
+ end
53
+
54
+ it 'should have a meta_request version header' do
55
+ expect(response.headers['X-Meta-Request-Version']).to eq(MetaRequest::VERSION)
56
+ end
57
+
58
+ it 'should create a request file' do
59
+ expect(Dir[Rails.root.join('tmp/data/meta_request/*.json')].size).to eq(1)
60
+ end
61
+
62
+ it 'should serve a meta_request' do
63
+ get "/__meta_request/#{request_id}.json"
64
+ expect(response).to be_successful
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ Rails.application.routes.draw do
4
+ root 'dummy#index'
5
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsSpotlight
2
4
  module Middlewares
3
5
  module Handlers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsSpotlight
2
4
  module Middlewares
3
5
  module Handlers
@@ -25,7 +27,7 @@ module RailsSpotlight
25
27
  end
26
28
 
27
29
  def request_mode
28
- @request_mode ||= json_request_body.fetch('mode') { 'read' }
30
+ @request_mode ||= json_request_body.fetch('mode', 'read')
29
31
  end
30
32
 
31
33
  def path_valid?
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsSpotlight
2
4
  module Middlewares
3
5
  module Handlers
@@ -1,21 +1,42 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsSpotlight
2
4
  module Middlewares
3
5
  module Handlers
4
6
  class SqlActionHandler < BaseActionHandler
5
7
  def execute
6
- ActiveSupport::Notifications.subscribed(method(:logger), 'sql.active_record', monotonic: true) do
7
- ActiveSupport::ExecutionContext.set(rails_spotlight: request_id) do
8
- self.result = ActiveRecord::Base.connection.exec_query(query)
8
+ if ActiveSupport.const_defined?('ExecutionContext')
9
+ ActiveSupport::Notifications.subscribed(method(:logger), 'sql.active_record', monotonic: true) do
10
+ ActiveSupport::ExecutionContext.set(rails_spotlight: request_id) do
11
+ transaction
12
+ end
13
+ end
14
+ else
15
+ ActiveSupport::Notifications.subscribed(method(:logger), 'sql.active_record') do
16
+ transaction
9
17
  end
10
18
  end
11
19
  end
12
20
 
13
21
  private
14
22
 
23
+ def transaction
24
+ ActiveRecord::Base.transaction do
25
+ begin
26
+ self.result = ActiveRecord::Base.connection.exec_query(query)
27
+ rescue => e
28
+ self.error = e
29
+ ensure
30
+ raise ActiveRecord::Rollback unless force_execution?
31
+ end
32
+ end
33
+ end
34
+
15
35
  attr_accessor :result
36
+ attr_accessor :error
16
37
 
17
38
  def json_response_body
18
- { result: result, logs: logs }
39
+ { result: result, logs: logs, error: error.inspect, query_mode: force_execution? ? 'force' : 'default' }
19
40
  end
20
41
 
21
42
  def logger(_, started, finished, unique_id, payload)
@@ -31,6 +52,10 @@ module RailsSpotlight
31
52
  def query
32
53
  @query ||= json_request_body.fetch('query')
33
54
  end
55
+
56
+ def force_execution?
57
+ @force_execution ||= json_request_body['mode'] == 'force'
58
+ end
34
59
  end
35
60
  end
36
61
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsSpotlight
2
4
  module Middlewares
3
5
  module Handlers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'handlers/base_action_handler'
2
4
  require_relative 'handlers/file_action_handler'
3
5
  require_relative 'handlers/sql_action_handler'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsSpotlight
4
- VERSION = '0.1.3'
4
+ VERSION = '0.1.5'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_spotlight
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pawel Niemczyk
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-04-11 00:00:00.000000000 Z
11
+ date: 2023-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack-contrib
@@ -140,14 +140,14 @@ dependencies:
140
140
  requirements:
141
141
  - - "~>"
142
142
  - !ruby/object:Gem::Version
143
- version: 0.74.0
143
+ version: '1.48'
144
144
  type: :development
145
145
  prerelease: false
146
146
  version_requirements: !ruby/object:Gem::Requirement
147
147
  requirements:
148
148
  - - "~>"
149
149
  - !ruby/object:Gem::Version
150
- version: 0.74.0
150
+ version: '1.48'
151
151
  description: Lets have a look at your rails application in details
152
152
  email:
153
153
  - pniemczyk.info@gmail.com
@@ -156,17 +156,29 @@ executables:
156
156
  extensions: []
157
157
  extra_rdoc_files: []
158
158
  files:
159
+ - ".dockerignore"
159
160
  - ".rspec"
160
161
  - ".rubocop.yml"
161
162
  - CHANGELOG.md
162
163
  - CODE_OF_CONDUCT.md
164
+ - Dockerfile
165
+ - Dockerfile-rails-5.2
166
+ - Dockerfile-rails-6.0
167
+ - Dockerfile-rails-6.1
168
+ - Dockerfile-rails-7.0
163
169
  - Gemfile
164
- - Gemfile.lock
165
170
  - Guardfile
166
171
  - LICENSE.txt
167
172
  - README.md
168
173
  - Rakefile
174
+ - docker-compose.dev.yml
175
+ - docker-compose.yml
176
+ - docker-variables.env
169
177
  - exe/rails_spotlight
178
+ - fake_spec_res/dummy/index.html
179
+ - fake_spec_res/dummy_controller.rb
180
+ - fake_spec_res/rails_spotlight_spec.rb
181
+ - fake_spec_res/routes.rb
170
182
  - lib/rails_spotlight.rb
171
183
  - lib/rails_spotlight/middlewares/handlers/base_action_handler.rb
172
184
  - lib/rails_spotlight/middlewares/handlers/file_action_handler.rb
@@ -193,14 +205,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
193
205
  requirements:
194
206
  - - ">="
195
207
  - !ruby/object:Gem::Version
196
- version: 2.0.0
208
+ version: 2.6.0
197
209
  required_rubygems_version: !ruby/object:Gem::Requirement
198
210
  requirements:
199
211
  - - ">="
200
212
  - !ruby/object:Gem::Version
201
213
  version: '0'
202
214
  requirements: []
203
- rubygems_version: 3.2.15
215
+ rubygems_version: 3.4.12
204
216
  signing_key:
205
217
  specification_version: 4
206
218
  summary: Lets have a look at your rails application in details
data/Gemfile.lock DELETED
@@ -1,158 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- rails_spotlight (0.1.3)
5
- meta_request (~> 0.7)
6
- rack-contrib (>= 1.1, < 3)
7
- railties (>= 3.0.0, < 7.1)
8
-
9
- GEM
10
- remote: https://rubygems.org/
11
- specs:
12
- actionpack (7.0.4.3)
13
- actionview (= 7.0.4.3)
14
- activesupport (= 7.0.4.3)
15
- rack (~> 2.0, >= 2.2.0)
16
- rack-test (>= 0.6.3)
17
- rails-dom-testing (~> 2.0)
18
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
19
- actionview (7.0.4.3)
20
- activesupport (= 7.0.4.3)
21
- builder (~> 3.1)
22
- erubi (~> 1.4)
23
- rails-dom-testing (~> 2.0)
24
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
25
- activesupport (7.0.4.3)
26
- concurrent-ruby (~> 1.0, >= 1.0.2)
27
- i18n (>= 1.6, < 2)
28
- minitest (>= 5.1)
29
- tzinfo (~> 2.0)
30
- ast (2.4.2)
31
- awesome_print (1.9.2)
32
- builder (3.2.4)
33
- coderay (1.1.3)
34
- concurrent-ruby (1.2.2)
35
- crass (1.0.6)
36
- diff-lcs (1.5.0)
37
- erubi (1.12.0)
38
- ffi (1.15.5)
39
- formatador (1.1.0)
40
- guard (2.18.0)
41
- formatador (>= 0.2.4)
42
- listen (>= 2.7, < 4.0)
43
- lumberjack (>= 1.0.12, < 2.0)
44
- nenv (~> 0.1)
45
- notiffany (~> 0.0)
46
- pry (>= 0.13.0)
47
- shellany (~> 0.0)
48
- thor (>= 0.18.1)
49
- guard-compat (1.2.1)
50
- guard-rspec (4.7.3)
51
- guard (~> 2.1)
52
- guard-compat (~> 1.1)
53
- rspec (>= 2.99.0, < 4.0)
54
- guard-rubocop (1.5.0)
55
- guard (~> 2.0)
56
- rubocop (< 2.0)
57
- i18n (1.12.0)
58
- concurrent-ruby (~> 1.0)
59
- json (2.6.3)
60
- listen (3.8.0)
61
- rb-fsevent (~> 0.10, >= 0.10.3)
62
- rb-inotify (~> 0.9, >= 0.9.10)
63
- loofah (2.19.1)
64
- crass (~> 1.0.2)
65
- nokogiri (>= 1.5.9)
66
- lumberjack (1.2.8)
67
- meta_request (0.7.4)
68
- rack-contrib (>= 1.1, < 3)
69
- railties (>= 3.0.0, < 7.1)
70
- method_source (1.0.0)
71
- mini_portile2 (2.8.1)
72
- minitest (5.18.0)
73
- nenv (0.3.0)
74
- nokogiri (1.14.2)
75
- mini_portile2 (~> 2.8.0)
76
- racc (~> 1.4)
77
- notiffany (0.1.3)
78
- nenv (~> 0.1)
79
- shellany (~> 0.0)
80
- parallel (1.22.1)
81
- parser (3.2.1.1)
82
- ast (~> 2.4.1)
83
- pry (0.14.2)
84
- coderay (~> 1.1)
85
- method_source (~> 1.0)
86
- racc (1.6.2)
87
- rack (2.2.6.4)
88
- rack-contrib (2.3.0)
89
- rack (~> 2.0)
90
- rack-test (2.1.0)
91
- rack (>= 1.3)
92
- rails-dom-testing (2.0.3)
93
- activesupport (>= 4.2.0)
94
- nokogiri (>= 1.6)
95
- rails-html-sanitizer (1.5.0)
96
- loofah (~> 2.19, >= 2.19.1)
97
- railties (7.0.4.3)
98
- actionpack (= 7.0.4.3)
99
- activesupport (= 7.0.4.3)
100
- method_source
101
- rake (>= 12.2)
102
- thor (~> 1.0)
103
- zeitwerk (~> 2.5)
104
- rainbow (3.1.1)
105
- rake (13.0.6)
106
- rb-fsevent (0.11.2)
107
- rb-inotify (0.10.1)
108
- ffi (~> 1.0)
109
- regexp_parser (2.6.2)
110
- rexml (3.2.5)
111
- rspec (3.12.0)
112
- rspec-core (~> 3.12.0)
113
- rspec-expectations (~> 3.12.0)
114
- rspec-mocks (~> 3.12.0)
115
- rspec-core (3.12.1)
116
- rspec-support (~> 3.12.0)
117
- rspec-expectations (3.12.2)
118
- diff-lcs (>= 1.2.0, < 2.0)
119
- rspec-support (~> 3.12.0)
120
- rspec-mocks (3.12.3)
121
- diff-lcs (>= 1.2.0, < 2.0)
122
- rspec-support (~> 3.12.0)
123
- rspec-support (3.12.0)
124
- rubocop (1.44.1)
125
- json (~> 2.3)
126
- parallel (~> 1.10)
127
- parser (>= 3.2.0.0)
128
- rainbow (>= 2.2.2, < 4.0)
129
- regexp_parser (>= 1.8, < 3.0)
130
- rexml (>= 3.2.5, < 4.0)
131
- rubocop-ast (>= 1.24.1, < 2.0)
132
- ruby-progressbar (~> 1.7)
133
- unicode-display_width (>= 2.4.0, < 3.0)
134
- rubocop-ast (1.24.1)
135
- parser (>= 3.1.1.0)
136
- ruby-progressbar (1.11.0)
137
- shellany (0.0.1)
138
- thor (1.2.1)
139
- tzinfo (2.0.6)
140
- concurrent-ruby (~> 1.0)
141
- unicode-display_width (2.4.2)
142
- zeitwerk (2.6.7)
143
-
144
- PLATFORMS
145
- ruby
146
-
147
- DEPENDENCIES
148
- awesome_print (~> 1.6)
149
- guard (~> 2.12)
150
- guard-rspec (~> 4.5)
151
- guard-rubocop (~> 1.2)
152
- rails_spotlight!
153
- rake (~> 13.0)
154
- rspec (~> 3.0)
155
- rubocop (~> 1.21)
156
-
157
- BUNDLED WITH
158
- 2.4.6