Class: Nova::Loader

Inherits:
Object
  • Object
show all
Defined in:
lib/cocoanova/loader.rb

Direct Known Subclasses

JSON, TXT, YAML

Defined Under Namespace

Classes: JSON, TXT, YAML

Constant Summary collapse

Registry =

Regular file loaders

{}
Phony =

Phony loaders

{}

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.[](ext) ⇒ Object

Get implement



19
20
21
# File 'lib/cocoanova/loader.rb', line 19

def self.[](ext)
    Registry[ext.to_sym]
end

.extension(*exts) ⇒ Object

Register Engines



26
27
28
29
30
31
# File 'lib/cocoanova/loader.rb', line 26

def self.extension(*exts)
    exts.flatten.each do |ext|
        Registry[ext.to_sym] = self
        puts "Loader Loaded: '#{self}' registered to extension '#{ext}'"
    end
end

.phony(*keys) ⇒ Object

Phony loader



34
35
36
37
38
39
# File 'lib/cocoanova/loader.rb', line 34

def self.phony(*keys)
    keys.flatten.each do |key|
        Phony[key.to_sym] = self
        puts "Phony Loader: '#{self}' registered to key '#{key}'"
    end
end

.require_allObject

Load all from default folder



9
10
11
# File 'lib/cocoanova/loader.rb', line 9

def self.require_all
    Nova.require_folder :loaders
end

.supported_extensionsObject

Supported extensions



14
15
16
# File 'lib/cocoanova/loader.rb', line 14

def self.supported_extensions
    Registry.keys
end

Instance Method Details

#load(content) ⇒ Object

Load data from a file or phony



44
45
46
# File 'lib/cocoanova/loader.rb', line 44

def load(content)
    raise "#{self}.load not implemented"
end