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.
@@ -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: []