genderizr 0.0.4 → 0.0.5

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.
@@ -1 +1 @@
1
- module Genderizr; VERSION = "0.0.4"; end
1
+ module Genderizr; VERSION = "0.0.5"; end
data/lib/genderizr.rb CHANGED
@@ -1,31 +1,38 @@
1
1
  require 'genderizr/version'
2
+ require 'strscan'
3
+
2
4
  module Genderizr
3
5
 
4
6
  extend self
5
7
 
6
- def feminize_string(string)
7
- genderize_string(string, true)
8
+ def feminize(string)
9
+ genderize(string, true)
8
10
  end
9
11
 
10
12
 
11
- def genderize_string(string,turn_feminine)
12
- string.split(/ /).collect do |word|
13
+ def genderize(string,turn_feminine)
14
+ return "" if string.nil?
15
+ result = ""
16
+ s = StringScanner.new(string)
17
+ until s.eos? do
18
+ word = s.scan(/\w+|\W+/)
13
19
  genderized = turn_feminine ? masculine_to_feminine[word] :
14
20
  feminine_to_masculine[word]
15
- genderized || word
16
- end.join(' ')
21
+ result << (genderized.nil? ? word : genderized)
22
+ end
23
+ result
17
24
  end
18
25
 
19
26
 
20
- def masculize_string(string)
21
- genderize_string(string, false)
27
+ def masculize(string)
28
+ genderize(string, false)
22
29
  end
23
30
 
24
31
 
25
32
  module StringMethods
26
- def feminize; Genderizr.feminize_string(self); end
27
- def genderize(turn_feminine); Genderizr.feminize_string(self,turn_feminine); end
28
- def masculize; Genderizr.masculize_string(self); end
33
+ def feminize; Genderizr.feminize(self); end
34
+ def genderize(turn_feminine); Genderizr.genderize(self,turn_feminine); end
35
+ def masculize; Genderizr.masculize(self); end
29
36
  end
30
37
 
31
38
 
@@ -86,5 +93,5 @@ private
86
93
  end
87
94
 
88
95
  if defined?(Rails) && Rails::VERSION::MAJOR >= 3
89
- require 'genderizr/railtie'
96
+ require 'genderizr/rails'
90
97
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: genderizr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,8 +10,24 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
  date: 2012-05-20 00:00:00.000000000 Z
13
- dependencies: []
14
- description: A gem to genderize strings
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ description: Having gender issues in your ruby app? Genderizr to the rescue!
15
31
  email:
16
32
  - dean@newrepublicbrewing.com
17
33
  executables: []
@@ -19,10 +35,9 @@ extensions: []
19
35
  extra_rdoc_files: []
20
36
  files:
21
37
  - README.md
22
- - Rakefile
23
- - lib/genderizr.rb
24
- - lib/genderizr/railtie.rb
38
+ - lib/genderizr/rails.rb
25
39
  - lib/genderizr/version.rb
40
+ - lib/genderizr.rb
26
41
  homepage: https://github.com/brundage/genderizr
27
42
  licenses: []
28
43
  post_install_message:
@@ -43,9 +58,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
43
58
  version: '0'
44
59
  requirements: []
45
60
  rubyforge_project:
46
- rubygems_version: 1.8.10
61
+ rubygems_version: 1.8.24
47
62
  signing_key:
48
63
  specification_version: 3
49
- summary: Genderize text
64
+ summary: A gem to genderize strings
50
65
  test_files: []
51
66
  has_rdoc:
data/Rakefile DELETED
@@ -1,22 +0,0 @@
1
- require 'erb'
2
- require './lib/genderizr/version'
3
-
4
- GEM = "genderizr-#{Genderizr::VERSION}.gem"
5
- GEMSPEC = "genderizr.gemspec"
6
- FILES = `git ls-files`.split(/\n/)
7
-
8
-
9
- task :build => :default
10
- task :default => GEM
11
-
12
- task :deploy => GEM do
13
- system "gem push #{GEM}"
14
- end
15
-
16
- task :install => GEM do
17
- system "gem install #{GEM}"
18
- end
19
-
20
- file GEM => FILES do |task|
21
- system "gem build -V #{GEMSPEC}"
22
- end
File without changes