class Tiledenticon

Public Class Methods

new(out_folder) click to toggle source

Wrapper for the classes defined in this library

# File lib/tiledenticon.rb, line 8
def initialize out_folder
  @out_folder = out_folder
      
      # Check valid directory
      unless File.directory?(out_folder)
              FileUtils.mkdir_p(out_folder)
              puts "Tiledenticon: Created directory #{out_folder}"
      end
      
end

Public Instance Methods

create(str) click to toggle source
# File lib/tiledenticon.rb, line 19
def create str
  # Create a new md5 hasher and feed in the input string
  md5 = Digest::MD5.new
  md5 << str
  hash = md5.hexdigest
  hr = Hashrander.new hash
      
  fromHashrander "#{@out_folder}/#{str}.png", hr
end

Private Instance Methods

fromHashrander(filename, hr) click to toggle source

Create a series of parameters from an Hashrander

# File lib/tiledenticon.rb, line 31
def fromHashrander filename, hr
    hue = hr.get_rand 3, 360
    s1 = 0.5 + (hr.get_rand 2, 0.5)
    s2 = 0.4 + (hr.get_rand 2, 0.6 * s1)

    p_x = 0.5 + (hr.get_rand 2, 1.15)
    p_y = 0.5 + (hr.get_rand 2, 1.15)

    TilerBuilder.new(filename).set_hue(hue).set_sat_major(s1).set_sat_minor(s2).set_projection_lambda(p_x, p_y).set_ticks(16).build
end