Module: DetectLanguage

Defined in:
lib/detect_language.rb,
lib/detect_language/client.rb,
lib/detect_language/errors.rb,
lib/detect_language/version.rb,
lib/detect_language/configuration.rb

Defined Under Namespace

Classes: Client, Configuration, Error, Exception

Constant Summary collapse

VERSION =
'2.0.0'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configObject



14
15
16
# File 'lib/detect_language.rb', line 14

def config
  @config ||= Configuration.new
end

Class Method Details

.account_statusHash

Returns Account status information.

Returns:

  • (Hash)

    Account status information



56
57
58
# File 'lib/detect_language.rb', line 56

def 
  client.get('account/status')
end

.clientObject



18
19
20
# File 'lib/detect_language.rb', line 18

def client
  Thread.current[:detect_language_client] ||= Client.new(config)
end

.client=(client) ⇒ Object



22
23
24
# File 'lib/detect_language.rb', line 22

def client=(client)
  Thread.current[:detect_language_client] = client
end

.configurationObject

Deprecated.

Use ‘DetectLanguage.config` instead



68
69
70
71
# File 'lib/detect_language.rb', line 68

def configuration
  warn '[DEPRECATED] `DetectLanguage.configuration` is deprecated. Use `DetectLanguage.config` instead.'
  config
end

.configure {|config| ... } ⇒ Object

Yields:



10
11
12
# File 'lib/detect_language.rb', line 10

def configure
  yield(config)
end

.detect(query) ⇒ Array<Hash>

Returns Array of language detections.

Parameters:

  • query

    String

Returns:

  • (Array<Hash>)

    Array of language detections



28
29
30
31
32
33
34
35
# File 'lib/detect_language.rb', line 28

def detect(query)
  if query.is_a?(Array)
    warn '[DEPRECATED] `DetectLanguage.detect` with an array of queries is deprecated. Use `DetectLanguage.detect_batch` instead.'
    return detect_batch(query)
  end

  client.post('detect', q: query)
end

.detect_batch(queries) ⇒ Array<Array<Hash>>

Returns Array of language detections for each query.

Parameters:

  • queries

    Array<String> Array of queries to detect languages for

Returns:

  • (Array<Array<Hash>>)

    Array of language detections for each query

Raises:

  • (ArgumentError)


39
40
41
42
43
# File 'lib/detect_language.rb', line 39

def detect_batch(queries)
  raise(ArgumentError, 'Expected an Array of queries') unless queries.is_a?(Array)

  client.post('detect-batch', q: queries)
end

.detect_code(text) ⇒ String?

Returns Detected language code or nil if no detection found.

Parameters:

  • text

    String

Returns:

  • (String, nil)

    Detected language code or nil if no detection found



47
48
49
50
51
52
53
# File 'lib/detect_language.rb', line 47

def detect_code(text)
  detections = detect(text)

  return if detections.empty?

  detections[0]['language']
end

.languagesArray<Hash>

Returns List of supported languages.

Returns:

  • (Array<Hash>)

    List of supported languages



61
62
63
# File 'lib/detect_language.rb', line 61

def languages
  client.get('languages')
end

.simple_detect(text) ⇒ Object

Deprecated.

Use ‘detect_code` instead



74
75
76
77
# File 'lib/detect_language.rb', line 74

def simple_detect(text)
  warn '[DEPRECATED] `DetectLanguage.simple_detect` is deprecated. Use `DetectLanguage.detect_code` instead.'
  detect_code(text)
end

.user_statusObject

Deprecated.

Use ‘DetectLanguage.account_status` instead



80
81
82
83
# File 'lib/detect_language.rb', line 80

def user_status
  warn '[DEPRECATED] `DetectLanguage.user_status` is deprecated. Use `DetectLanguage.account_status` instead.'
  
end