Class: RevealCK::RakeTask
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- RevealCK::RakeTask
- Includes:
- Rake::DSL
- Defined in:
- lib/reveal-ck/rake_task.rb
Overview
Generate a reveal.js presentation
Instance Attribute Summary collapse
-
#config ⇒ Object
Returns the value of attribute config.
-
#dir ⇒ Object
Directory where slides are placed.
-
#file ⇒ Object
File containing slide content.
-
#gem_dir ⇒ Object
Returns the value of attribute gem_dir.
-
#name ⇒ Object
Name of task.
-
#user_dir ⇒ Object
Returns the value of attribute user_dir.
Instance Method Summary collapse
- #define(args, &task_block) ⇒ Object
-
#initialize(*args) {|_self| ... } ⇒ RakeTask
constructor
A new instance of RakeTask.
- #run_task(verbose) ⇒ Object
Constructor Details
#initialize(*args) {|_self| ... } ⇒ RakeTask
Returns a new instance of RakeTask.
32 33 34 35 36 37 38 39 40 41 |
# File 'lib/reveal-ck/rake_task.rb', line 32 def initialize(*args, &task_block) @name = args.shift || :reveal @file = FileList['slides.*'].first @dir = 'slides' @user_dir = Dir.pwd @gem_dir = RevealCK.path @config = Config.new yield self if block_given? define(args, &task_block) end |
Instance Attribute Details
#config ⇒ Object
Returns the value of attribute config.
30 31 32 |
# File 'lib/reveal-ck/rake_task.rb', line 30 def config @config end |
#dir ⇒ Object
Directory where slides are placed.
default:
'slides'
26 27 28 |
# File 'lib/reveal-ck/rake_task.rb', line 26 def dir @dir end |
#file ⇒ Object
File containing slide content.
default:
'slides.*'
20 21 22 |
# File 'lib/reveal-ck/rake_task.rb', line 20 def file @file end |
#gem_dir ⇒ Object
Returns the value of attribute gem_dir.
29 30 31 |
# File 'lib/reveal-ck/rake_task.rb', line 29 def gem_dir @gem_dir end |
#name ⇒ Object
Name of task.
default:
:reveal
14 15 16 |
# File 'lib/reveal-ck/rake_task.rb', line 14 def name @name end |
#user_dir ⇒ Object
Returns the value of attribute user_dir.
28 29 30 |
# File 'lib/reveal-ck/rake_task.rb', line 28 def user_dir @user_dir end |
Instance Method Details
#define(args, &task_block) ⇒ Object
58 59 60 61 62 63 64 65 66 67 |
# File 'lib/reveal-ck/rake_task.rb', line 58 def define(args, &task_block) last_description = ::Rake.application.last_description desc 'Generate a reveal.js presentation' unless last_description task name, *args do |_, task_args| RakeFileUtils.__send__(:verbose, verbose) do yield(*[self, task_args].slice(0, task_block.arity)) if task_block run_task verbose end end end |
#run_task(verbose) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/reveal-ck/rake_task.rb', line 44 def run_task(verbose) puts "Generating slides for '#{file}'.." if verbose = RevealCK::Builders::SlidesBuilder.new( user_dir: user_dir, gem_dir: gem_dir, output_dir: dir, slides_file: file, config: config ) .prepare .build end |