Module: PoolParty::PrettyPrinter
- Included in:
- Cloud::Cloud, PoolParty::PluginModel::PluginModel, PoolParty::Pool::Pool
- Defined in:
- lib/poolparty/modules/pretty_printer.rb
Instance Method Summary collapse
- #pretty_name(prev, o) ⇒ Object
-
#pretty_options(prev, o) ⇒ Object
Gather options on the object Do not print if the option is nil or empty.
- #pretty_print(prev = "\t") ⇒ Object
Instance Method Details
#pretty_name(prev, o) ⇒ Object
33 34 35 |
# File 'lib/poolparty/modules/pretty_printer.rb', line 33 def pretty_name(prev, o) "#{prev}#{o.class.to_s.top_level_class.capitalize}: #{o.name if o.respond_to?(:name)}" end |
#pretty_options(prev, o) ⇒ Object
Gather options on the object Do not print if the option is nil or empty. Also, don't show the option if the option is empty or the default option on the cloud
25 26 27 28 29 30 31 |
# File 'lib/poolparty/modules/pretty_printer.rb', line 25 def (prev, o) = (o.respond_to?(:parent) && o.parent) ? (o..delete_if {|k,v| o.parent..has_key?(k) && o.parent.[k] == o.[k] && !o.[k].nil? } ) : o. = .map {|k,v| [k, o.send(k.to_sym).to_s] }.inject({}) { |r,e| r[e[0]] = e[1] unless o.class.[e[0]] == e[1] || e[1].nil? || e[1].empty?; r } .flush_out("#{prev}\t") end |
#pretty_print(prev = "\t") ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/poolparty/modules/pretty_printer.rb', line 4 def pretty_print(prev="\t") returning Array.new do |out| out << pretty_name(prev, self) out << (prev, self) if self.respond_to?(:clouds) clouds.each do |name, cl| out << pretty_name(prev*2, cl) out << (prev*2, cl) #cl.pretty_print("#{prev}\t") end end if self.respond_to?(:plugins) out << "#{prev}\t\tPlugins" out << "#{prev}\t\t" + plugins.map {|a| a}.join("\n") end end.join("\n") end |