Class: TivoHMO::Adapters::Settings::Application

Inherits:
Object
  • Object
show all
Includes:
GemLogger::LoggerSupport, MonitorMixin, TivoHMO::API::Application
Defined in:
lib/tivohmo/adapters/settings/application.rb

Overview

An Application for live modification of settings

Instance Attribute Summary

Attributes included from TivoHMO::API::Application

#metadata_class, #transcoder_class

Attributes included from TivoHMO::API::Container

#presorted, #uuid

Attributes included from TivoHMO::API::Node

#app, #content_type, #created_at, #identifier, #modified_at, #parent, #root, #source_format, #title

Instance Method Summary collapse

Methods included from TivoHMO::API::Application

#metadata_for, #transcoder_for

Methods included from TivoHMO::API::Container

#child_count, #refresh

Methods included from TivoHMO::API::Node

#add_child, #app?, #find, #root?, #title_path, #to_s, #tree_string

Constructor Details

#initialize(identifier) ⇒ Application

Returns a new instance of Application.



11
12
13
14
15
16
17
18
# File 'lib/tivohmo/adapters/settings/application.rb', line 11

def initialize(identifier)
  super("Settings")

  self. = TivoHMO::Adapters::Settings::
  self.transcoder_class = TivoHMO::Adapters::Settings::Transcoder
  self.title = self.identifier
  self.presorted = true
end

Instance Method Details

#childrenObject



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/tivohmo/adapters/settings/application.rb', line 20

def children
  synchronize do
    if super.blank?
      Config.instance.known_config.keys.sort.each do |k|
        add_child(KeyContainer.new(k))
      end
      add_child(ResetDefaultsItem.new)
    end
  end

  super
end