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