Class: String

Inherits:
Object
  • Object
show all
Defined in:
lib/rsyntaxtree/utils.rb

Instance Method Summary collapse

Instance Method Details

#all_emoji?Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/rsyntaxtree/utils.rb', line 54

def all_emoji?
  !!(gsub(WHITESPACE_BLOCK, "").gsub(/\d/, "") =~ /\A\p{Emoji}[\p{Emoji}\s]*\z/)
end

#contains_cjk?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/rsyntaxtree/utils.rb', line 46

def contains_cjk?
  !!(gsub(WHITESPACE_BLOCK, "") =~ /\p{Han}|\p{Katakana}|\p{Hiragana}|\p{Hangul}|[^\x01-\x7E]/)
end

#contains_emoji?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/rsyntaxtree/utils.rb', line 50

def contains_emoji?
  !!(gsub(WHITESPACE_BLOCK, "").gsub(/\d/, "") =~ /\p{Emoji}/)
end

#split_by_emojiObject



58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/rsyntaxtree/utils.rb', line 58

def split_by_emoji
  results = []
  split(//).each do |ch|
    results << case ch
               when /\d/, WHITESPACE_BLOCK
                 { type: :normal, char: ch }
               when /\p{Emoji}/
                 { type: :emoji, char: ch }
               else
                 { type: :normal, char: ch }
               end
  end
  results.reject { |string| string == "" }
end