mirror of
https://github.com/Retrospring/retrospring.git
synced 2025-01-18 23:56:03 +01:00
9413d23a02
this also allows the UseCase classes to be hot reloaded in dev 🎉
- remove use_case requires (except for the exporter as Zeitwerk
doesn't know about the subclasses)
- move version.rb to lib/retrospring so that Zeitwerk knows where
to find Retrospring::Version
25 lines
552 B
Ruby
25 lines
552 B
Ruby
# frozen_string_literal: true
|
|
|
|
module UseCase
|
|
module DataExport
|
|
class Questions < UseCase::DataExport::Base
|
|
IGNORED_FIELDS = %i[
|
|
author_identifier
|
|
].freeze
|
|
|
|
def files = {
|
|
"questions.json" => json_file!(
|
|
questions: user.questions.map(&method(:collect_question))
|
|
)
|
|
}
|
|
|
|
def collect_question(question)
|
|
{}.tap do |h|
|
|
(column_names(::Question) - IGNORED_FIELDS).each do |field|
|
|
h[field] = question[field]
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|