Module: Emojidex::Data::EmojiComponentSetInformation

Included in:
Emoji
Defined in:
lib/emojidex/data/emoji/component_set_information.rb

Overview

Combination information for emoji

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#combinationsObject

Returns the value of attribute combinations.



8
9
10
# File 'lib/emojidex/data/emoji/component_set_information.rb', line 8

def combinations
  @combinations
end

#customizationsObject

Returns the value of attribute customizations.



8
9
10
# File 'lib/emojidex/data/emoji/component_set_information.rb', line 8

def customizations
  @customizations
end

Instance Method Details

#add_combination(combination_info) ⇒ Object



22
23
24
25
# 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) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 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) ⇒ Object



15
16
17
18
19
20
# 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) ⇒ Object



10
11
12
13
# 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