repubmark/lib/repubmark/config.rb

32 lines
698 B
Ruby

# frozen_string_literal: true
module Repubmark
class Config
OPTIONAL_KEYS = %i[
base_url
css_class_annotation
css_class_blockquote_figure
css_class_blockquote_blockquote
css_class_blockquote_figcaption
css_class_figure_self
css_class_figure_wrap
css_class_figures_left
css_class_figures_right
css_class_figures_wrap
css_class_iframe_wrap
current_path
relative_urls
].freeze
def initialize(**kwargs)
raise unless (kwargs.keys.sort - OPTIONAL_KEYS).empty?
@kwargs = kwargs.freeze
end
def [](key)
OPTIONAL_KEYS.include?(key) ? @kwargs[key] : @kwargs.fetch(key)
end
end
end