Class: Savory::Theme::ThemeTask
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- Savory::Theme::ThemeTask
- Defined in:
- lib/savory/theme/theme_task.rb
Instance Attribute Summary collapse
-
#excludes ⇒ Object
Files to exclude from the generated zip file.
-
#features ⇒ Object
Additional features (default to none).
-
#home ⇒ Object
The home of the theme.
-
#layout ⇒ Object
Theme layout (default to Treesaver).
-
#name ⇒ Object
Name of the theme.
-
#output_style ⇒ Object
CSS output style (default to “compressed”).
-
#res_home ⇒ Object
The directory that contains all resources (images, JS, CSS).
-
#verbose ⇒ Object
Verbose output (default to false).
-
#version ⇒ Object
Version of the theme.
- #zip_name ⇒ Object
Instance Method Summary collapse
- #define ⇒ Object
- #feature(arg) ⇒ Object
-
#initialize(path = nil) {|_self| ... } ⇒ ThemeTask
constructor
A new instance of ThemeTask.
Constructor Details
#initialize(path = nil) {|_self| ... } ⇒ ThemeTask
Returns a new instance of ThemeTask.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/savory/theme/theme_task.rb', line 37 def initialize(path = nil) @home ||= theme_home(caller) @res_home ||= @home @name = name @version = nil @zip_name = nil @excludes = [] @output_style = "compressed" @verbose = false @features = {} @layout = Layout::Treesaver yield self if block_given? define end |
Instance Attribute Details
#excludes ⇒ Object
Files to exclude from the generated zip file.
23 24 25 |
# File 'lib/savory/theme/theme_task.rb', line 23 def excludes @excludes end |
#features ⇒ Object
Additional features (default to none).
32 33 34 |
# File 'lib/savory/theme/theme_task.rb', line 32 def features @features end |
#home ⇒ Object
The home of the theme.
8 9 10 |
# File 'lib/savory/theme/theme_task.rb', line 8 def home @home end |
#layout ⇒ Object
Theme layout (default to Treesaver)
35 36 37 |
# File 'lib/savory/theme/theme_task.rb', line 35 def layout @layout end |
#name ⇒ Object
Name of the theme.
14 15 16 |
# File 'lib/savory/theme/theme_task.rb', line 14 def name @name end |
#output_style ⇒ Object
CSS output style (default to “compressed”).
26 27 28 |
# File 'lib/savory/theme/theme_task.rb', line 26 def output_style @output_style end |
#res_home ⇒ Object
The directory that contains all resources (images, JS, CSS).
11 12 13 |
# File 'lib/savory/theme/theme_task.rb', line 11 def res_home @res_home end |
#verbose ⇒ Object
Verbose output (default to false).
29 30 31 |
# File 'lib/savory/theme/theme_task.rb', line 29 def verbose @verbose end |
#version ⇒ Object
Version of the theme.
17 18 19 |
# File 'lib/savory/theme/theme_task.rb', line 17 def version @version end |
Instance Method Details
#define ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/savory/theme/theme_task.rb', line 63 def define task :default => :zip desc "Clean working files" task :clean do @version ||= theme_version packager = Savory::Theme::Packager.new(self, :verbose => @verbose) packager.clean end desc "Compile stylesheet" task :compile do @version ||= theme_version packager = Savory::Theme::Packager.new(self, :verbose => @verbose) packager.compile!(:full_version => @version, :output_style => @output_style) end desc "Build a zip file" task :zip => :compile do @zip_name ||= "#{@name}-#{@version}.zip" packager = Savory::Theme::Packager.new(self, :verbose => @verbose) packager.bom! packager.zip!(@zip_name, :exclude => @excludes) end end |
#feature(arg) ⇒ Object
89 90 91 92 93 94 95 96 97 98 |
# File 'lib/savory/theme/theme_task.rb', line 89 def feature(arg) case arg when Array arg.each { |a| features(a) } when Hash @features.merge(arg) else @features[arg] = true end end |