Class: Fantassh::EntriesFile
- Inherits:
-
Object
- Object
- Fantassh::EntriesFile
- Defined in:
- lib/fantassh/entries_file.rb
Direct Known Subclasses
Instance Method Summary collapse
- #add(new_entries) ⇒ Object
- #all ⇒ Object
- #file ⇒ Object
- #init_file_structure ⇒ Object
-
#initialize(config_dir: nil) ⇒ EntriesFile
constructor
A new instance of EntriesFile.
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) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fantassh/entries_file.rb', line 13 def add(new_entries) new_entries = new_entries.map(&:strip).delete_if { |x| x.empty? } entries = (all + new_entries).uniq 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
22 23 24 |
# File 'lib/fantassh/entries_file.rb', line 22 def file File.join(@config_dir, 'entries') end |
#init_file_structure ⇒ Object
26 27 28 29 30 31 |
# File 'lib/fantassh/entries_file.rb', line 26 def init_file_structure unless Dir.exist?(@config_dir) FileUtils.mkdir(@config_dir) end FileUtils.touch(file) end |