Sha256: e3f2d4fddbe55a671a8afbefadf8838edc638e865d71019a71fd98848f8fe294
Contents?: true
Size: 2 KB
Versions: 3
Compression:
Stored size: 2 KB
Contents
[![Stories in Ready](https://badge.waffle.io/jefmsmit/gdshowsdb.png?label=ready&title=Ready)](https://waffle.io/jefmsmit/gdshowsdb) # Gdshowsdb [ ![Codeship Status for jefmsmit/gdshowsdb](https://www.codeship.io/projects/b1f0f820-f314-0131-9281-66e36f054ecd/status)](https://www.codeship.io/projects/27798) All Grateful Dead show information in a relational database. Hoping to make this freely available database the cannonical resource for all Grateful Dead concert information. Additionally, This Gem can be used as an API to the data. ## Using with Ruby ```ruby require 'gdshowsdb' Gdshowsdb.init() Gdshowsdb.load() jack_straw_shows = SongRef.find_by_name('Jack Straw').shows jack_straw_shows.each do |show| puts show.title end ``` ## Using with Rails Add this to your Gemfile ``` gem 'gdshowsdb' ``` Generate the database migrations ``` rails generate gdshowsdatabase ``` ## Understanding the Model The `SongRef` class represents the reference data about a song. For example there is only one `SongRef` instance (or database row if you prefer) for "Wharf Rat". This allows us to normalize song names so its always "Goin' Down The Road Feeling Bad" and not sometimes "GDTRFB". A `SongRef` knows the `Shows` where it was performed. The `Show` class is for reprsenting all the particulars about a performance. City, State, Venue, etc. The `ShowSet` class is for representing a segment of a show. That way we can know what was played in the first set version the second versus the encore. I did not call it `Set` in order to avoid confusing with the Ruby class of the same name. The `Song` class is for representing the occurence of a `SongRef`. `Song`s know which set the occurence of a `SongRef` happened in, its position in the `ShowSet` as well as wether it was segued out of. The `SongOccurence` class is named association (think join table in sql) that allows a `Show` to know which `SongRef`s were performed without having to traverse throug the `ShowSet`s. I'm not convinced of this classes value and might remove it.
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gdshowsdb-1.0.2 | README.md |
gdshowsdb-1.0.1 | README.md |
gdshowsdb-1.0.0 | README.md |