Class: Fantassh::EntriesFile
- Inherits:
-
Object
- Object
- Fantassh::EntriesFile
show all
- Defined in:
- lib/fantassh/entries_file.rb
Instance Method Summary
collapse
Constructor Details
#initialize(config_dir: nil) ⇒ EntriesFile
Returns a new instance of EntriesFile.
5
6
7
|
# File 'lib/fantassh/entries_file.rb', line 5
def initialize(config_dir: nil)
@config_dir = config_dir || File.join(Dir.home, '.fantassh')
end
|
Instance Method Details
#add(new_entries, reject_duplicates: true) ⇒ Object
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/fantassh/entries_file.rb', line 13
def add(new_entries, reject_duplicates: true)
new_entries = new_entries.map(&:strip).reject(&:empty?)
entries = all + new_entries
if reject_duplicates
entries.uniq!
end
File.open(file, 'w') do |f|
f.puts(entries)
end
end
|
#all ⇒ Object
9
10
11
|
# File 'lib/fantassh/entries_file.rb', line 9
def all
File.readlines(file).map(&:strip)
end
|
#file ⇒ Object
26
27
28
|
# File 'lib/fantassh/entries_file.rb', line 26
def file
File.join(@config_dir, 'entries')
end
|
#init_file_structure ⇒ Object
30
31
32
33
34
35
|
# File 'lib/fantassh/entries_file.rb', line 30
def init_file_structure
unless Dir.exist?(@config_dir)
FileUtils.mkdir(@config_dir)
end
FileUtils.touch(file)
end
|