te_reo_maori 0.1.0 → 0.1.5
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 +4 -4
- data/.gitlab-ci.yml +23 -3
- data/ChangeLog +7 -1
- data/Dockerfile +10 -0
- data/README.md +14 -2
- data/exe/te_reo_maori +20 -0
- data/lib/te_reo_maori.rb +1 -0
- data/lib/te_reo_maori/tau.rb +64 -35
- data/lib/te_reo_maori/version.rb +1 -1
- data/lib/te_reo_maori/whakahua.rb +51 -0
- data/lib/te_reo_maori/whakamatautau_pangarau.rb +18 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d7e033dd690ec5a8b082f109638dedcfca0ecd77ec637426486f283b905d229
|
4
|
+
data.tar.gz: 733fba9ba22ac5574c552fd9854c961737175e255fce0485ee5031d3958afb91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b0f769a32c1154f0a7914b9f4929358223dfea55685ae46b18e2a5f3b89403135e5027c465977c3361eed96c47fe046df18a36a6ff99019d41189a80761c29c1
|
7
|
+
data.tar.gz: 5c84a699c686ec242211b051eb682b7abfc0633d6082fb355cac2cc511380c9e073f71bedee4eda849869ba5c909b300ddfcca5bbc31b28e6554cadaac152ae8
|
data/.gitlab-ci.yml
CHANGED
@@ -1,8 +1,28 @@
|
|
1
1
|
image: ruby:2.6
|
2
2
|
|
3
|
-
before_script:
|
4
|
-
- bundle install
|
5
|
-
|
6
3
|
test:
|
4
|
+
before_script:
|
5
|
+
- bundle install
|
7
6
|
script:
|
8
7
|
- rake
|
8
|
+
|
9
|
+
include:
|
10
|
+
- template: Code-Quality.gitlab-ci.yml
|
11
|
+
|
12
|
+
docker_build:
|
13
|
+
variables:
|
14
|
+
# Use TLS https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled
|
15
|
+
DOCKER_HOST: tcp://docker:2376
|
16
|
+
DOCKER_TLS_CERTDIR: "/certs"
|
17
|
+
stage: deploy # Part of a later stage
|
18
|
+
services:
|
19
|
+
- docker:19.03.5-dind
|
20
|
+
image: docker:19.03.5
|
21
|
+
script:
|
22
|
+
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
23
|
+
- docker pull --quiet $CI_REGISTRY_IMAGE:latest || true
|
24
|
+
- docker build -t $CI_REGISTRY_IMAGE:latest .
|
25
|
+
- docker push $CI_REGISTRY_IMAGE:latest
|
26
|
+
only:
|
27
|
+
- master
|
28
|
+
needs: ["test"]
|
data/ChangeLog
CHANGED
@@ -1 +1,7 @@
|
|
1
|
-
*
|
1
|
+
* 0.1.5 - Added simple addition math test
|
2
|
+
* 0.1.4 - Pronounce integers on inspection for better terminal experience
|
3
|
+
- Handle up to 999 and accent marks
|
4
|
+
* 0.1.3 Bug fix. 'Whakahua' did not handle 'iwa' and numbers like toru tekau
|
5
|
+
* 0.1.2 whakahua method to pronounce numbers
|
6
|
+
* 0.1.1 Has docker image. Handle up to 99
|
7
|
+
* 0.1.0 Handles numbers 1-19
|
data/Dockerfile
ADDED
data/README.md
CHANGED
@@ -4,6 +4,12 @@ Tool to aid one to learn Maori and enable one to program in Maori.
|
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
7
|
+
Execute interactive terminal in docker
|
8
|
+
|
9
|
+
`docker run --rm -it registry.gitlab.com/samuel-garratt/te_reo_maori:latest`
|
10
|
+
|
11
|
+
### As a ruby gem
|
12
|
+
|
7
13
|
Add this line to your application's Gemfile:
|
8
14
|
|
9
15
|
```ruby
|
@@ -25,8 +31,14 @@ Count in maori
|
|
25
31
|
```ruby
|
26
32
|
tahi + rua
|
27
33
|
# Will give a result of 3
|
34
|
+
3.whakahua
|
35
|
+
# Will return 'toru'
|
36
|
+
whakahua(tahi + tahi)
|
37
|
+
# Will return 'rua'
|
28
38
|
```
|
29
39
|
|
40
|
+
Execute in interactive terminal. After installing type `te_reo_maori` on command prompt to open it.
|
41
|
+
|
30
42
|
## Development
|
31
43
|
|
32
44
|
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.
|
@@ -35,7 +47,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
35
47
|
|
36
48
|
## Contributing
|
37
49
|
|
38
|
-
Bug reports and pull requests are welcome on GitLab at https://
|
50
|
+
Bug reports and pull requests are welcome on GitLab at https://gitlab.com/samuel-garratt/te_reo_maori. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://gitlab.com/samuel-garratt/te_reo_maori/blob/master/CODE_OF_CONDUCT.md).
|
39
51
|
|
40
52
|
|
41
53
|
## License
|
@@ -44,4 +56,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
|
|
44
56
|
|
45
57
|
## Code of Conduct
|
46
58
|
|
47
|
-
Everyone interacting in the TeReoMaori project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://
|
59
|
+
Everyone interacting in the TeReoMaori project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://gitlab.com/samuel-garratt/te_reo_maori/blob/master/CODE_OF_CONDUCT.md).
|
data/exe/te_reo_maori
CHANGED
@@ -5,4 +5,24 @@ require 'irb'
|
|
5
5
|
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
6
6
|
require 'te_reo_maori'
|
7
7
|
|
8
|
+
def putanga
|
9
|
+
exit
|
10
|
+
end
|
11
|
+
|
12
|
+
extend Tau # Make numbers available
|
13
|
+
extend WhakamatautauPangarau
|
14
|
+
|
15
|
+
puts 'Nau mai haere mai. Welcome to this application for learning and interacting with Maori.'
|
16
|
+
puts 'Type "putanga" to exit'
|
17
|
+
puts 'Type "pangarau" for maths test'
|
18
|
+
puts 'Try and perform +, -, * (times), / (divide) with Maori'
|
19
|
+
puts 'The numbers are: '
|
20
|
+
Tau.rarangi.each do |tau, whakamaoritanga|
|
21
|
+
puts "#{tau}: #{whakamaoritanga}"
|
22
|
+
end
|
23
|
+
puts 'If you type a number and press you will see Maori equivalent. Numbers > 10 must be wrapped in (). Greatest supported is 999'
|
24
|
+
puts 'Example of bigger numbers. 12: "tekau ma rua". Add 23 + 33: "(rua tekau ma toru) + (toru tekau ma toru)"'
|
25
|
+
puts 'See integer form by calling "tau", e.g., "((rua tekau ma toru) + (toru tekau ma toru)).tau" '
|
26
|
+
puts 'If you have any ideas on how this can be improved add issue to https://gitlab.com/samuel-garratt/te_reo_maori/-/issues'
|
27
|
+
|
8
28
|
IRB.start(__FILE__)
|
data/lib/te_reo_maori.rb
CHANGED
data/lib/te_reo_maori/tau.rb
CHANGED
@@ -1,49 +1,78 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
end
|
3
|
+
require_relative 'whakahua'
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
# Number in Maori
|
6
|
+
module Tau
|
7
|
+
def whakahua(tau)
|
8
|
+
raise "Class '#{tau.class}' not implmemented" unless tau.is_a? Integer
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
end
|
10
|
+
tau.whakahua
|
11
|
+
end
|
13
12
|
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
# List numbers
|
14
|
+
def self.rarangi
|
15
|
+
{
|
16
|
+
1 => 'tahi', 2 => 'rua', 3 => 'toru', 4 => 'whā', 5 => 'rima', 6 => 'ono', 7 => 'waru',
|
17
|
+
8 => 'iwa', 9 => 'iwa', 10 => 'tekau'
|
18
|
+
}
|
19
|
+
end
|
17
20
|
|
18
|
-
def
|
19
|
-
|
20
|
-
end
|
21
|
+
def digit(tau, second_digit)
|
22
|
+
return tau if second_digit.nil?
|
21
23
|
|
22
|
-
|
23
|
-
|
24
|
-
end
|
24
|
+
((tau - 1) * 10) + second_digit
|
25
|
+
end
|
25
26
|
|
26
|
-
|
27
|
-
|
28
|
-
|
27
|
+
# 1
|
28
|
+
def tahi
|
29
|
+
1
|
30
|
+
end
|
29
31
|
|
30
|
-
|
31
|
-
|
32
|
-
|
32
|
+
# 2
|
33
|
+
def rua(second_digit = nil)
|
34
|
+
digit(2, second_digit)
|
35
|
+
end
|
33
36
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
+
# 3
|
38
|
+
def toru(second_digit = nil)
|
39
|
+
digit(3, second_digit)
|
40
|
+
end
|
37
41
|
|
38
|
-
|
39
|
-
|
40
|
-
|
42
|
+
# 4
|
43
|
+
def wha(second_digit = nil)
|
44
|
+
digit(4, second_digit)
|
45
|
+
end
|
41
46
|
|
42
|
-
|
43
|
-
|
44
|
-
|
47
|
+
# 5
|
48
|
+
def rima(second_digit = nil)
|
49
|
+
digit(5, second_digit)
|
50
|
+
end
|
51
|
+
|
52
|
+
# 6
|
53
|
+
def ono(second_digit = nil)
|
54
|
+
digit(6, second_digit)
|
55
|
+
end
|
56
|
+
|
57
|
+
def whitu(second_digit = nil)
|
58
|
+
digit(7, second_digit)
|
59
|
+
end
|
60
|
+
|
61
|
+
def waru(second_digit = nil)
|
62
|
+
digit(8, second_digit)
|
63
|
+
end
|
64
|
+
|
65
|
+
def iwa(second_digit = nil)
|
66
|
+
digit(9, second_digit)
|
67
|
+
end
|
68
|
+
|
69
|
+
# 10. Used to add groups of 10
|
70
|
+
def tekau(extra_digit = nil)
|
71
|
+
extra_digit ? 10 + extra_digit : 10
|
72
|
+
end
|
45
73
|
|
46
|
-
# Add extra digit
|
47
|
-
def ma(extra_digit)
|
48
|
-
|
74
|
+
# Add extra digit
|
75
|
+
def ma(extra_digit)
|
76
|
+
extra_digit
|
77
|
+
end
|
49
78
|
end
|
data/lib/te_reo_maori/version.rb
CHANGED
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Extension to Integer for Maori
|
4
|
+
class Integer
|
5
|
+
def inspect
|
6
|
+
whakahua
|
7
|
+
end
|
8
|
+
|
9
|
+
# Numeric form of integer
|
10
|
+
def tau
|
11
|
+
to_s
|
12
|
+
end
|
13
|
+
|
14
|
+
# @param [Integer] upper_part Integer of number of 100s
|
15
|
+
# @param [String] lower_part Already translated part less than 100
|
16
|
+
def add_parts(upper_part, lower_part)
|
17
|
+
if upper_part == 0
|
18
|
+
lower_part
|
19
|
+
elsif upper_part == 1
|
20
|
+
"kotahi rau #{lower_part}"
|
21
|
+
else
|
22
|
+
"#{upper_part.whakahua} rau #{lower_part}"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# Pronounce number
|
27
|
+
def whakahua
|
28
|
+
raise NotImplementedError, "Amount of #{self} implemented yet" if self > 999 || self < 1
|
29
|
+
return 'kotahi rau' if self == 100
|
30
|
+
|
31
|
+
lower_part = self % 100
|
32
|
+
upper_part = self / 100
|
33
|
+
|
34
|
+
last_digit = lower_part % 10
|
35
|
+
last_digit_word = Tau.rarangi[last_digit]
|
36
|
+
|
37
|
+
first_digit = (lower_part / 10)
|
38
|
+
if first_digit.positive?
|
39
|
+
if last_digit.zero?
|
40
|
+
return add_parts(upper_part, 'tekau') if first_digit == 1
|
41
|
+
|
42
|
+
return add_parts upper_part, "#{Tau.rarangi[first_digit]} tekau"
|
43
|
+
end
|
44
|
+
|
45
|
+
return add_parts upper_part, "tekau mā #{last_digit_word}" if first_digit == 1
|
46
|
+
|
47
|
+
return add_parts upper_part, "#{Tau.rarangi[first_digit]} tekau mā #{last_digit_word}"
|
48
|
+
end
|
49
|
+
add_parts upper_part, last_digit_word
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Math test
|
2
|
+
module WhakamatautauPangarau
|
3
|
+
# Mathematics. Start a maths test
|
4
|
+
def pangarau
|
5
|
+
puts 'Nau mai. Please type the answer in Teo Reo Maori (e.g "tahi" for 1) when prompted'
|
6
|
+
tau1 = rand(100).to_i
|
7
|
+
tau2 = rand(100).to_i
|
8
|
+
whakautu_tika = tau1 + tau2 + 1
|
9
|
+
puts "#{tau1.inspect} + #{tau2.inspect}?"
|
10
|
+
whakautu = eval(gets).to_i
|
11
|
+
if whakautu == whakautu_tika
|
12
|
+
puts 'Ka pai. Correct!'
|
13
|
+
else
|
14
|
+
puts "Incorrect. You put '#{whakautu.inspect} (#{whakautu})'.
|
15
|
+
Correct answer is '#{whakautu_tika.inspect} (#{whakautu_tika})'"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: te_reo_maori
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Garratt
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-09-
|
11
|
+
date: 2020-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Tool to aid one to learn Maori and enable one to program in Maori.
|
14
14
|
email:
|
@@ -23,6 +23,7 @@ files:
|
|
23
23
|
- ".rspec"
|
24
24
|
- CODE_OF_CONDUCT.md
|
25
25
|
- ChangeLog
|
26
|
+
- Dockerfile
|
26
27
|
- Gemfile
|
27
28
|
- LICENSE.txt
|
28
29
|
- README.md
|
@@ -33,6 +34,8 @@ files:
|
|
33
34
|
- lib/te_reo_maori.rb
|
34
35
|
- lib/te_reo_maori/tau.rb
|
35
36
|
- lib/te_reo_maori/version.rb
|
37
|
+
- lib/te_reo_maori/whakahua.rb
|
38
|
+
- lib/te_reo_maori/whakamatautau_pangarau.rb
|
36
39
|
- te_reo_maori.gemspec
|
37
40
|
homepage: https://gitlab.com/samuel-garratt/te_reo_maori
|
38
41
|
licenses:
|