32 lines
698 B
Ruby
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
|