Class: Odania::Config::SubDomain

Inherits:
PageBase
  • Object
show all
Defined in:
lib/odania/config/sub_domain.rb

Instance Attribute Summary collapse

Attributes inherited from PageBase

#direct

Instance Method Summary collapse

Methods inherited from PageBase

#[]

Constructor Details

#initialize(name) ⇒ SubDomain

Returns a new instance of SubDomain.



6
7
8
9
# File 'lib/odania/config/sub_domain.rb', line 6

def initialize(name)
  self.name = name
  reset
end

Instance Attribute Details

#configObject

Returns the value of attribute config.



4
5
6
# File 'lib/odania/config/sub_domain.rb', line 4

def config
  @config
end

#dynamicObject

Returns the value of attribute dynamic.



4
5
6
# File 'lib/odania/config/sub_domain.rb', line 4

def dynamic
  @dynamic
end

#from_pluginObject

Returns the value of attribute from_plugin.



4
5
6
# File 'lib/odania/config/sub_domain.rb', line 4

def from_plugin
  @from_plugin
end

#internalObject

Returns the value of attribute internal.



4
5
6
# File 'lib/odania/config/sub_domain.rb', line 4

def internal
  @internal
end

#nameObject

Returns the value of attribute name.



4
5
6
# File 'lib/odania/config/sub_domain.rb', line 4

def name
  @name
end

#redirectsObject

Returns the value of attribute redirects.



4
5
6
# File 'lib/odania/config/sub_domain.rb', line 4

def redirects
  @redirects
end

Instance Method Details

#add(data, group_name = nil) ⇒ Object



62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/odania/config/sub_domain.rb', line 62

def add(data, group_name=nil)
  duplicates = super(data, group_name)

  self.config = data['config'] unless data['config'].nil?

  self.internal.load(data['internal'], group_name) unless data['internal'].nil?
  unless data['redirects'].nil?
    data['redirects'].each_pair do |src_url, target_url|
      duplicates[:redirect] << src_url if self.redirects.key? src_url
      self.redirects[src_url] = target_url
    end
  end

  duplicates
end

#add_page(type, web_url, group_name, url_data, plugin_name) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'lib/odania/config/sub_domain.rb', line 23

def add_page(type, web_url, group_name, url_data, plugin_name)
  result = true
  result = false unless self.pages[type].key? web_url
  self.pages[type][web_url].group_name = group_name
  self.pages[type][web_url].plugin_url = url_data['plugin_url']
  self.pages[type][web_url].cacheable = url_data['cacheable'] unless url_data['cacheable'].nil?
  self.pages[type][web_url].expires = url_data['expires'] unless url_data['expires'].nil?
  @plugins[:page]["#{type}-#{web_url}"] << plugin_name
  result
end

#assetsObject



43
44
45
# File 'lib/odania/config/sub_domain.rb', line 43

def assets
  self.internal.assets
end

#dumpObject



47
48
49
50
51
52
53
54
# File 'lib/odania/config/sub_domain.rb', line 47

def dump
  result = super

  result['redirects'] = self.redirects
  result['config'] = self.config
  result['internal'] = self.internal.dump
  result
end

#get_redirectsObject



34
35
36
37
# File 'lib/odania/config/sub_domain.rb', line 34

def get_redirects
  return {} if self.redirects.nil?
  self.redirects
end

#load(data) ⇒ Object



56
57
58
59
60
# File 'lib/odania/config/sub_domain.rb', line 56

def load(data)
  reset
  super(data, nil)
  self.add(data)
end

#plugins(type, key) ⇒ Object



39
40
41
# File 'lib/odania/config/sub_domain.rb', line 39

def plugins(type, key)
  @plugins[type][key]
end

#set_config(config_data, group_name) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/odania/config/sub_domain.rb', line 11

def set_config(config_data, group_name)
  errors = []
  return errors if config_data.nil?

  config_data.each_pair do |key, val|
    from_plugin[:config][key] << group_name
    errors << {:type => :config, :plugins => from_plugin[:config][key], :key => key} unless config[key].nil?
    config[key] = val
  end
  errors
end