Class: Rfm::Factory::ScriptFactory
- Inherits:
-
CaseInsensitiveHash
- Object
- Hash
- CaseInsensitiveHash
- Rfm::Factory::ScriptFactory
- Defined in:
- lib/rfm/utilities/factory.rb
Overview
:nodoc: all
Instance Method Summary collapse
- #[](script_name) ⇒ Object
- #all ⇒ Object
-
#initialize(server, database) ⇒ ScriptFactory
constructor
extend Config config :parent=>‘@database’.
- #names ⇒ Object
Methods inherited from CaseInsensitiveHash
Methods inherited from Hash
#_create_accessor, #_merge_object!, #rfm_filter, #rfm_only, #to_cih
Constructor Details
#initialize(server, database) ⇒ ScriptFactory
extend Config
config :parent=>'@database'
132 133 134 135 136 137 138 |
# File 'lib/rfm/utilities/factory.rb', line 132 def initialize(server, database) extend Config config :parent=>'@database' @server = server @database = database @loaded = false end |
Instance Method Details
#[](script_name) ⇒ Object
140 141 142 |
# File 'lib/rfm/utilities/factory.rb', line 140 def [](script_name) super or (self[script_name] = Rfm::Metadata::Script.new(script_name, @database)) end |
#all ⇒ Object
144 145 146 147 148 149 150 151 |
# File 'lib/rfm/utilities/factory.rb', line 144 def all if !@loaded c = Connection.new('-scriptnames', {"-db" => @database.name}, {:grammar=>'FMPXMLRESULT'}, @database) c.parse('fmpxml_minimal.yml', {})['data'].each{|k,v| (self[k] = Rfm::Metadata::Script.new(v['text'], @database)) if k.to_s != '' && v['text']} @loaded = true end self end |
#names ⇒ Object
153 154 155 |
# File 'lib/rfm/utilities/factory.rb', line 153 def names values.collect{|v| v.name} end |