Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
938 changes: 937 additions & 1 deletion .idea/jsLibraryMappings.xml

Large diffs are not rendered by default.

156 changes: 155 additions & 1 deletion .rubocop.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
plugins: rubocop-rails
plugins:
- rubocop-rails
- rubocop-rspec
- rubocop-rspec_rails

AllCops:
UseCache: false
Expand Down Expand Up @@ -294,6 +297,8 @@ Rails/NegateInclude: # new in 2.7
Enabled: true
Rails/Pluck: # new in 2.7
Enabled: true
Exclude:
- 'spec/**/*'
Rails/PluckInWhere: # new in 2.7
Enabled: true
Rails/RenderInline: # new in 2.7
Expand Down Expand Up @@ -594,3 +599,152 @@ Rails/WhereNotWithMultipleConditions: # new in 2.17
Enabled: true
Rails/WhereRange: # new in 2.25
Enabled: true
RSpec/IncludeExamples: # new in 3.6
Enabled: true
RSpec/LeakyLocalVariable: # new in 3.8
Enabled: true
RSpecRails/HaveHttpStatus: # new in 2.12
Enabled: true
RSpecRails/MinitestAssertions: # new in 2.17
Enabled: true
RSpecRails/NegationBeValid: # new in 2.23
Enabled: true
RSpecRails/TravelAround: # new in 2.19
Enabled: true

############################################################
# rubocop-rspec

# believe me, it wasn't by choice
RSpec/AnyInstance:
Enabled: false

RSpec/VerifiedDoubleReference:
Enabled: false

# we meant to do that
RSpec/BeforeAfterAll:
Enabled: false

RSpec/ContainExactly:
Enabled: false

# more words != more readable
RSpec/ContextWording:
Enabled: false

# not everything we test is a class
RSpec/DescribeClass:
Enabled: false

# explicit >>> implicit
RSpec/DescribedClass:
Enabled: false

# more punctuation != more readable
RSpec/DescribeSymbol:
Enabled: false

# setup cost / time >>> failure granularity
RSpec/ExampleLength:
Max: 25
CountAsOne:
- array
- hash
- heredoc

# we meant to do that
RSpec/ExpectInHook:
Enabled: false

RSpec/SpecFilePathFormat:
Enabled: false

RSpec/SpecFilePathSuffix:
Enabled: false

# Requests are not inferred properly without explicit typing.
# Similarly, system tests don't pick up Selenium without explicit typing.
RSpecRails/InferredSpecType:
Enabled: true
Exclude:
- 'spec/requests/*.rb'
- 'spec/system/*.rb'

# explicit >>> implicit
RSpec/InstanceVariable:
Enabled: false

# maybe when 'all' has a corresponding 'none' matcher
RSpec/IteratedExpectation:
Enabled: false

# we meant to do that
RSpec/MessageSpies:
Enabled: false

# too late now
RSpec/MultipleMemoizedHelpers:
Enabled: false

# setup cost / time >>> failure granularity
RSpec/MultipleExpectations:
Enabled: false

# cure is worse than the disease
RSpec/NestedGroups:
Enabled: false

# more quotation marks != more readable
RSpec/SharedExamples:
Enabled: false

# we meant to do that
RSpec/StubbedMock:
Enabled: false

# we meant to do that
RSpec/VerifiedDoubles:
Enabled: false

############################################################
# rubocop-rspec

# enable newer rubocop-rspec cops

RSpec/IdenticalEqualityAssertion: # new in 2.4
Enabled: true

RSpecRails/AvoidSetupHook: # new in 2.4
Enabled: true

# Sometimes we're testing the operator
Lint/BinaryOperatorWithIdenticalOperands:
Exclude:
- 'spec/**/*'

Metrics/AbcSize:
Exclude:
- 'spec/**/*'

Metrics/BlockLength:
Exclude:
- 'spec/**/*'

Metrics/ModuleLength:
Exclude:
- 'spec/**/*'

Metrics/MethodLength:
Exclude:
- 'spec/**/*'

# we meant to do that
Rails/SkipsModelValidations:
Exclude:
- 'spec/**/*'

# we meant to do that
Rails/TimeZone:
Exclude:
- 'spec/**/*'
2 changes: 1 addition & 1 deletion .yarnrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
# yarn lockfile v1


lastUpdateCheck 1780439312657
lastUpdateCheck 1782867282598
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# The base stage scaffolds elements which are common to building and running
# the application, such as installing ca-certificates, creating the app user,
# and installing runtime system dependencies.
FROM ruby:3.3-slim AS base
FROM ruby:3.4-slim AS base

# ------------------------------------------------------------
# Declarative metadata
Expand Down
6 changes: 3 additions & 3 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '~> 3.3'
ruby '~> 3.4'

gem 'addressable', '~> 2.8'
gem 'awesome_print', '~> 1.9'
Expand All @@ -28,14 +28,14 @@ gem 'pg', '~> 1.2'
gem 'pg_search', '~> 2.3'
gem 'puma', '~> 7.2'
gem 'puma-plugin-delayed_stop', '~> 0.1.2'
gem 'rails', '~> 8.0.5'
gem 'rails', '~> 8.1.3'
gem 'ruby-vips', '~> 2.3'
gem 'sprockets-rails', '~> 3.5.0'

group :development, :test do
gem 'brakeman'
gem 'bundle-audit'
gem 'byebug', platforms: %i[mri mingw x64_mingw]
gem 'byebug', platforms: %i[mri windows]
gem 'colorize'
gem 'factory_bot_rails'
gem 'rspec-rails', '~> 8.0'
Expand Down
Loading
Loading