Class: Allen::Project

Inherits:
Object
  • Object
show all
Defined in:
lib/allen/project.rb

Direct Known Subclasses

StaticProject, UmbracoProject

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name = "Umbraco", settings = Allen.settings.clone) ⇒ Project

Returns a new instance of Project.



10
11
12
13
14
15
16
# File 'lib/allen/project.rb', line 10

def initialize(name="Umbraco", settings=Allen.settings.clone)
  @name = name
  @settings = settings
  @settings.configure do
    name name
  end
end

Instance Attribute Details

#nameObject

Returns the value of attribute name.



8
9
10
# File 'lib/allen/project.rb', line 8

def name
  @name
end

#settingsObject

Returns the value of attribute settings.



8
9
10
# File 'lib/allen/project.rb', line 8

def settings
  @settings
end

Instance Method Details

#assetsObject



29
30
31
# File 'lib/allen/project.rb', line 29

def assets
  @asset_bundle_collection ||= AssetBundleCollection.new(js, css)
end

#build!Object



18
19
20
21
# File 'lib/allen/project.rb', line 18

def build!
  assets.build!
  generate_meta_data!
end

#cssObject



42
43
44
45
46
47
48
49
# File 'lib/allen/project.rb', line 42

def css
  @css_asset_bundle ||= begin
    preprocessor = Preprocessors.for(settings.css_preprocessor)
    input  = "#{settings.webroot}/#{settings.css_input}"
    output = "#{settings.webroot}/#{settings.css_output}"
    AssetBundle.new(preprocessor, input, output)
  end
end

#generate_meta_data!Object



51
52
53
# File 'lib/allen/project.rb', line 51

def generate_meta_data!
  MetaData.new(settings).save!
end

#install!Object



23
24
# File 'lib/allen/project.rb', line 23

def install!
end

#jsObject



33
34
35
36
37
38
39
40
# File 'lib/allen/project.rb', line 33

def js
  @js_asset_bundle ||= begin
    preprocessor = Preprocessors.for(settings.js_preprocessor)
    input  = "#{settings.webroot}/#{settings.js_input}"
    output = "#{settings.webroot}/#{settings.js_output}"
    AssetBundle.new(preprocessor, input, output)
  end
end

#uninstall!Object



26
27
# File 'lib/allen/project.rb', line 26

def uninstall!
end