Class: Glosbe::Language

Inherits:
Object
  • Object
show all
Defined in:
lib/glosbe/language.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(from:, to:) ⇒ Language

Returns a new instance of Language.



36
37
38
39
# File 'lib/glosbe/language.rb', line 36

def initialize(from:, to:)
  @from = parse_language(from)
  @to = parse_language(to)
end

Instance Attribute Details

#fromObject (readonly)

Returns the value of attribute from.



34
35
36
# File 'lib/glosbe/language.rb', line 34

def from
  @from
end

#toObject (readonly)

Returns the value of attribute to.



34
35
36
# File 'lib/glosbe/language.rb', line 34

def to
  @to
end

Class Method Details

.define(phrase, args) ⇒ Object



9
10
11
12
# File 'lib/glosbe/language.rb', line 9

def define(phrase, args)
  from, to = extract_lanuages(args)
  self.new(from: from, to: to).define(phrase)
end

.translate(phrase, args) ⇒ Object



4
5
6
7
# File 'lib/glosbe/language.rb', line 4

def translate(phrase, args)
  from, to = extract_lanuages(args)
  self.new(from: from, to: to).translate(phrase)
end

.translated_define(phrase, args) ⇒ Object



14
15
16
17
# File 'lib/glosbe/language.rb', line 14

def translated_define(phrase, args)
  from, to = extract_lanuages(args)
  self.new(from: from, to: to).translated_define(phrase)
end

Instance Method Details

#define(phrase) ⇒ Object



50
51
52
# File 'lib/glosbe/language.rb', line 50

def define(phrase)
  lookup(phrase).define
end

#lookup(phrase) ⇒ Object



41
42
43
44
# File 'lib/glosbe/language.rb', line 41

def lookup(phrase)
  http = Glosbe::HTTP.new(from: from, to: to, phrase: phrase)
  Glosbe::Response.new(http.body, ok: http.ok?)
end

#translate(phrase) ⇒ Object



46
47
48
# File 'lib/glosbe/language.rb', line 46

def translate(phrase)
  lookup(phrase).translation
end

#translated_define(phrase) ⇒ Object



54
55
56
# File 'lib/glosbe/language.rb', line 54

def translated_define(phrase)
  lookup(phrase).translated_define
end