class Feedigest::Config
Attributes
path[R]
Public Class Methods
new(path)
click to toggle source
# File lib/feedigest/config.rb, line 6 def initialize(path) @path = path end
Public Instance Methods
fetch(key)
click to toggle source
# File lib/feedigest/config.rb, line 10 def fetch(key) options.fetch(key) # Delegate end
mail_gem_smtp_options()
click to toggle source
Translate SMTP options of feedigest for Mail gem
# File lib/feedigest/config.rb, line 24 def mail_gem_smtp_options { address: options.fetch(:smtp_address), port: options.fetch(:smtp_port), user_name: options.fetch(:smtp_username), password: options.fetch(:smtp_password), authentication: options.fetch(:smtp_auth), enable_starttls: options.fetch(:smtp_starttls) } end
options()
click to toggle source
# File lib/feedigest/config.rb, line 14 def options return @options if @options @options = default_options.merge(user_options) @options[:smtp_starttls] = @options[:smtp_starttls] == 'true' @options end
Private Instance Methods
default_options()
click to toggle source
# File lib/feedigest/config.rb, line 42 def default_options { entry_window: 24, email_sender: "feedigest@#{`hostname`.strip}", smtp_port: 587, smtp_auth: 'plain', smtp_starttls: 'true' # Gets converted to boolean } end
user_options()
click to toggle source
# File lib/feedigest/config.rb, line 37 def user_options YAML.safe_load(File.read(path)). map { |k, v| [k.to_sym, v] }.to_h # Symbolize keys end