Module: LanguageDetection

Extended by:
FFI::Library
Defined in:
lib/language_detection.rb,
lib/language_detection/version.rb,
lib/language_detection/language.rb

Defined Under Namespace

Classes: DetailStruct, Language, LanguageStruct

Constant Summary collapse

VERSION =
"0.1.1"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.perform(text, is_plain_text = false) ⇒ Object

TODO: Allow language hint



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/language_detection.rb', line 9

def self.perform(text, is_plain_text = false)
  result             = language_detection(text.to_s, is_plain_text)

  language           = parse_result(result, result.members - [:details])

  details = FFI::Pointer.new(LanguageDetection::DetailStruct, result[:details])
  3.times do |i|
    detail = parse_result(LanguageDetection::DetailStruct.new(details[i]))
    language.details << detail unless detail.code == 'un'
  end

  language
end

Instance Method Details

#language(is_plain_text = false) ⇒ Object



23
24
25
# File 'lib/language_detection.rb', line 23

def language(is_plain_text = false)
  LanguageDetection.perform(self.to_s, is_plain_text)
end