Sha256: 3da21ed4927b43a50c2bdd4f86afc7de9749f9c0301bf858188544d49ac21fe8

Contents?: true

Size: 1.33 KB

Versions: 3

Compression:

Stored size: 1.33 KB

Contents

require 'disposable'
require 'minitest/autorun'
require "pp"
require "representable/debug"

class Track
  def initialize(options={})
    @title = options[:title]
  end

  attr_reader :title
end


# require 'active_record'
# require 'database_cleaner'
# DatabaseCleaner.strategy = :truncation

require 'active_record'
class Artist < ActiveRecord::Base
  has_many :albums
end

class Song < ActiveRecord::Base
  belongs_to :artist
end

class Album < ActiveRecord::Base
  has_many :songs
  belongs_to :artist
end

ActiveRecord::Base.establish_connection(
  :adapter => "sqlite3",
  :database => ":memory:"
)

ActiveRecord::Schema.define do
  create_table :artists do |table|
    table.column :name, :string
    table.timestamps
  end
  create_table :songs do |table|
    table.column :title, :string
    table.column :artist_id, :integer
    table.column :album_id, :integer
    table.timestamps
  end
  create_table :albums do |table|
    table.column :name, :string
    table.column :artist_id, :integer
    table.timestamps
  end
end

module Disposable
  module Comparable
    def attributes(source)
      source.instance_variable_get(:@fields)
    end

    def ==(other)
      self.class == other.class and attributes(self) == attributes(other)
    end
  end

  module Saveable
    def save
      @saved = true
    end

    def saved?
      @saved
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
disposable-0.1.15 test/test_helper.rb
disposable-0.1.14 test/test_helper.rb
disposable-0.1.13 test/test_helper.rb