Class: SequenceBase

Inherits:
Object
  • Object
show all
Defined in:
lib/emoji/data/sequence_base.rb

Constant Summary collapse

SEQUENCE_REGEXP =

Format: codepoints ; # (sequence) description

%r{
  (?<codepoints>.+)
  \#
  \s{1}
  \(
    (?<sequence>.+)
  \)
  \s{1}
  (?<description>.+)
}x.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(raw) ⇒ SequenceBase

Returns a new instance of SequenceBase.



17
18
19
20
21
22
23
24
# File 'lib/emoji/data/sequence_base.rb', line 17

def initialize(raw)
  @raw = raw
  matched = raw.match(SEQUENCE_REGEXP)

  @codepoints = matched[:codepoints].rstrip
  @sequence = matched[:sequence]
  @description = matched[:description]
end

Instance Attribute Details

#codepointsObject (readonly)

Returns the value of attribute codepoints.



15
16
17
# File 'lib/emoji/data/sequence_base.rb', line 15

def codepoints
  @codepoints
end

#descriptionObject (readonly)

Returns the value of attribute description.



15
16
17
# File 'lib/emoji/data/sequence_base.rb', line 15

def description
  @description
end

#rawObject (readonly)

Returns the value of attribute raw.



15
16
17
# File 'lib/emoji/data/sequence_base.rb', line 15

def raw
  @raw
end

#sequenceObject (readonly)

Returns the value of attribute sequence.



15
16
17
# File 'lib/emoji/data/sequence_base.rb', line 15

def sequence
  @sequence
end

Instance Method Details

#to_hObject



26
27
28
29
30
31
32
# File 'lib/emoji/data/sequence_base.rb', line 26

def to_h
  Hash(
    codepoints: codepoints,
    sequence: sequence,
    description: description
  )
end