class Greeter

The main Greeter class

Attributes

language[R]

Public Class Methods

new(language="English") click to toggle source
# File lib/hello_world_ramziddin/greeter.rb, line 5
def initialize(language="English")
  @language = language
  @words = {
    "English" => "Hello",
    "Russian" => "Привет",
    "Uzbek" => "Salom"
  }
end

Public Instance Methods

add_language(language, greeting) click to toggle source

Add a new language and a word

Example:

>> greeter = Greeter.new
>> greeter.add_language("Spanish", "Hola")
>> greeter.greet("Spanish")
=> "Hola"
# File lib/hello_world_ramziddin/greeter.rb, line 46
def add_language(language, greeting)
  @words[language] = greeting
end
each(&block) click to toggle source

Iterates over each word

Example:

>> greeter = Greeter.new
>> greeter.each {|lang, word| greeter.greet(lang) }
=> ["English", "Russian", "Uzbek"]
# File lib/hello_world_ramziddin/greeter.rb, line 56
def each(&block)
  @words.each(&block)
end
greet(language=nil) click to toggle source

Multi-lang greet

Example:

>> greeter = Greeter.new
>> greeter.greet
=> "Hello" # "English" as default language
>> # or
>> greeter.greet("Uzbek")
=> "Salom"
# File lib/hello_world_ramziddin/greeter.rb, line 23
def greet(language=nil)
  @words[language || @language]
end
language=(language_name) click to toggle source

Switch the language

Example:

>> greeter = Greeter.new
>> greeter.language = "Russian"
>> greeter.greet
=> "Привет" # Using "Russian" as default language
# File lib/hello_world_ramziddin/greeter.rb, line 34
def language=(language_name)
  raise "Uknown language" unless @words.include? language_name
  @language = language_name
end