module Emojidex::Data::EmojiComponentSetInformation

Combination information for emoji

Attributes

combinations[RW]
customizations[RW]

Public Instance Methods

add_combination(combination_info) click to toggle source
# File lib/emojidex/data/emoji/component_set_information.rb, line 22
def add_combination(combination_info)
  _check_and_init_combinations
  @combinations << ComponentSet.new(@code, combination_info) 
end
add_customization(combo) click to toggle source
# File lib/emojidex/data/emoji/component_set_information.rb, line 27
def add_customization(combo)
  _check_and_init_combinations
  added = false
  @customizations.each do |customization|
    if (customization.base == combo.base) &&
        (customization.component_layer_order == combo.component_layer_order)
      customization.components.each_with_index do |components, i|
        customization.components[i] = components | combo.components[i]
      end
      added = true
    end
  end

  @customizations << combo unless added
end
fill_combinations(combinations) click to toggle source
# File lib/emojidex/data/emoji/component_set_information.rb, line 15
def fill_combinations(combinations)
  _check_and_init_combinations
  combinations.each do |combination|
    add_combination(combination)
  end
end
init_combination_info(details) click to toggle source
# File lib/emojidex/data/emoji/component_set_information.rb, line 10
def init_combination_info(details)
  _check_and_init_combinations
  fill_combinations(details[:combinations]) if details.include? :combinations
end

Private Instance Methods

_check_and_init_combinations() click to toggle source
# File lib/emojidex/data/emoji/component_set_information.rb, line 44
def _check_and_init_combinations
  @combinations = [] if @combinations.nil?
  @customizations = [] if @customizations.nil?
end