character_to_description 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.
@@ -0,0 +1,3 @@
1
+ module CharacterToDescription
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,42 @@
1
+ require "character_to_description/version"
2
+
3
+ module CharacterToDescription
4
+ class Dictionary
5
+ @description_table = {}
6
+
7
+ File.open './descriptions.dic', 'r' do |file|
8
+ file.each_line do |line|
9
+ next if line.match /^#|^\r\n$/
10
+ fields = line.split "\t"
11
+ character = fields[0]
12
+ description = fields[1].chomp.gsub /[()]/, ''
13
+ @description_table[character] = description
14
+ end
15
+ end
16
+ class << self
17
+ def description(character)
18
+ return nil if character.empty?
19
+ character = character[0] if character.size > 1
20
+ case character
21
+ when /[a-z]/
22
+ "Lower case #{character}"
23
+ when /[A-Z]/
24
+ "Upper case: #{character}"
25
+ when /\p{Hiragana}/
26
+ "Hiragana letter #{character}"
27
+ when /\p{Katakana}/
28
+ "Katakana letter #{character}"
29
+ when /[一-龠]/
30
+ @description_table[character]
31
+ else
32
+ "Unknown"
33
+ end
34
+ end
35
+ end
36
+ end
37
+ refine String do
38
+ def to_description
39
+ CharacterToDescription::Dictionary.description self
40
+ end
41
+ end
42
+ end
metadata ADDED
@@ -0,0 +1,97 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: character_to_description
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Yoshiyuki Koyanagi
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-05-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.12'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.12'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ description: Convert non ASCII character into its description string
56
+ email:
57
+ - moutend@gmail.com
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - ".gitignore"
63
+ - ".rspec"
64
+ - Gemfile
65
+ - README.md
66
+ - Rakefile
67
+ - bin/console
68
+ - bin/setup
69
+ - character_to_description.gemspec
70
+ - descriptions.dic
71
+ - lib/character_to_description.rb
72
+ - lib/character_to_description/version.rb
73
+ homepage: https://github.com/moutend/character_to_description
74
+ licenses: []
75
+ metadata:
76
+ allowed_push_host: https://rubygems.org
77
+ post_install_message:
78
+ rdoc_options: []
79
+ require_paths:
80
+ - lib
81
+ required_ruby_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ required_rubygems_version: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ requirements: []
92
+ rubyforge_project:
93
+ rubygems_version: 2.4.8
94
+ signing_key:
95
+ specification_version: 4
96
+ summary: Convert a character into its description
97
+ test_files: []