genderizr 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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