class Typie
Public Class Methods
new_kit(options = {}, &block)
click to toggle source
Add a Kit to Typekit @param options [Hash] @option options [String] :token Required: Your Typekit API Token @return [String] Typekit Kit ID of the resulting Kit
# File lib/typie.rb, line 10 def new_kit(options = {}, &block) raise 'Token required' unless options[:token] # Setup Typie @typekit = Typekit::Client.new(options[:token]) @settings = { :name => 'Unnamed', :domains => [] } @fonts = [] # Wreak havoc instance_eval &block # Handle it all kit = @typekit.create_kit @settings @fonts.each do |font| kit.add_family(font[:id], :variations => font[:variations]) end kit.id end
Private Class Methods
add_domains(*domains)
click to toggle source
Add domains for Typekit to serve this Kit to @param domains [Array] An array of the domains to allow
# File lib/typie.rb, line 40 def add_domains(*domains) @settings[:domains] << domains @settings[:domains].flatten! end
Also aliased as: add_domain
add_font(name, options = {})
click to toggle source
Add a Family to the Kit @param name [String] The Family name (must match Typekit exactly) @param options [Hash] @option options [Array] :include_variations An array of Font Variation Descriptions to be included
# File lib/typie.rb, line 50 def add_font(name, options = {}) font = @typekit.family_by_name(name) if options[:include_variations] # We're silently ignoring invalid variations variations = options[:include_variations] & font.variations.map(&:to_fvd) else # Add all variations available by default variations = font.variations.map(&:to_fvd) end @fonts << { :id => font.id, :variations => variations } end
call_it(name)
click to toggle source
Set the name of the Kit @param name [String] The desired name
# File lib/typie.rb, line 34 def call_it(name) @settings[:name] = name end