Module: Lanes::Screen

Defined in:
lib/lanes/screen.rb

Defined Under Namespace

Classes: Definition, DefinitionList, Group

Constant Summary collapse

GROUPS =
Hash.new{|h,k| g=Group.new; g.identifier=k; h[k]=g }
DEFINITIONS =

{|h,k| d=Definition.new; d.identifier=k; h=d }

Hash.new

Class Method Summary collapse

Class Method Details

.[](config) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/lanes/screen.rb', line 24

def [](config)
    if DEFINITIONS.has_key?(config)
        DEFINITIONS[config]
    else
        nil
    end
end

.config_fileObject



51
52
53
# File 'lib/lanes/screen.rb', line 51

def config_file
    Lanes::Extensions.controlling.root_path.join("config","screens.rb")
end

.define_group(id) {|group| ... } ⇒ Object

Yields:

  • (group)


36
37
38
39
# File 'lib/lanes/screen.rb', line 36

def define_group(id)
    group = GROUPS[id]
    yield group
end

.eachObject



41
42
43
44
# File 'lib/lanes/screen.rb', line 41

def each
    Extensions.load_screens
    DEFINITIONS.values.each{ | definition | yield definition }
end

.each_groupObject



46
47
48
49
# File 'lib/lanes/screen.rb', line 46

def each_group
    Extensions.load_screens
    GROUPS.values.each{ | group | yield group }
end

.for_extension(id) {|DefinitionList.new(id)| ... } ⇒ Object

Yields:



32
33
34
# File 'lib/lanes/screen.rb', line 32

def for_extension(id)
    yield DefinitionList.new(id)
end

.uncache_file_on_update(asset) ⇒ Object



55
56
57
# File 'lib/lanes/screen.rb', line 55

def uncache_file_on_update(asset)
    asset.depend_on(config_file) if config_file.exist?
end