Class: QiitaMail::Settings

Inherits:
Object
  • Object
show all
Defined in:
lib/qiita_mail/settings.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filename = Settings.default_filename) ⇒ Settings

Returns a new instance of Settings.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/qiita_mail/settings.rb', line 16

def initialize(filename = Settings.default_filename)
  @filename = filename
  
  if File.exist?(@filename)
    open(@filename) do |f|
      @data = YAML.load(f.read)
    end
  else
    @data = {
      'email' => '',
      'keywords' => []
    }
    @is_empty = true
  end
end

Class Method Details

.default_filenameObject



12
13
14
# File 'lib/qiita_mail/settings.rb', line 12

def self.default_filename
  File.expand_path('~/.qiita_mail.yaml')
end

Instance Method Details

#emailObject



38
39
40
# File 'lib/qiita_mail/settings.rb', line 38

def email
  @data['email']
end

#email_fromObject



42
43
44
# File 'lib/qiita_mail/settings.rb', line 42

def email_from
  @data['email_from'] || @data['email']
end

#empty?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/qiita_mail/settings.rb', line 50

def empty?
  !@is_empty.nil?
end

#keywordsObject



46
47
48
# File 'lib/qiita_mail/settings.rb', line 46

def keywords
  @data['keywords']
end

#saveObject



32
33
34
35
36
# File 'lib/qiita_mail/settings.rb', line 32

def save
  open(@filename, "w") do |f|
    f.write YAML.dump(@data)
  end
end