Class: MobRotation::Database

Inherits:
Object
  • Object
show all
Defined in:
lib/mob_rotation/database.rb

Instance Method Summary collapse

Constructor Details

#initialize(filename) ⇒ Database

Returns a new instance of Database.



11
12
13
14
# File 'lib/mob_rotation/database.rb', line 11

def initialize(filename)
  @filename = filename
  FileUtils.touch(filename) unless File.exist?(filename)
end

Instance Method Details

#each_database_entry(filename) ⇒ Object



28
29
30
# File 'lib/mob_rotation/database.rb', line 28

def each_database_entry(filename)
  File.readlines(filename).collect { |entry| yield(entry) }
end

#format_mobster(name, email) ⇒ Object



24
25
26
# File 'lib/mob_rotation/database.rb', line 24

def format_mobster(name, email)
  name + (" <#{email}>" if email && !email.empty?).to_s
end

#sanitized_entries_inObject



5
6
7
8
9
# File 'lib/mob_rotation/database.rb', line 5

def sanitized_entries_in
  each_database_entry(@filename) do |entry|
    yield(entry.to_s.strip)
  end
end

#write(mobsters) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/mob_rotation/database.rb', line 16

def write(mobsters)
  File.open(@filename, "w") do |file|
    mobsters.each do |mobster|
      file << format_mobster(mobster.name, mobster.email) << "\n"
    end
  end
end