Class: Berkshelf::HumanFormatter

Inherits:
BaseFormatter show all
Defined in:
lib/berkshelf/formatters/human.rb

Instance Method Summary collapse

Methods inherited from BaseFormatter

#cleanup_hook, formatter_method

Instance Method Details

#deprecation(message) ⇒ Object

Output a deprecation warning

Parameters:



159
160
161
# File 'lib/berkshelf/formatters/human.rb', line 159

def deprecation(message)
  Berkshelf.ui.info "DEPRECATED: #{message}"
end

#error(message) ⇒ Object

Output an error message using Berkshelf.ui

Parameters:



145
146
147
# File 'lib/berkshelf/formatters/human.rb', line 145

def error(message)
  Berkshelf.ui.error message
end

#fetch(dependency) ⇒ Object

Parameters:



9
10
11
# File 'lib/berkshelf/formatters/human.rb', line 9

def fetch(dependency)
  Berkshelf.ui.info "Fetching '#{dependency.name}' from #{dependency.location}"
end

#info(cookbook) ⇒ Object

Output the important information about a cookbook using Berkshelf.ui.

Parameters:



93
94
95
# File 'lib/berkshelf/formatters/human.rb', line 93

def info(cookbook)
  Berkshelf.ui.info(cookbook.pretty_print)
end

#install(source, cookbook) ⇒ Object

Output a Cookbook installation message using Berkshelf.ui

Parameters:

  • source (Source)

    the source the dependency is being downloaded from

  • cookbook (RemoteCookbook)

    the cookbook to be downloaded



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/berkshelf/formatters/human.rb', line 19

def install(source, cookbook)
  message = "Installing #{cookbook.name} (#{cookbook.version})"

  if source.type == :chef_repo
    message << " from #{cookbook.location_path}"
  elsif !source.default?
    message << " from #{source}"
    message << " ([#{cookbook.location_type}] #{cookbook.location_path})"
  end

  Berkshelf.ui.info(message)
end

#list(dependencies) ⇒ Object

Output a list of cookbooks using Berkshelf.ui

Parameters:



100
101
102
103
104
105
106
107
# File 'lib/berkshelf/formatters/human.rb', line 100

def list(dependencies)
  Berkshelf.ui.info "Cookbooks installed by your Berksfile:"
  dependencies.each do |dependency|
    out =  "  * #{dependency}"
    out << " from #{dependency.location}" if dependency.location
    Berkshelf.ui.info(out)
  end
end

#msg(message) ⇒ Object

Output a generic message using Berkshelf.ui

Parameters:



138
139
140
# File 'lib/berkshelf/formatters/human.rb', line 138

def msg(message)
  Berkshelf.ui.info message
end

#outdated(hash) ⇒ Object

Output a list of outdated cookbooks and the most recent version using Berkshelf.ui

Parameters:

  • hash (Hash)

    the list of outdated cookbooks in the format { ‘cookbook’ => { ‘supermarket.chef.io’ => #<Cookbook> } }



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/berkshelf/formatters/human.rb', line 63

def outdated(hash)
  if hash.empty?
    Berkshelf.ui.info("All cookbooks up to date!")
  else
    Berkshelf.ui.info("The following cookbooks have newer versions:")

    hash.each do |name, info|
      info["remote"].each do |remote_source, remote_version|
        out = "  * #{name} (#{info["local"]} => #{remote_version})"

        unless remote_source.default?
          out << " [#{remote_source.uri}]"
        end

        Berkshelf.ui.info(out)
      end
    end
  end
end

#package(destination) ⇒ Object

Output a Cookbook package message using Berkshelf.ui

Parameters:



86
87
88
# File 'lib/berkshelf/formatters/human.rb', line 86

def package(destination)
  Berkshelf.ui.info "Cookbook(s) packaged to #{destination}"
end

#search(results) ⇒ Object

Ouput Cookbook search results using Berkshelf.ui

Parameters:



112
113
114
115
116
# File 'lib/berkshelf/formatters/human.rb', line 112

def search(results)
  results.sort_by(&:name).each do |remote_cookbook|
    Berkshelf.ui.info "#{remote_cookbook.name} (#{remote_cookbook.version})"
  end
end

#show(cookbook) ⇒ Object

Output Cookbook path using Berkshelf.ui

Parameters:



121
122
123
124
# File 'lib/berkshelf/formatters/human.rb', line 121

def show(cookbook)
  path = File.expand_path(cookbook.path)
  Berkshelf.ui.info(path)
end

#skipping(cookbook, conn) ⇒ Object

Output a Cookbook skip message using Berkshelf.ui

Parameters:



53
54
55
# File 'lib/berkshelf/formatters/human.rb', line 53

def skipping(cookbook, conn)
  Berkshelf.ui.info "Skipping #{cookbook.cookbook_name} (#{cookbook.version}) (frozen)"
end

#uploaded(cookbook, conn) ⇒ Object

Output a Cookbook upload message using Berkshelf.ui

Parameters:



45
46
47
# File 'lib/berkshelf/formatters/human.rb', line 45

def uploaded(cookbook, conn)
  Berkshelf.ui.info "Uploaded #{cookbook.cookbook_name} (#{cookbook.version}) to: '#{conn.server_url}'"
end

#use(dependency) ⇒ Object

Output a Cookbook use message using Berkshelf.ui

Parameters:



35
36
37
38
39
# File 'lib/berkshelf/formatters/human.rb', line 35

def use(dependency)
  message =  "Using #{dependency.name} (#{dependency.locked_version})"
  message << " from #{dependency.location}" if dependency.location
  Berkshelf.ui.info(message)
end

#vendor(cookbook, destination) ⇒ Object

Output Cookbook vendor info message using Berkshelf.ui

Parameters:



130
131
132
133
# File 'lib/berkshelf/formatters/human.rb', line 130

def vendor(cookbook, destination)
  cookbook_destination = File.join(destination, cookbook.cookbook_name)
  Berkshelf.ui.info "Vendoring #{cookbook.cookbook_name} (#{cookbook.version}) to #{cookbook_destination}"
end

#versionObject

Output the version of Berkshelf



4
5
6
# File 'lib/berkshelf/formatters/human.rb', line 4

def version
  Berkshelf.ui.info Berkshelf::VERSION
end

#warn(message) ⇒ Object

Output a warning message using Berkshelf.ui

Parameters:



152
153
154
# File 'lib/berkshelf/formatters/human.rb', line 152

def warn(message)
  Berkshelf.ui.warn message
end