hello_world_ramziddin 0.0.0 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6ff3d927570972fd21cdbee94804c800e09d8288
4
- data.tar.gz: e6d636269bdc78c5e1a3c6885ffd7bfa4d590e75
3
+ metadata.gz: ba47416f3151a12f572a8c71cde071c431640485
4
+ data.tar.gz: b0d4768b08d0ae4b4569b05805ca6afcf1bb8b39
5
5
  SHA512:
6
- metadata.gz: a6ce58b0a5ddb953e84a0971ff0a8e620df6e7a0e0c1519822ee4dea1152cc9430de4ab2a74908c26c52020b9e156524f33a399085b4840e029e4b3fabcd9360
7
- data.tar.gz: ffbf1b631380b24c1ecf03072adb2647e9ac15aae94942ab733a842718b244230eb58f61e6267f95fcb63acc38876666e6970057aaa64ee0bbe678b81825dc1a
6
+ metadata.gz: 58cea63eec1831af6daf45fdd124f599476678b1eef96236319909f1beffa4d280329aeeecd8703090fa2f4ffa8bbb526d984b817ff0f1503ac0c70f2aee80fc
7
+ data.tar.gz: 88aae1e7bf85b474d1a5835159cb92075e03e2f5e2ae79c9c1a2fc46194dab9b116355aeee383a28a208276aab26331cf91538320abf51baf15a31f50f36bbae
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "hello_world_ramziddin"
4
+ puts Greeter.new.greet(ARGV[0])
@@ -1,5 +1 @@
1
- class HelloWorld
2
- def self.greet
3
- puts "My greetings, good sir!"
4
- end
5
- end
1
+ require "hello_world_ramziddin/greeter"
@@ -0,0 +1,59 @@
1
+ # The main Greeter class
2
+ class Greeter
3
+ attr_reader :language
4
+
5
+ def initialize(language="English")
6
+ @language = language
7
+ @words = {
8
+ "English" => "Hello",
9
+ "Russian" => "Привет",
10
+ "Uzbek" => "Salom"
11
+ }
12
+ end
13
+
14
+ # Multi-lang greet
15
+ #
16
+ # Example:
17
+ # >> greeter = Greeter.new
18
+ # >> greeter.greet
19
+ # => "Hello" # "English" as default language
20
+ # >> # or
21
+ # >> greeter.greet("Uzbek")
22
+ # => "Salom"
23
+ def greet(language=nil)
24
+ @words[language || @language]
25
+ end
26
+
27
+ # Switch the language
28
+ #
29
+ # Example:
30
+ # >> greeter = Greeter.new
31
+ # >> greeter.language = "Russian"
32
+ # >> greeter.greet
33
+ # => "Привет" # Using "Russian" as default language
34
+ def language=(language_name)
35
+ raise "Uknown language" unless @words.include? language_name
36
+ @language = language_name
37
+ end
38
+
39
+ # Add a new language and a word
40
+ #
41
+ # Example:
42
+ # >> greeter = Greeter.new
43
+ # >> greeter.add_language("Spanish", "Hola")
44
+ # >> greeter.greet("Spanish")
45
+ # => "Hola"
46
+ def add_language(language, greeting)
47
+ @words[language] = greeting
48
+ end
49
+
50
+ # Iterates over each word
51
+ #
52
+ # Example:
53
+ # >> greeter = Greeter.new
54
+ # >> greeter.each {|lang, word| greeter.greet(lang) }
55
+ # => ["English", "Russian", "Uzbek"]
56
+ def each(&block)
57
+ @words.each(&block)
58
+ end
59
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hello_world_ramziddin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ramziddin Makhmudov
@@ -10,13 +10,18 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2017-08-20 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: I'm just testing things out, that's it
13
+ description: |
14
+ The most professional Greeter program that
15
+ you will never need in your life. You are welcome.
14
16
  email: ramziddin.makhmudov@gmail.com
15
- executables: []
17
+ executables:
18
+ - hello_world_ramziddin
16
19
  extensions: []
17
20
  extra_rdoc_files: []
18
21
  files:
22
+ - bin/hello_world_ramziddin
19
23
  - lib/hello_world_ramziddin.rb
24
+ - lib/hello_world_ramziddin/greeter.rb
20
25
  homepage: http://ramziddin.com
21
26
  licenses:
22
27
  - MIT
@@ -37,8 +42,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
37
42
  version: '0'
38
43
  requirements: []
39
44
  rubyforge_project:
40
- rubygems_version: 2.5.1
45
+ rubygems_version: 2.6.12
41
46
  signing_key:
42
47
  specification_version: 4
43
- summary: Hello...world
48
+ summary: Greeter class
44
49
  test_files: []