internetvideogamelibrary/internetvideogamelibrary-website

View on GitHub
app/chewy/games_index.rb

Summary

Maintainability
A
0 mins
Test Coverage
class GamesIndex < DefaultIndex
  settings default_settings

  define_type Expansion.includes(edition: [:genres, :platform, :region, :work]) do
    field :title, analyzer: 'title'
    field :release_date, type: 'date'
    field :original_title, value: -> { edition.work.original_title }
    field :original_release_date, value: -> { edition.work.original_release_date }
    field :work_id, value: -> { edition.work.id }, type: 'integer'
    field :platform, value: -> { edition.platform.title }
    field :platform_id, value: -> { edition.platform_id }, type: 'integer'
    field :region, value: -> { edition.region.title }
    field :region_id, value: -> { edition.region_id }, type: 'integer'
    field :description
    field :genres, index: 'not_analyzed', value: -> { edition.genres.map(&:title) }
    field :expansion_id, value: -> { id }
    field :edition_id
    field :coverart_url, value: -> { coverart.url(:medium) }
    field :created_at, value: -> { created_at.to_i }, type: 'integer'
    field :expansion_slug, value: -> { slug }
    field :edition_slug, value: -> { edition.slug }
  end

  define_type Edition.includes(:genres, :platform, :region, :work) do
    field :title, analyzer: 'title'
    field :release_date, type: 'date'
    field :original_title, value: -> { work.original_title }
    field :original_release_date, value: -> { work.original_release_date }
    field :work_id, type: 'integer'
    field :platform, value: -> { platform.title }
    field :platform_id, type: 'integer'
    field :region, value: -> { region.title }
    field :region_id, type: 'integer'
    field :description
    field :genres, index: 'not_analyzed', value: -> { genres.map(&:title) }
    field :expansion_id, value: -> { nil }
    field :edition_id, value: -> { id }
    field :coverart_url, value: -> { coverart.url(:medium) }
    field :created_at, value: -> { created_at.to_i }, type: 'integer'
    field :expansion_slug, value: -> { nil }
    field :edition_slug, value: -> { slug }
  end
end