Class: RevealCK::Config
- Inherits:
-
OpenStruct
- Object
- OpenStruct
- RevealCK::Config
- Defined in:
- lib/reveal-ck/config.rb
Overview
A Config represents core configuration options within reveal-ck. It has defaults. It is mutable.
Constant Summary collapse
- OPEN_GRAPH_PREFIX =
'og: http://ogp.me/ns# ' \ 'fb: http://ogp.me/ns/fb# ' \ 'article: http://ogp.me/ns/article#'.freeze
Instance Method Summary collapse
- #core_defaults ⇒ Object
- #defaults ⇒ Object
- #filter_defaults ⇒ Object
-
#initialize ⇒ Config
constructor
A new instance of Config.
- #merge!(hash) ⇒ Object
- #revealjs_config_defaults ⇒ Object
Constructor Details
#initialize ⇒ Config
Returns a new instance of Config.
7 8 9 |
# File 'lib/reveal-ck/config.rb', line 7 def initialize super defaults end |
Instance Method Details
#core_defaults ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/reveal-ck/config.rb', line 28 def core_defaults { 'title' => 'Slides', 'description' => '', 'author' => '', 'theme' => 'black', 'transition' => 'default', 'data' => {}, 'meta_properties' => {}, 'meta_names' => {}, 'head_prefix' => OPEN_GRAPH_PREFIX } end |
#defaults ⇒ Object
17 18 19 20 21 |
# File 'lib/reveal-ck/config.rb', line 17 def defaults [core_defaults, revealjs_config_defaults, filter_defaults].reduce({}) { |acc, elem| acc.merge(elem) } end |
#filter_defaults ⇒ Object
53 54 55 56 57 58 59 60 61 62 |
# File 'lib/reveal-ck/config.rb', line 53 def filter_defaults { 'filters' => ['HTML::Pipeline::RevealCKEmojiFilter', 'HTML::Pipeline::MentionFilter', 'HTML::Pipeline::AutolinkFilter'], 'asset_root' => 'https://assets-cdn.github.com/images/icons/', 'base_url' => 'https://github.com', 'requires' => [] } end |
#merge!(hash) ⇒ Object
11 12 13 14 15 |
# File 'lib/reveal-ck/config.rb', line 11 def merge!(hash) hash.each_pair do |name, value| modifiable[new_ostruct_member(name)] = value end end |
#revealjs_config_defaults ⇒ Object
42 43 44 45 46 47 48 49 50 51 |
# File 'lib/reveal-ck/config.rb', line 42 def revealjs_config_defaults { 'revealjs_config' => { 'controls' => true, 'progress' => true, 'history' => true, 'center' => true } } end |