Class: JekyllAndHyde::Runner

Inherits:
Thor
  • Object
show all
Defined in:
lib/jekyll_and_hyde/runner.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(meth, *args) ⇒ Object (private)



32
33
34
35
36
# File 'lib/jekyll_and_hyde/runner.rb', line 32

def method_missing(meth, *args)
  klass, task = JekyllAndHyde::Util.find_class_and_task_by_namespace(meth.to_s)
  args.unshift(task) if task
  start_task(klass, task, args)
end

Instance Method Details

#help(meth = nil) ⇒ Object



4
5
6
7
8
9
10
11
# File 'lib/jekyll_and_hyde/runner.rb', line 4

def help(meth = nil)
  if meth && !self.respond_to?(meth)
    klass, task = JekyllAndHyde::Util.find_class_and_task_by_namespace(meth)
    start_task(klass, task, ["-h", task].compact)
  else
    super
  end
end

#list(search = "") ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/jekyll_and_hyde/runner.rb', line 15

def list(search="")
  search = /^.*#{JekyllAndHyde.to_namespace(search)}.*/i
  klasses = Thor::Base.subclasses.select do |k|
    k.namespace =~ search
  end

  display_klasses(klasses)
end

#versionObject



26
27
28
# File 'lib/jekyll_and_hyde/runner.rb', line 26

def version
  say "JekyllAndHyde #{JekyllAndHyde::VERSION}"
end