Class: CuffSert::ProgressbarRenderer
- Inherits:
-
BaseRenderer
- Object
- BaseRenderer
- CuffSert::ProgressbarRenderer
- Defined in:
- lib/cuffsert/rendering.rb
Instance Method Summary collapse
- #abort(event) ⇒ Object
- #action(rc) ⇒ Object
- #action_color(action) ⇒ Object
- #change_set(change_set) ⇒ Object
- #clear ⇒ Object
- #done(event) ⇒ Object
- #event(event, resource) ⇒ Object
- #report(event) ⇒ Object
- #resource(resource) ⇒ Object
- #scope_desc(rc) ⇒ Object
- #stack(event, stack) ⇒ Object
- #templates(current, pending) ⇒ Object
Methods inherited from BaseRenderer
Constructor Details
This class inherits a constructor from CuffSert::BaseRenderer
Instance Method Details
#abort(event) ⇒ Object
187 188 189 |
# File 'lib/cuffsert/rendering.rb', line 187 def abort(event) @error.write("\n" + event..colorize(:red) + "\n") unless @verbosity < 1 end |
#action(rc) ⇒ Object
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/cuffsert/rendering.rb', line 80 def action(rc) if rc[:action] == 'Modify' if ['True', 'Always'].include?(rc[:replacement]) 'Replace!' elsif ['False', 'Never'].include?(rc[:replacement]) 'Modify' elsif rc[:replacement] == 'Conditional' 'Replace?' else "#{rc[:action]}/#{rc[:replacement]}" end else rc[:action] end end |
#action_color(action) ⇒ Object
96 97 98 99 100 101 102 103 104 |
# File 'lib/cuffsert/rendering.rb', line 96 def action_color(action) action.colorize( case action when 'Add' then :green when 'Modify' then :yellow else :red end ) end |
#change_set(change_set) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/cuffsert/rendering.rb', line 56 def change_set(change_set) @output.write(sprintf("Updating stack %s\n", change_set[:stack_name])) change_set[:changes].sort do |l, r| lr = l[:resource_change] rr = r[:resource_change] [ ACTION_ORDER.index(action(lr)), lr[:logical_resource_id] ] <=> [ ACTION_ORDER.index(action(rr)), rr[:logical_resource_id] ] end.map do |change| rc = change[:resource_change] sprintf("%s[%s] %-10s %s\n%s", rc[:logical_resource_id], rc[:resource_type], action_color(action(rc)), scope_desc(rc), change_details(rc) ) end.each { |row| @output.write(row) } end |
#clear ⇒ Object
152 153 154 |
# File 'lib/cuffsert/rendering.rb', line 152 def clear @output.write("\r") unless @verbosity < 1 end |
#done(event) ⇒ Object
191 192 193 |
# File 'lib/cuffsert/rendering.rb', line 191 def done(event) @output.write(event..colorize(:green) + "\n") unless @verbosity < 1 end |
#event(event, resource) ⇒ Object
123 124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/cuffsert/rendering.rb', line 123 def event(event, resource) return if @verbosity == 0 return if resource[:states][-1] != :bad && @verbosity <= 1 color, _ = interpret_states(resource) = sprintf('%s %s %s[%s] %s', event[:resource_status], event[:timestamp].strftime('%H:%M:%S%z'), event[:logical_resource_id], event[:resource_type].sub(/.*::/, ''), event[:resource_status_reason] || "" ).colorize(color) @output.write("\r#{}\n") end |
#report(event) ⇒ Object
183 184 185 |
# File 'lib/cuffsert/rendering.rb', line 183 def report(event) @output.write(event..colorize(:white) + "\n") unless @verbosity < 2 end |
#resource(resource) ⇒ Object
156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
# File 'lib/cuffsert/rendering.rb', line 156 def resource(resource) return if @verbosity < 1 color, symbol = interpret_states(resource) table = { :check => "+", :tripple_dot => ".", # "\u2026" :cross => "!", :qmark => "?", } @output.write(table[symbol].colorize( :color => :white, :background => color )) end |
#scope_desc(rc) ⇒ Object
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# File 'lib/cuffsert/rendering.rb', line 106 def scope_desc(rc) (rc[:scope] || []).map do |scope| case scope when 'Properties' properties = rc[:details] .select { |detail| detail[:target][:attribute] == 'Properties' } .map { |detail| detail[:target][:name] } .uniq .join(", ") sprintf("Properties: %s", properties) else rc[:scope] end end .join("; ") end |
#stack(event, stack) ⇒ Object
137 138 139 140 141 142 143 144 145 146 147 148 149 150 |
# File 'lib/cuffsert/rendering.rb', line 137 def stack(event, stack) case event when :create @output.write("Creating stack #{stack}\n") when :recreate = sprintf( "Deleting and re-creating stack %s", stack[:stack_name] ) @output.write(.colorize(:red) + "\n") else puts event, stack end end |
#templates(current, pending) ⇒ Object
172 173 174 175 176 177 178 179 180 181 |
# File 'lib/cuffsert/rendering.rb', line 172 def templates(current, pending) @current_template = current @pending_template = pending @template_changes = Hashdiff.best_diff(current, pending, array_path: true) @template_changes.each {|c| p c} if ENV['CUFFSERT_EXPERIMENTAL'] present_changes(extract_changes(@template_changes, 'Conditions'), 'Conditions') unless @verbosity < 1 present_changes(extract_changes(@template_changes, 'Parameters'), 'Parameters') unless @verbosity < 1 present_changes(extract_changes(@template_changes, 'Mappings'), 'Mappings') unless @verbosity < 1 present_changes(extract_changes(@template_changes, 'Outputs'), 'Outputs') unless @verbosity < 1 end |