source "https://rubygems.org"
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby "3.3.0"

# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
gem "rails", "~> 7.1.3", ">= 7.1.3.2"

gem "sidekiq" # background jobs processing
gem 'httparty' # for http requests
gem 'rubyzip' # for zip file processing
gem 'roo', '~> 2.10' # for xlsx file parsing

# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
gem "sprockets-rails"

# Use postgresql as the database for Active Record
gem "pg", "~> 1.1"

# Use the Puma web server [https://github.com/puma/puma]
gem "puma", ">= 5.0"

# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
gem "importmap-rails"

# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
gem "turbo-rails"

# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
gem "stimulus-rails"

# Build JSON APIs with ease [https://github.com/rails/jbuilder]
gem "jbuilder"

# Use Redis adapter to run Action Cable in production
gem "redis", ">= 4.0.1"

# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis]
# gem "kredis"

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem "tzinfo-data", platforms: %i[ windows jruby ]

# Reduces boot times through caching; required in config/boot.rb
gem "bootsnap", require: false

# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
# gem "image_processing", "~> 1.2"
gem 'slim-rails' # slim html processor
gem 'jquery-rails' # jquery
gem 'jquery-ui-rails', '~> 6.0', '>= 6.0.1' # jquery ui
gem 'inputmask-rails' # library for js inputmask

gem 'airbrake', '~> 13.0', '>= 13.0.3' # gem for errbibt (error tracking)

gem 'paper_trail' # log who makes changes
gem 'strip_attributes' # automatically strip model attributes of leading and trailing whitespace
gem 'toastr-rails' # всплывающие уведомления

gem 'rack', '~> 2.2.8' # rack

gem 'inline_svg' # inline svg in html

# mephi cas auth
gem 'rack-cas', github: 'aleksandrov1988/rack-cas', branch: 'master'
gem 'addressable', github: 'aleksandrov1988/addressable', branch: 'master'

gem "pagy" # for turbo pagination

group :development, :test do
  # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
  gem "debug", platforms: %i[ mri windows ]
  gem 'hotwire-livereload', ">= 1.3.0" # обновление страницы автоматически после сохранения js,css,html
  gem 'rspec-rails', '~> 6.1.0'
end

group :development do
  # Use console on exceptions pages [https://github.com/rails/web-console]
  gem "web-console"
  gem 'annotate'
  gem 'foreman'
  gem 'capistrano'
  gem 'capistrano3-puma',  '~> 5.2'
  gem 'capistrano-master-key'
  gem 'capistrano-rails'
  gem 'capistrano-rvm'
  # Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler]
  # gem "rack-mini-profiler"

  # Speed up commands on slow machines / big apps [https://github.com/rails/spring]
  # gem "spring"
end

group :test do
  # Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]
  gem "capybara"
  gem "selenium-webdriver"
end
group :production do
  gem 'puma-daemon'
end
gem 'dartsass-sprockets' # sass-rails dependency
gem "tailwindcss-rails", "~> 3.0"
