kabal 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c101bb50f76d3c3bfff154c5e420b69a2558e81a
4
- data.tar.gz: 636f8f442b6b45c8f22ab111c465db1b1c1c760d
3
+ metadata.gz: 8222532ce70bc4277e557311bb3b92c789211a20
4
+ data.tar.gz: 0a3dfce8f30ec6db359a022cfe22c360f97cfb0f
5
5
  SHA512:
6
- metadata.gz: d4a8e658b4c4f17f7c53348ef7510ef92297827976c341ab599733b1753560032b05fde56179fe0414088f3bd2c3f6275c6b5f16b88a228eff0682cc884849a3
7
- data.tar.gz: 21377db86be3a7c956af37b0bd79163d206ca5a9011c732d2c3e7fc5fb72eeb22a15a0c9f97c8ad46f5855f6487ef5b91181122bcfb50322579bd600139c10c1
6
+ metadata.gz: f8f45ed8a597586f73eb2fbc7b7d4d14dc0260a3d2e44b0e857b67b57e8c0832a5337804719fb4d3043d4de7e8f2285bd8d3b508e2236890a61965329a14e141
7
+ data.tar.gz: 60593e22d43fb7bccb32d0de52f5a1e8d6069f0bdca06f5db7782e588b5d5c1e24a8cd447f3c61f6e09546bd44f657ac45474d801996c13e0399b4f84abda332
data/.gitignore CHANGED
@@ -21,3 +21,4 @@ tmp
21
21
  *.a
22
22
  mkmf.log
23
23
  *.swp
24
+ *.swo
data/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  [![Build Status](https://travis-ci.org/kalashnikovisme/kabal.svg?branch=master)](https://travis-ci.org/kalashnikovisme/kabal)
4
4
  [![Coverage Status](https://coveralls.io/repos/kalashnikovisme/kabal/badge.png?branch=master)](https://coveralls.io/r/kalashnikovisme/kabal?branch=master)
5
+ [![Inline docs](http://inch-pages.github.io/github/kalashnikovisme/kabal.png)](http://inch-pages.github.io/github/kalashnikovisme/kabal)
5
6
  [![Gem Version](https://badge.fury.io/rb/kabal.svg)](http://badge.fury.io/rb/kabal)
6
7
  [![endorse](https://api.coderwall.com/kalashnikovisme/endorsecount.png)](https://coderwall.com/kalashnikovisme)
7
8
  [![Dependency Status](https://gemnasium.com/kalashnikovisme/kabal.svg)](https://gemnasium.com/kalashnikovisme/kabal)
@@ -41,12 +42,17 @@ You can choose language to "converting".
41
42
  Supported Languages:
42
43
 
43
44
  * Russian
45
+ * Natural Numbers
46
+ * Fractional Numbers
47
+ * Negative Numbers
48
+ * English
49
+ * Natural Numbers
44
50
 
45
51
  *More languages will be added later.*
46
52
 
47
53
  You can see actual list of supported languages:
48
54
 
49
- $> Kabal.supported_languages #=> ["Russian"]
55
+ $> Kabal.supported_languages #=> ["Russian", "English"]
50
56
 
51
57
  ## Contributing
52
58
 
@@ -79,9 +85,19 @@ To add Elfin language you should:
79
85
  minus: #Minus on Elfin Language#
80
86
  ```
81
87
  4. Add `Elfin: "el"` to `yaml/languages.yml`.
82
- 5. Add `require "kabal/languages/elfin"` to `lib/kabal/supported_languages.rb`.
88
+ 5. Add `el: natural: min: {min_of_your_realization}" max: {max_of_your_realization} fractional: symbols: {count_of_symbols_after_dot_that_you_realized}` to `yaml/support.yml`
89
+ 6. Add `require "kabal/languages/elfin"` to `lib/kabal/supported_languages.rb`.
83
90
 
84
91
  ## Testing
85
92
 
86
93
  Kabal has the BigTest. This test checks the correctness of the operation with all the numbers (0 to 10,000) in all supported languages.
87
- Be careful: BigTest working with 10 001 numbers on one languages during around 3 minutes.
94
+ Be careful: BigTest now working around 6 minutes.
95
+ Run BigTest
96
+
97
+ $> tconsole bigtest
98
+
99
+ Relax!
100
+
101
+ $> tconsole all
102
+
103
+ runs all tests without Bigtest.
data/kabal.gemspec CHANGED
@@ -10,10 +10,13 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["kalashnikovisme@gmail.com"]
11
11
  spec.summary = %q{Number To Text Helper}
12
12
  spec.description = %q{Kabal allows you to translate numbers into text.}
13
- spec.homepage = ""
13
+ spec.homepage = "https://github.com/kalashnikovisme/kabal"
14
14
  spec.license = "MIT"
15
+ spec.required_ruby_version = '>= 2.0.0'
16
+ spec.metadata = { "issue_tracker" => "https://github.com/kalashnikovisme/kabal/issues" }
15
17
 
16
18
  spec.files = `git ls-files`.split("\n")
19
+ spec.post_install_message = "See documentation of Kabal on https://github.com/kalashnikovisme/kabal"
17
20
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
21
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
22
  spec.require_paths = ["lib"]
@@ -0,0 +1,5 @@
1
+ class Kabal::Errors::NoSupportForFractionalNumberOnCurrentLanguages < StandardError
2
+ def self.message
3
+ "Current language doesn't support fractional numbers"
4
+ end
5
+ end
data/lib/kabal/errors.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  module Kabal::Errors
2
2
  require "kabal/errors/no_language_support_error"
3
3
  require "kabal/errors/number_out_range_error"
4
+ require "kabal/errors/no_support_for_fractional_numbers_on_current_language_error"
4
5
  end
@@ -2,7 +2,7 @@ require 'kabal/languages/language'
2
2
 
3
3
  class Kabal::English < Kabal::Language
4
4
  def convert(number)
5
- raise NumberOutRangeError.message if number < 0 or number >= 10 ** 12
5
+ raise NumberOutRangeError.message if number < 0 or number >= 10 ** 12 or number % 1 != 0
6
6
  return single number if number >= 0 and number <= 19
7
7
  return two_words number if number >= 0 and number <= 99
8
8
  return three_words number if number >= 100 and number <= 999
@@ -5,6 +5,18 @@ module Kabal
5
5
  @lang = languages[self.to_s.split(":")[-2]]
6
6
  end
7
7
 
8
+ def supports_natural?
9
+ supports = YamlLoader.yaml_object "support"
10
+ supports["support"][lang]["natural"]
11
+ end
12
+
13
+ #TODO реализовать метод supports_negative?
14
+
15
+ def supports_fractional?
16
+ supports = YamlLoader.yaml_object "support"
17
+ supports["support"][lang]["fractional"]
18
+ end
19
+
8
20
  def names
9
21
  YamlLoader.yaml_object "languages/#{lang}"
10
22
  end
@@ -12,5 +24,17 @@ module Kabal
12
24
  def minus
13
25
  YamlLoader.yaml_object("languages/#{lang}")[lang]["minus"]
14
26
  end
27
+
28
+ def whole
29
+ YamlLoader.yaml_object("languages/#{lang}")[lang]["whole"]
30
+ end
31
+
32
+ def natural?(number)
33
+ number % 1 == 0
34
+ end
35
+
36
+ def fractional?(number)
37
+ number % 1 != 0
38
+ end
15
39
  end
16
40
  end
@@ -1,22 +1,34 @@
1
- class Declinations
2
- def self.name_with_declination(ten_power_name, count)
3
- #FIXME add gem russian
4
- if ten_power_name[-1, 1] == "а"
5
- return ten_power_name if ends_with_one? count
6
- return ten_power_name[0..4] + "и" if end_with_two_or_three_of_four? count
7
- ten_power_name[0..4]
8
- else
9
- return ten_power_name if ends_with_one? count
10
- return ten_power_name + "а" if end_with_two_or_three_of_four? count
11
- ten_power_name + "ов"
12
- end
13
- end
1
+ module Kabal
2
+ module RussianRules
3
+ module Declinations
4
+ def self.name_with_declination(number_name, count)
5
+ #for 5.0e-11 like numbers
6
+ #FIXME find another way to convert number from exp form
7
+ if count.to_s.include? "e"
8
+ count = count.to_s.split('.')[0].to_i
9
+ end
10
+ #FIXME add gem russian
11
+ if number_name[-1, 1] == "а"
12
+ return number_name if ends_with_one? count
13
+ return number_name[0..4] + "и" if end_with_two_or_three_of_four? count
14
+ number_name[0..4]
15
+ elsif number_name[-1, 1] == "я"
16
+ return number_name if ends_with_one? count
17
+ number_name[0..-3] + "ых"
18
+ else
19
+ return number_name if ends_with_one? count
20
+ return number_name + "а" if end_with_two_or_three_of_four? count
21
+ number_name + "ов"
22
+ end
23
+ end
14
24
 
15
- def self.ends_with_one?(count)
16
- count.to_s[-1] == "1"
17
- end
25
+ def self.ends_with_one?(count)
26
+ count.to_s[-1] == "1"
27
+ end
18
28
 
19
- def self.end_with_two_or_three_of_four?(count)
20
- count.to_s[-1] == "2" or count.to_s[-1] == "3" or count.to_s[-1] == "4"
29
+ def self.end_with_two_or_three_of_four?(count)
30
+ count.to_s[-1] == "2" or count.to_s[-1] == "3" or count.to_s[-1] == "4"
31
+ end
32
+ end
21
33
  end
22
34
  end
@@ -0,0 +1,36 @@
1
+ module Kabal
2
+ module RussianRules
3
+ module FractionalNumbers
4
+ def fractional_number_name(number)
5
+ whole_part_name(number) + " " + fractional_part_name(number)
6
+ end
7
+
8
+ def fractional_ten_powers_name(number)
9
+ ten_powers_name = ""
10
+ if need_pre_word? number
11
+ ten_powers_name = names[lang]["fractional_pre_words"][fractional_number_order(number) % 3] + names[lang]["fractional_ten_powers"][fractional_number_order(number) - (fractional_number_order(number) % 3)]
12
+ else
13
+ ten_powers_name = names[lang]["fractional_ten_powers"][fractional_number_order(number)]
14
+ end
15
+ end
16
+
17
+ def need_pre_word?(number)
18
+ fractional_number_order(number) > 3 and fractional_number_order(number) % 3 != 0
19
+ end
20
+
21
+ def fractional_number_order(number)
22
+ number.to_s.split('.')[1].length
23
+ end
24
+
25
+ def fractional_part_name(number)
26
+ fractional_part = (number % 1).round(fractional_number_order(number))
27
+ feminine_natural_number_name(((fractional_part) * (10 ** fractional_number_order(number))).to_s.split('.')[0].to_i) + " " + Declinations.name_with_declination(fractional_ten_powers_name(number), fractional_part)
28
+ end
29
+
30
+ def whole_part_name(number)
31
+ count = number.to_s.split('.')[0].to_i
32
+ feminine_natural_number_name(count) + " " + Declinations.name_with_declination(whole, count)
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,83 @@
1
+ module Kabal
2
+ module RussianRules
3
+ module NaturalNumbers
4
+ def natural_number_name(number)
5
+ #FIXME switch case next lines
6
+ return single(number) if number >= 0 and number <= 19
7
+ return two_words(number) if number >= 20 and number <= 99
8
+ return three_words(number) if number >= 100 and number <= 999
9
+ ten_powers(number) if number >= 1000
10
+ end
11
+
12
+ def feminine_natural_number_name(number)
13
+ @feminine_name = true
14
+ natural_number_name number
15
+ end
16
+
17
+ def single(number)
18
+ if @feminine_name
19
+ @feminine_name = false
20
+ return names[lang]["single_feminine"][count(number) % 10] if count(number) % 10 == 1 or count(number) % 10 == 2
21
+ end
22
+ names[lang]["single"][number]
23
+ end
24
+
25
+ def two_words(number)
26
+ return single number if number <= 19
27
+ number_name = names[lang]["two_words"][number / 10]
28
+ number_name += " " + single(number % 10) if (number % 10 != 0)
29
+ number_name
30
+ end
31
+
32
+ def three_words(number)
33
+ return two_words number if number / 100 == 0
34
+ number_name = names[lang]["three_words"][number / 100]
35
+ return number_name += " " + two_words(number % 100) if (number % 100 >= 20)
36
+ return number_name += " " + single(number % 100) if (number % 100 != 0)
37
+ number_name
38
+ end
39
+ def ten_powers(number)
40
+ #FIXME find better way
41
+ return names[lang]["ten_powers"][100] if number_is_google? number
42
+ less_thousands number if number_is_thousands? number
43
+ return @number_name if number_is_thousands? number
44
+ create_number_name number
45
+ ten_powers(number % (10 ** number_order(number)))
46
+ end
47
+
48
+ def number_order(number)
49
+ ((number.to_s.length - 1) / 3) * 3
50
+ end
51
+
52
+ def count(number)
53
+ number / (10 ** number_order(number))
54
+ end
55
+
56
+ def create_number_name(number)
57
+ if @number_name.nil?
58
+ @number_name = count_name(number) + " " + Declinations.name_with_declination(names[lang]["ten_powers"][number_order(number)], count(number))
59
+ elsif count(number) != 0
60
+ @number_name += " " + count_name(number) + " " + Declinations.name_with_declination(names[lang]["ten_powers"][number_order(number)], count(number))
61
+ end
62
+ end
63
+
64
+ def less_thousands(number)
65
+ @number_name += " " + three_words(number % 1000) unless number == 0
66
+ end
67
+
68
+ def number_is_thousands?(number)
69
+ number_order(number) < 3
70
+ end
71
+
72
+ def count_name(number)
73
+ #FIXME number.to_S[-4] not good
74
+ @feminine_name = (number.to_s[-4] == "1" or number.to_s[-4] == "2") and count(number) and count(number) / 10 != 1 and number_order(number) == 3
75
+ three_words count(number)
76
+ end
77
+
78
+ def number_is_google?(number)
79
+ count(number) == 10 and number_order(number) == 99
80
+ end
81
+ end
82
+ end
83
+ end
@@ -1,90 +1,26 @@
1
1
  require 'kabal/languages/language'
2
2
  require 'kabal/languages/russian/declinations'
3
+ require 'kabal/languages/russian/natural_numbers'
4
+ require 'kabal/languages/russian/fractional_numbers'
3
5
 
4
6
  class Kabal::Russian < Kabal::Language
7
+ include Kabal::RussianRules::NaturalNumbers
8
+ include Kabal::RussianRules::FractionalNumbers
9
+
5
10
  def convert(number)
6
11
  #FIXME find way to get min and max from yml file
7
12
  raise NumberOutRangeError.message if number <= -(10 ** 102) or number >= 10 ** 102
8
13
  #FIXME find better way
9
14
  @number_name = nil
10
- need_minus?(number) ? (minus + " " + natural_number_name(-number)) : natural_number_name(number)
15
+ need_minus?(number) ? (minus + " " + number_words(-number)) : number_words(number)
11
16
  end
12
17
 
13
- def natural_number_name(number)
14
- #FIXME switch case next lines
15
- return single(number) if number >= 0 and number <= 19
16
- return two_words(number) if number >= 20 and number <= 99
17
- return three_words(number) if number >= 100 and number <= 999
18
- ten_powers(number) if number >= 1000
18
+ def number_words(number)
19
+ return natural_number_name number.round if natural? number
20
+ fractional_number_name number if fractional? number
19
21
  end
20
22
 
21
23
  def need_minus?(number)
22
24
  number < 0
23
25
  end
24
-
25
- def single(number)
26
- if @feminine_name_for_thousands
27
- @feminine_name_for_thousands = false
28
- return names[lang]["single_feminine"][count(number) % 10]
29
- end
30
- names[lang]["single"][number]
31
- end
32
-
33
- def two_words(number)
34
- return single number if number <= 19
35
- number_name = names[lang]["two_words"][number / 10]
36
- number_name += " " + single(number % 10) if (number % 10 != 0)
37
- number_name
38
- end
39
-
40
- def three_words(number)
41
- return two_words number if number / 100 == 0
42
- number_name = names[lang]["three_words"][number / 100]
43
- return number_name += " " + two_words(number % 100) if (number % 100 >= 20)
44
- return number_name += " " + single(number % 100) if (number % 100 != 0)
45
- number_name
46
- end
47
-
48
- def ten_powers(number)
49
- #FIXME find better way
50
- return names[lang]["ten_powers"][100] if number_is_google? number
51
- less_thousands number if number_is_thousands? number
52
- return @number_name if number_is_thousands? number
53
- create_number_name number
54
- ten_powers(number % (10 ** number_order(number)))
55
- end
56
-
57
- def number_order(number)
58
- ((number.to_s.length - 1) / 3) * 3
59
- end
60
-
61
- def count(number)
62
- number / (10 ** number_order(number))
63
- end
64
-
65
- def create_number_name(number)
66
- if @number_name.nil?
67
- @number_name = count_name(number) + " " + Declinations.name_with_declination(names[lang]["ten_powers"][number_order(number)], count(number))
68
- elsif count(number) != 0
69
- @number_name += " " + count_name(number) + " " + Declinations.name_with_declination(names[lang]["ten_powers"][number_order(number)], count(number))
70
- end
71
- end
72
-
73
- def less_thousands(number)
74
- @number_name += " " + three_words(number % 1000) unless number == 0
75
- end
76
-
77
- def number_is_thousands?(number)
78
- number_order(number) < 3
79
- end
80
-
81
- def count_name(number)
82
- #FIXME number.to_S[-4] not good
83
- @feminine_name_for_thousands = (number.to_s[-4] == "1" or number.to_s[-4] == "2") and count(number) and count(number) / 10 != 1 and number_order(number) == 3
84
- three_words count(number)
85
- end
86
-
87
- def number_is_google?(number)
88
- count(number) == 10 and number_order(number) == 99
89
- end
90
26
  end
data/lib/kabal/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Kabal
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
data/lib/kabal.rb CHANGED
@@ -10,8 +10,7 @@ module Kabal
10
10
  include Config
11
11
 
12
12
  def to_text(number)
13
- @language ||= "Russian"
14
- obj = Object.const_get("Kabal::" + @language).new
13
+ obj = Object.const_get("Kabal::" + current_language).new
15
14
  obj.convert number
16
15
  end
17
16
 
@@ -36,10 +35,21 @@ module Kabal
36
35
 
37
36
  def current_language
38
37
  @language ||= "Russian"
38
+ @language
39
39
  end
40
40
 
41
41
  def supported_languages
42
42
  languages = YamlLoader.yaml_object "languages"
43
43
  languages.keys
44
44
  end
45
+
46
+ def current_language_supports_natural?
47
+ obj = Object.const_get("Kabal::" + current_language).new
48
+ obj.supports_natural?
49
+ end
50
+
51
+ def current_language_supports_fractional?
52
+ obj = Object.const_get("Kabal::" + current_language).new
53
+ obj.supports_fractional?
54
+ end
45
55
  end
data/test/lib/bigtest.rb CHANGED
@@ -3,11 +3,24 @@ require "test_helper"
3
3
  include Kabal
4
4
 
5
5
  class BigTest < TestCase
6
- def test_all_numbers_for_all_languages
6
+ def test_all_natural_numbers_for_all_languages
7
7
  Kabal.supported_languages.each do |lang|
8
8
  Kabal.language = lang
9
9
  (0..10 ** 4).each do |number|
10
- assert Kabal.to_text number
10
+ assert Kabal.to_text(number), [lang, number].to_s
11
+ end
12
+ end
13
+ end
14
+
15
+ def test_all_fractional_numbers_in_all_languages
16
+ Kabal.supported_languages.each do |lang|
17
+ Kabal.language = lang
18
+ if Kabal.current_language_supports_fractional?
19
+ i = 0
20
+ while i < 10 do
21
+ assert Kabal.to_text(i), [lang, i].to_s
22
+ i = (i + 0.001).round 3
23
+ end
11
24
  end
12
25
  end
13
26
  end
@@ -51,4 +51,19 @@ class RussianTest < TestCase
51
51
  end
52
52
  assert_equal NumberOutRangeError.message, exception.message
53
53
  end
54
+ def test_to_text_with_fractional_number_with_zero
55
+ assert_equal @rus.convert(0.01), "ноль целых одна сотая"
56
+ end
57
+ def test_to_text_with_fractional_number
58
+ assert_equal @rus.convert(1.05), "одна целая пять сотых"
59
+ end
60
+ def test_to_text_with_fractional_number_like_whole
61
+ assert_equal @rus.convert(1.0), "один"
62
+ end
63
+ def test_to_text_with_fractional_number_with_preword
64
+ assert_equal @rus.convert(1.0005), "одна целая пять десятитысячных"
65
+ end
66
+ def test_to_text_with_fractional_number_with_exp_form
67
+ assert_equal @rus.convert(1.00000000005), "одна целая пять стомиллиардных"
68
+ end
54
69
  end
@@ -39,4 +39,12 @@ class KabalTest < TestCase
39
39
  def test_current_language
40
40
  assert Kabal.current_language
41
41
  end
42
+
43
+ def test_current_language_support_natural?
44
+ assert Kabal.current_language_supports_natural?
45
+ end
46
+
47
+ def test_current_language_support_fractional?
48
+ assert Kabal.current_language_supports_fractional?
49
+ end
42
50
  end
@@ -1,5 +1,6 @@
1
1
  ru:
2
2
  minus: "минус"
3
+ whole: "целая"
3
4
  single:
4
5
  0: ноль
5
6
  1: один
@@ -80,3 +81,15 @@ ru:
80
81
  96: антригинтиллион
81
82
  99: дуотригинтиллион
82
83
  100: гугол
84
+ fractional_pre_words:
85
+ 1: десяти
86
+ 2: сто
87
+ fractional_ten_powers:
88
+ 1: десятая
89
+ 2: сотая
90
+ 3: тысячная
91
+ 6: миллионная
92
+ 9: миллиардная
93
+ 12: триллионная
94
+ 15: квадраллионная
95
+ 18: квинтиллионная
data/yaml/support.yml ADDED
@@ -0,0 +1,9 @@
1
+ support:
2
+ ru:
3
+ natural:
4
+ min: "-(10 ** 102)"
5
+ max: "-(10 ** 102)"
6
+ fractional:
7
+ symbols: 16
8
+ en:
9
+ natural: true
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kabal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Kalashnikov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-03 00:00:00.000000000 Z
11
+ date: 2014-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -59,11 +59,14 @@ files:
59
59
  - lib/kabal/config/yaml_loader.rb
60
60
  - lib/kabal/errors.rb
61
61
  - lib/kabal/errors/no_language_support_error.rb
62
+ - lib/kabal/errors/no_support_for_fractional_numbers_on_current_language_error.rb
62
63
  - lib/kabal/errors/number_out_range_error.rb
63
64
  - lib/kabal/languages/english.rb
64
65
  - lib/kabal/languages/language.rb
65
66
  - lib/kabal/languages/russian.rb
66
67
  - lib/kabal/languages/russian/declinations.rb
68
+ - lib/kabal/languages/russian/fractional_numbers.rb
69
+ - lib/kabal/languages/russian/natural_numbers.rb
67
70
  - lib/kabal/supported_languages.rb
68
71
  - lib/kabal/version.rb
69
72
  - test/lib/bigtest.rb
@@ -74,11 +77,13 @@ files:
74
77
  - yaml/languages.yml
75
78
  - yaml/languages/en.yml
76
79
  - yaml/languages/ru.yml
77
- homepage: ''
80
+ - yaml/support.yml
81
+ homepage: https://github.com/kalashnikovisme/kabal
78
82
  licenses:
79
83
  - MIT
80
- metadata: {}
81
- post_install_message:
84
+ metadata:
85
+ issue_tracker: https://github.com/kalashnikovisme/kabal/issues
86
+ post_install_message: See documentation of Kabal on https://github.com/kalashnikovisme/kabal
82
87
  rdoc_options: []
83
88
  require_paths:
84
89
  - lib
@@ -86,7 +91,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
86
91
  requirements:
87
92
  - - ">="
88
93
  - !ruby/object:Gem::Version
89
- version: '0'
94
+ version: 2.0.0
90
95
  required_rubygems_version: !ruby/object:Gem::Requirement
91
96
  requirements:
92
97
  - - ">="