Skip to content

cs-ech/lore-seeker

 
 

Repository files navigation

Search engine for official and custom Magic: The Gathering cards.

Ruby on Rails frontend

To run frontend like https://lore-seeker.cards/

$ cd frontend
$ bundle
$ bundle exec rails s

Command line

To search card names from command line:

$ ./search-engine/bin/find_cards "query"

To search card names and content from command line:

$ ./search-engine/bin/find_cards -v "query"

To explore card database from Ruby console:

$ ./search-engine/bin/pry_cards

Testing

Tests for library and for Rails frontend are separate:

$ (cd search-engine; bundle install)
$ (cd search-engine; bundle exec rspec)
$ (cd frontend; bundle install)
$ (cd frontend; bundle exec rake test)

How to update database

Whenever new set is released:

  • Run rake rules:update in case Comprehensive Rules changed
  • If set is not Vintage-legal, add new set code to FormatVintage exclusions list
  • Add new set code and date to legalities in Standard, Modern, Pioneer, and Frontier if applicable
  • Add new set code to appropriate block in indexer
  • Create new block format if applicable and add it to indexer and Format class
  • Update format tests
  • rake pennydreadful:update

Then import cards:

  • Run rake mtgjson:update to fetch mtgjson data and index it (this can fail if there are any mtgjson quality issues)
  • Run rake test and fix any tests failing due to data changes

Whenever banned and restricted list is announced:

  • Update BanlistTest and/or BanlistCommanderTest
  • Update Banlist data

Ban lists

About

Search engine for official and custom Magic cards

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Haml 50.4%
  • Ruby 43.3%
  • Python 4.4%
  • CSS 1.0%
  • SCSS 0.5%
  • HTML 0.3%
  • Other 0.1%