datte 0.4.0 → 0.5.0

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: 9ebef145c5960b7f522519d57bb22b730687135a
4
- data.tar.gz: 1b5f8f127505a601cb0fa37955016fe843d4db91
3
+ metadata.gz: 9f0e1c8fca7c6a73723a3bc60574de95c406468d
4
+ data.tar.gz: 1078bb00faf8a3bbacfcf5a0628d4c21fc69e540
5
5
  SHA512:
6
- metadata.gz: 65d33eb5e849c4450a73b892e50216aaeae23986746907ebae9432a84b9a6f0b69185a1380a4aaf0bfd5d4c322746845a2f60dda96dcd835f77c053c873d0bc8
7
- data.tar.gz: 1935677dbacf8cdb2391208ddfc43ce2a2c3f6d035b691e9c9562037524d3b692d7f80e5519ff24f96365180be612f136d135512f8d0a5d9df4f16935190a89f
6
+ metadata.gz: e8034556e393d1f32c190701ea4bfbaee059c1887afe2822f8836ce05988a7f19248484a134e80371ee0fb932797cdaf7ec19c9a5e8922c94f4f3fda11dec2ec
7
+ data.tar.gz: f8e3320d07bfd9897e34d3aead8ff0713226c77b1fca081e75b7d931cae1939b3f3c7db0ab9703abe21074e541bd26e1bd1a31317c2d1f9f2007fc575aa607b3
data/lib/datte/parser.rb CHANGED
@@ -22,6 +22,7 @@ module Datte
22
22
  end
23
23
 
24
24
  def parse_date(body)
25
+ body = TextConverter.new().kan_num(body)
25
26
  date = DateParser.new(body).parse
26
27
  p date
27
28
  return yield(date) if block_given? && !date.nil?
@@ -0,0 +1,23 @@
1
+ module Datte
2
+ class TextConverter
3
+
4
+ KANNUM_ALL = ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '百', '千']
5
+ KANNUM_1_9 = { ''=>1, '一'=>1, '二'=>2, '三'=>3, '四'=>4, '五'=>5, '六'=>6, '七'=>7, '八'=>8, '九'=>9 }
6
+ KANNUM_10 = {'千'=>1000, '百'=>100, '十'=>10, ''=>1 }
7
+
8
+ def initialize(options = {})
9
+ @options = options
10
+ end
11
+
12
+ def kan_num(body)
13
+ body.scan(/[#{KANNUM_ALL.join('')}]+/).each do |kan|
14
+ num = kan.scan(/([^千百十]*)([千百十]?)/).inject(-1) do |num, (_1_9, unit)|
15
+ num + KANNUM_1_9[_1_9] * KANNUM_10[unit]
16
+ end
17
+ p kan, num
18
+ body.gsub!(kan, num.to_s)
19
+ end
20
+ body
21
+ end
22
+ end
23
+ end
data/lib/datte/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Datte
2
- VERSION = "0.4.0"
2
+ VERSION = "0.5.0"
3
3
  end
data/lib/datte.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'date'
2
2
  require 'datte/version'
3
3
  require File.join(File.dirname(__FILE__), 'datte', 'parser')
4
+ require File.join(File.dirname(__FILE__), 'datte', 'text_converter')
4
5
  require File.join(File.dirname(__FILE__), 'datte', 'date_parser')
5
6
  require File.join(File.dirname(__FILE__), 'datte', 'dattetime')
6
7
  require File.join(File.dirname(__FILE__), 'datte', 'datetime_table')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: datte
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - pokohide
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-14 00:00:00.000000000 Z
11
+ date: 2017-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -78,6 +78,7 @@ files:
78
78
  - lib/datte/datetime_table.rb
79
79
  - lib/datte/dattetime.rb
80
80
  - lib/datte/parser.rb
81
+ - lib/datte/text_converter.rb
81
82
  - lib/datte/train.rb
82
83
  - lib/datte/version.rb
83
84
  - spec/datte_spec.rb