Получаем данные о ПОД из https://data.gov.ru
::ОбитаетЗдесь::
::ДеплоитсяЗдесь::
-
Ruby версия (вставьте данную строку в Gemfile):
ruby '~> 3.1.0'
-
Rails 7.0.3.1, PostgreSQL (=< 14.4, рекомендую версию как в heroku: 11.16)
-
heroku — в .gitignore добавлен файл config
/initializers/oink.rb
-
Анализ логов Oink:
bundle exec oink --format verbose -t 60 ./log/*
-
Запуск в tmux:
Запустим Overmind, затем запустим Tmuxinator
(оба приложения ставятся отдельно):
overmind s 2>&1 >/dev/null &
mux start pod-export
Tmuxinator (mux — это «алиас»), подключившись по сокету, откроет окно Overmind-а с Puma/RoR, если не открываются окна-табы тмукса, сделать так:
tmux kill-session -t pod-export; mux start -p=./.tmuxinator.yml
-
Данные скраппятся по ходу работы. Сайт теперь с API, сделаю без
скраппинга в другом репозитории. -
layouts/_flash.html.slim
убираются автоматически:
задействован Stimulus (removals_controller.js). -
Паршиал
shared/_pods_table.html.slim
обновляется с помощью TurboStream,
на индексе стоит TurboFrame, и связаны они с помощью dom_id. -
В
pods/index.html.slim
— submit из специальной формы gemsimple_form
(самописный пейджер / пагинация), в паршале_pods_table.html.slim
происходят сравнения персистанса из БД с соскраппленными таблицами
(методelem_retrieval
). -
Наименования: Pod — ПОД (поставщик открытых данных) связан с ИНН
(tax_payer_id
, реализована валидация) из таблицыbudget_participants
.