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)


75
76
77
# File 'lib/rsyntaxtree/utils.rb', line 75

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

#contains_cjk?Boolean

Returns:

  • (Boolean)


67
68
69
# File 'lib/rsyntaxtree/utils.rb', line 67

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

#contains_emoji?Boolean

Returns:

  • (Boolean)


71
72
73
# File 'lib/rsyntaxtree/utils.rb', line 71

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

#split_by_emojiObject



79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/rsyntaxtree/utils.rb', line 79

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