Module: Lanes::Screen

Defined in:
lib/lanes/screen.rb

Defined Under Namespace

Classes: Definition, Group

Constant Summary collapse

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

Class Method Summary collapse

Class Method Details

.[](config) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/lanes/screen.rb', line 12

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

.config_fileObject



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

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

.define(id) {|definition| ... } ⇒ Object

Yields:

  • (definition)


20
21
22
23
# File 'lib/lanes/screen.rb', line 20

def define(id)
    definition = DEFINITIONS[id]
    yield definition
end

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

Yields:

  • (group)


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

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

.eachObject



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

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

.each_groupObject



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

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

.uncache_file_on_update(asset) ⇒ Object



44
45
46
# File 'lib/lanes/screen.rb', line 44

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