Class: ThemeJuice::Tasks::List

Inherits:
ThemeJuice::Task show all
Defined in:
lib/theme-juice/tasks/list.rb

Instance Attribute Summary

Attributes inherited from ThemeJuice::Task

#tasks

Instance Method Summary collapse

Methods inherited from ThemeJuice::Task

#execute, #runner, #unexecute

Constructor Details

#initialize(opts = {}) ⇒ List

Returns a new instance of List.



7
8
9
# File 'lib/theme-juice/tasks/list.rb', line 7

def initialize(opts = {})
  super
end

Instance Method Details

#list(prop) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/theme-juice/tasks/list.rb', line 11

def list(prop)
  @io.error "Cannot list '#{prop}'", NotImplementedError unless self.respond_to? prop

  if self.send(prop).empty?
    @io.log "Nothing to list"
  else
    @io.list "#{prop.capitalize}:", :green, self.send(prop)
  end
end

#projectsObject



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/theme-juice/tasks/list.rb', line 21

def projects
  res = []

  Dir["#{@project.vm_root}/*"].each do |f|
    name = File.basename f

    if File.directory?(f) && name.include?(@env.vm_prefix)
      res << name.gsub(/^(#{@env.vm_prefix})/, "")
    end
  end

  res
end

#urlsObject



35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/theme-juice/tasks/list.rb', line 35

def urls
  res = []
  ls  = `vagrant landrush ls`

  unless ls.nil?
    ls.gsub(/\s+/m, " ").split(" ").each do |url|
      res << url if /(\.dev)/ =~ url
    end
  end

  res
end