class Servicon::Icon
Attributes
fingerprint[RW]
Public Class Methods
new(fingerprint, color = options[:color])
click to toggle source
# File lib/servicon.rb, line 11 def initialize(fingerprint, color = options[:color]) color=="true" ? @color = true : @color = false @fingerprint = fingerprint @uuid = self.uuid end
Public Instance Methods
display()
click to toggle source
# File lib/servicon.rb, line 46 def display draw_matrix(matrix) end
draw_char(character)
click to toggle source
# File lib/servicon.rb, line 70 def draw_char(character) rgb = [self.rgb[:red], self.rgb[:green], self.rgb[:blue]] rgb.collect! { |n| n / 2 } if character == 1 background = :default foreground = :default if @color background = rgb else background = :inverse if character == 1 end Paint[" ", foreground, background] end
draw_matrix(matrix)
click to toggle source
# File lib/servicon.rb, line 50 def draw_matrix(matrix) my_row = Array.new matrix.each do |row| my_row << draw_row(row) end return my_row.join end
draw_row(matrix_row)
click to toggle source
# File lib/servicon.rb, line 60 def draw_row(matrix_row) line = Array.new matrix_row.each do |character| line << draw_char(character) end return line.join + "\n" end
matrix()
click to toggle source
# File lib/servicon.rb, line 22 def matrix line = Array.new identicon = Array.new 0.upto(63) do |i| line << @uuid[i] if line.count == 8 identicon << line + line.reverse line = Array.new end end return identicon end
rgb()
click to toggle source
# File lib/servicon.rb, line 37 def rgb color = Hash.new color[:red] = ((@uuid >> 4) & 0xff) color[:blue] = ((@uuid >> 8) & 0xff) color[:green] = ((@uuid >> 16) & 0xff) return color end
uuid()
click to toggle source
# File lib/servicon.rb, line 17 def uuid uuid = Digest::SHA1.hexdigest(@fingerprint).unpack('H*')[0].to_i(16) return uuid end