anglicize 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -0,0 +1,3 @@
1
+ module Anglicize
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :anglicize do
3
+ # # Task goes here
4
+ # 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: []