Class: Keenser::Model

Inherits:
Object
  • Object
show all
Defined in:
lib/keenser/model.rb

Direct Known Subclasses

Computer, Song, SongTag, Tag

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.eachObject



9
10
11
# File 'lib/keenser/model.rb', line 9

def self.each
  ObjectSpace.each_object(Class).select { |k| k < Keenser::Model }
end

.schema(&block) ⇒ Object



17
18
19
# File 'lib/keenser/model.rb', line 17

def self.schema &block
  block ? @schema = block : @schema
end

.without_tablesObject



13
14
15
# File 'lib/keenser/model.rb', line 13

def self.without_tables
  each.reject { |m| DB.connection.table_exists? m.table_name }
end

Instance Method Details

#find_or_create(attrs) ⇒ Object



21
22
23
# File 'lib/keenser/model.rb', line 21

def find_or_create attrs
  where(attrs).limit(1).first || create(attrs)
end