Class: RevealCK::Config

Inherits:
OpenStruct
  • Object
show all
Defined in:
lib/reveal-ck/config.rb

Overview

A Config represents core configuration options within reveal-ck. It has defaults. It is mutable.

Instance Method Summary collapse

Constructor Details

#initializeConfig

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_defaultsObject



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/reveal-ck/config.rb', line 23

def core_defaults
  {
    'title'      => 'Slides',
    'author'     => '',
    'theme'      => 'default',
    'transition' => 'default',
    'data' => {

    }
  }
end

#defaultsObject



17
18
19
20
21
# File 'lib/reveal-ck/config.rb', line 17

def defaults
  [core_defaults,
   revealjs_config_defaults,
   filter_defaults].reduce({}) { |a, e| a.merge(e) }
end

#filter_defaultsObject



46
47
48
49
50
51
52
53
54
# File 'lib/reveal-ck/config.rb', line 46

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'
  }
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_defaultsObject



35
36
37
38
39
40
41
42
43
44
# File 'lib/reveal-ck/config.rb', line 35

def revealjs_config_defaults
  {
    'revealjs_config' => {
      'controls' => true,
      'progress' => true,
      'history' => true,
      'center' => true
    }
  }
end