Class: Squeezer::Models::Album

Inherits:
Model
  • Object
show all
Defined in:
lib/squeezer/models/album.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Model

extract_records

Methods included from Connection

close_connection, exec, #exit, open_connection, retrieve_connection

Constructor Details

#initialize(record) ⇒ Album

Returns a new instance of Album.



7
8
9
10
11
12
13
# File 'lib/squeezer/models/album.rb', line 7

def initialize(record)
  unless record.nil?
    @id = record[:id] if record.key?(:id)
    @name = record[:title] if record.key?(:title)
    @discs = record[:disccount] if record.key?(:disccount)
  end
end

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.



5
6
7
# File 'lib/squeezer/models/album.rb', line 5

def id
  @id
end

#nameObject (readonly)

Returns the value of attribute name.



5
6
7
# File 'lib/squeezer/models/album.rb', line 5

def name
  @name
end

Class Method Details

.allObject



23
24
25
26
27
28
29
# File 'lib/squeezer/models/album.rb', line 23

def self.all
  results = Array.new
  Model.extract_records(Connection.exec("albums 0 #{total} charset:utf8 tags:tqs")).each do |record|
    results << Album.new(record)
  end
  results
end

.totalObject



19
20
21
# File 'lib/squeezer/models/album.rb', line 19

def self.total
  Connection.exec("info total albums ?").to_i
end

Instance Method Details

#discsObject



15
16
17
# File 'lib/squeezer/models/album.rb', line 15

def discs
  @discs.nil? ? 1 : @discs.to_i
end