anglicize 0.0.1
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 +7 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +22 -0
- data/Rakefile +32 -0
- data/lib/anglicize.rb +4 -0
- data/lib/anglicize/alternate_spellings.yml +1735 -0
- data/lib/anglicize/string.rb +59 -0
- data/lib/anglicize/version.rb +3 -0
- data/lib/tasks/anglicize_tasks.rake +4 -0
- metadata +67 -0
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
|
3
|
+
# Extensions for string class.
|
4
|
+
class String
|
5
|
+
def anglicize
|
6
|
+
split.map{|token| get_anglicized_word(token) }.join(" ")
|
7
|
+
end
|
8
|
+
|
9
|
+
def americanize
|
10
|
+
split.map{|token| get_americanized_word(token) }.join(" ")
|
11
|
+
end
|
12
|
+
|
13
|
+
def has_alternate_english_spelling?
|
14
|
+
self != anglicize
|
15
|
+
end
|
16
|
+
|
17
|
+
def has_alternate_american_spelling?
|
18
|
+
self != americanize
|
19
|
+
end
|
20
|
+
|
21
|
+
def copy_case(word)
|
22
|
+
if word == word.capitalize
|
23
|
+
capitalize
|
24
|
+
elsif word == word.upcase
|
25
|
+
upcase
|
26
|
+
else
|
27
|
+
downcase
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
def get_anglicized_word(word)
|
34
|
+
@@american_to_english ||= load_american_to_english
|
35
|
+
key = word.downcase
|
36
|
+
(@@american_to_english[key] || word).copy_case(word)
|
37
|
+
end
|
38
|
+
|
39
|
+
def get_americanized_word(word)
|
40
|
+
@@english_to_american ||= load_english_to_american
|
41
|
+
key = word.downcase
|
42
|
+
(@@english_to_american[key] || word).copy_case(word)
|
43
|
+
end
|
44
|
+
|
45
|
+
def load_american_to_english
|
46
|
+
@@alternate_spellings ||= load_alternate_spellings
|
47
|
+
@@alternate_spellings.invert
|
48
|
+
end
|
49
|
+
|
50
|
+
def load_english_to_american
|
51
|
+
@@alternate_spellings ||= load_alternate_spellings
|
52
|
+
end
|
53
|
+
|
54
|
+
def load_alternate_spellings
|
55
|
+
dirname = File.dirname(File.expand_path(__FILE__))
|
56
|
+
file_path = File.join(dirname, "alternate_spellings.yml")
|
57
|
+
YAML::load(File.open(file_path))
|
58
|
+
end
|
59
|
+
end
|
metadata
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: anglicize
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Michael Webb
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-06-17 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rspec
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
description: Converts strings from American spelling to English spelling and vice
|
28
|
+
versa.
|
29
|
+
email:
|
30
|
+
- moggyboy@gmail.com
|
31
|
+
executables: []
|
32
|
+
extensions: []
|
33
|
+
extra_rdoc_files: []
|
34
|
+
files:
|
35
|
+
- MIT-LICENSE
|
36
|
+
- README.rdoc
|
37
|
+
- Rakefile
|
38
|
+
- lib/anglicize.rb
|
39
|
+
- lib/anglicize/alternate_spellings.yml
|
40
|
+
- lib/anglicize/string.rb
|
41
|
+
- lib/anglicize/version.rb
|
42
|
+
- lib/tasks/anglicize_tasks.rake
|
43
|
+
homepage: http://github.com/moggyboy/anglicize
|
44
|
+
licenses:
|
45
|
+
- MIT
|
46
|
+
metadata: {}
|
47
|
+
post_install_message:
|
48
|
+
rdoc_options: []
|
49
|
+
require_paths:
|
50
|
+
- lib
|
51
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
requirements: []
|
62
|
+
rubyforge_project:
|
63
|
+
rubygems_version: 2.3.0
|
64
|
+
signing_key:
|
65
|
+
specification_version: 4
|
66
|
+
summary: Converts strings from American spelling to English spelling and vice versa.
|
67
|
+
test_files: []
|