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)


57
58
59
# File 'lib/rsyntaxtree/utils.rb', line 57

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

#contains_cjk?Boolean

Returns:

  • (Boolean)


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

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

#contains_emoji?Boolean

Returns:

  • (Boolean)


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

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

#split_by_emojiObject



61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/rsyntaxtree/utils.rb', line 61

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