Class: Lanes::Extensions::Definition

Inherits:
Object
  • Object
show all
Includes:
Concerns::AttrAccessorWithDefault
Defined in:
lib/lanes/extension/definition.rb

Direct Known Subclasses

Base

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeDefinition

Returns a new instance of Definition.



34
35
36
# File 'lib/lanes/extension/definition.rb', line 34

def initialize
    self.add_to_load_path
end

Instance Attribute Details

#contextObject (readonly)

Returns the value of attribute context.



11
12
13
# File 'lib/lanes/extension/definition.rb', line 11

def context
  @context
end

Class Method Details

.components(*names) ⇒ Object



30
31
32
# File 'lib/lanes/extension/definition.rb', line 30

def self.components(*names)
    Components.enable(*names)
end

.inherited(klass) ⇒ Object



7
8
9
# File 'lib/lanes/extension/definition.rb', line 7

def self.inherited(klass)
    Extensions.add(klass)
end

Instance Method Details

#add_to_load_pathObject



96
97
98
99
100
101
# File 'lib/lanes/extension/definition.rb', line 96

def add_to_load_path
    @in_load_path_set ||= (
        lib = root_path.join('lib').to_s
        $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
    )
end

#apply_configurationObject



103
104
105
106
107
108
# File 'lib/lanes/extension/definition.rb', line 103

def apply_configuration
     config_file = root_path.join('config', 'lanes.rb')
     if config_file.exist?
         require config_file
     end
end

#client_bootstrap_dataObject



46
47
48
# File 'lib/lanes/extension/definition.rb', line 46

def client_bootstrap_data
    {}
end

#client_namespaceObject



58
59
60
# File 'lib/lanes/extension/definition.rb', line 58

def client_namespace
    identifier.underscore.camelize
end

#client_pathsObject



62
63
64
# File 'lib/lanes/extension/definition.rb', line 62

def client_paths
    [ root_path.join('client') ]
end

#each_static_assetObject



78
79
80
81
82
83
84
# File 'lib/lanes/extension/definition.rb', line 78

def each_static_asset
    static_paths.each do | path |
        path.find.each do | entry |
            yield entry.relative_path_from(path) if entry.file?
        end
    end
end

#javascript_includeObject



54
55
56
# File 'lib/lanes/extension/definition.rb', line 54

def javascript_include
    self.identifier
end

#load_after(extension) ⇒ Object



38
39
40
# File 'lib/lanes/extension/definition.rb', line 38

def load_after(extension)
    self.after = extension
end

#load_before(extension) ⇒ Object



42
43
44
# File 'lib/lanes/extension/definition.rb', line 42

def load_before(extension)
    self.before = extension
end

#on_bootObject



93
94
# File 'lib/lanes/extension/definition.rb', line 93

def on_boot
end

#route(route_set) ⇒ Object



86
87
88
89
90
91
# File 'lib/lanes/extension/definition.rb', line 86

def route(route_set)
    routes_config = root_path.join('config','routes.rb')
    if routes_config.exist?
        require routes_config
    end
end

#standard_client_pathObject



66
67
68
# File 'lib/lanes/extension/definition.rb', line 66

def standard_client_path
    root_path.join('client', identifier )
end

#static_pathsObject



70
71
72
73
74
75
76
# File 'lib/lanes/extension/definition.rb', line 70

def static_paths
    client_paths.each_with_object(Array.new) do |path, result|
        Lanes.config.static_asset_types.each do | prefix |
            result << path.join(prefix) if path.join(prefix).exist?
        end
    end
end

#stylesheet_includeObject



50
51
52
# File 'lib/lanes/extension/definition.rb', line 50

def stylesheet_include
    self.identifier + '/styles'
end