greek_abc 0.3.0 → 0.4.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
  SHA256:
3
- metadata.gz: 0d2b76467a2469de4cb7dc92eed9abe8974eb5e748fa1a3a39ef12585d29affc
4
- data.tar.gz: 42d724856ef12297d74bf14404fb7e83d76c3b03f0bd50f799544da266b0c90c
3
+ metadata.gz: 7a86da8d0eaef95512cca7486a252369244b6e3d61dbe6e901306800411676e6
4
+ data.tar.gz: 073e0baa4c1b43fa4a37bf0c127cc5f81c063714e14b40206602ff497ff07de7
5
5
  SHA512:
6
- metadata.gz: 19108c8f1b6910542a89fe7842d5de67c94270d42e3ef4dd8b6ffb7f35592d5aa927b340e02d4201b885470aa8458f3a3157fbd9da57908e98cad33bf98f1386
7
- data.tar.gz: e01bfa0dc8e2e69c02d00e779e8f6ed415a0ba35565917bd4d54549a926834bc2c6d0272ce6b30cbf3842bae2ce707d9ac0603c8fe5b9b15c6d5bc126045b9cf
6
+ metadata.gz: a376468ffcc76f5b0be2a2a08709ef93d7ca6e539c1084031dc4a4363bfdb5ac9d88aec5aa6eb1ba6c84f87dd03d399b886c812fd8bbc4d4e514141a060db4e0
7
+ data.tar.gz: d3f07475cfdd3b7c4b7b3560332fd6d088a83369f3258d55c98da16265b4c5dd9a6e7e070b70f0a23b377ac49da6cb0c8495a3ed71b25c4734f50a88cbe1674d
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- greek_abc (0.3.0)
4
+ greek_abc (0.4.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -22,9 +22,19 @@ Or install it yourself as:
22
22
 
23
23
  ## Usage
24
24
 
25
+ Add `require 'greek_abc'` to your script.
26
+
27
+ #### Single letters
28
+
25
29
  ```ruby
26
- require 'greek_abc'
30
+ GreekABC::Alphabet.alpha # => #<GreekABC::Letter:0x0000557ef0e4fda8 @position=1, @name="Alpha", @lower="α", @upper="Α">
31
+
32
+ GreekABC::Alphabet.omega # => #<GreekABC::Letter:0x0000557ef0e37a78 @position=24, @name="Omega", @lower="ω", @upper="Ω">
33
+ ```
34
+
35
+ #### Lookup
27
36
 
37
+ ```ruby
28
38
  abc = GreekABC::Alphabet.new
29
39
 
30
40
  psi = abc.find_letter_by(name: 'Psi') # => <..@lower="ψ", @name="Psi", @position=23, @upper="Ψ">
@@ -59,12 +69,32 @@ abc = GreekABC::Alphabet.new
59
69
  puts abc.to_h # => {"Alpha"=>{:position=>1, :lower=>"α", :upper=>"Α"}
60
70
  ```
61
71
 
62
- Or a more basic hash from `GreekABC` module itself:
72
+ #### Basic sets of letters
73
+
74
+ - Hash with letters and their names
63
75
 
64
76
  ```ruby
65
77
  abc = GreekABC::ALPHABET # => {"Alpha"=>"α", "Beta"=>"β", ...}
66
78
  ```
67
79
 
80
+ - Lowercase letters
81
+
82
+ ```ruby
83
+ abc = GreekABC::LOWERS # => ["α", "β", ...]
84
+ ```
85
+
86
+ - Uppercase letters
87
+
88
+ ```ruby
89
+ abc = GreekABC::UPPERS # => ["Α", "Β", ...]
90
+ ```
91
+
92
+ - Lowercase and uppercase together
93
+
94
+ ```ruby
95
+ abc = GreekABC::LOWERS_AND_UPPERS
96
+ ```
97
+
68
98
  ## Development
69
99
 
70
100
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -2,6 +2,13 @@ module GreekABC
2
2
  class Alphabet
3
3
  attr_accessor :letters
4
4
 
5
+ ALPHABET.map.with_index(1) do |(name, letter), index|
6
+ define_singleton_method(:"#{name.downcase}") do
7
+ Letter.new(position: index, name: name, lower: letter,
8
+ upper: letter.upcase)
9
+ end
10
+ end
11
+
5
12
  def initialize
6
13
  @letters = ALPHABET.map.with_index(1) do |(name, letter), index|
7
14
  Letter.new(position: index, name: name, lower: letter,
@@ -1,5 +1,4 @@
1
1
  module GreekABC
2
-
3
2
  ALPHABET = {
4
3
  'Alpha' => 'α',
5
4
  'Beta' => 'β',
@@ -1,3 +1,3 @@
1
1
  module GreekABC
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: greek_abc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladislav Andreev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-27 00:00:00.000000000 Z
11
+ date: 2019-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler