ssn 0.3.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -19,4 +19,5 @@ rdoc
19
19
  pkg
20
20
 
21
21
  ## PROJECT::SPECIFIC
22
- .rvmrc
22
+ .rvmrc
23
+ Gemfile.lock
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ --format documentation
3
+ --backtrace
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in ssn.gemspec
4
+ gemspec
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ guard 'rspec', :version => 2, :all_on_start => true, :all_after_pass => true, :cli => '--debugger --color --format doc' do
4
+ watch( %r{^spec/.+_spec\.rb$} )
5
+ watch( %r{^lib/(.+)\.rb$} ) { |m| "spec/#{m[1]}_spec.rb" }
6
+ watch( 'spec/spec_helper.rb' ) { "spec" }
7
+ end
@@ -29,7 +29,7 @@ Encapsulates functionality for storing an unformatted SSN but formatting the SSN
29
29
 
30
30
  Add to environment file:
31
31
 
32
- gem 'ssn', '~>0.1.0'
32
+ gem 'ssn', '~>1.0.0'
33
33
 
34
34
  Run:
35
35
 
@@ -39,7 +39,7 @@ Run:
39
39
 
40
40
  Add to environment file:
41
41
 
42
- config.gem 'ssn', :version => '~>0.1.0', :source => 'http://gemcutter.org'
42
+ config.gem 'ssn', :version => '~>1.0.0', :source => 'http://gemcutter.org'
43
43
 
44
44
  Run:
45
45
 
data/Rakefile CHANGED
@@ -1,45 +1 @@
1
- require 'rubygems'
2
- require 'rake'
3
-
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "ssn"
8
- gem.summary = %Q{Encapsulates functionality for storing an unformatted SSN but formatting the SSN on print.}
9
- gem.description = %Q{Encapsulates functionality for storing an unformatted SSN but formatting the SSN on print.}
10
- gem.email = "jason@lookforwardenterprises.com"
11
- gem.homepage = "http://github.com/midas/ssn"
12
- gem.authors = ["Jason Harrelson"]
13
- gem.add_development_dependency "rspec", ">= 1.2.9"
14
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
15
- end
16
- Jeweler::GemcutterTasks.new
17
- rescue LoadError
18
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
19
- end
20
-
21
- require 'spec/rake/spectask'
22
- Spec::Rake::SpecTask.new(:spec) do |spec|
23
- spec.libs << 'lib' << 'spec'
24
- spec.spec_files = FileList['spec/**/*_spec.rb']
25
- end
26
-
27
- Spec::Rake::SpecTask.new(:rcov) do |spec|
28
- spec.libs << 'lib' << 'spec'
29
- spec.pattern = 'spec/**/*_spec.rb'
30
- spec.rcov = true
31
- end
32
-
33
- task :spec => :check_dependencies
34
-
35
- task :default => :spec
36
-
37
- require 'rake/rdoctask'
38
- Rake::RDocTask.new do |rdoc|
39
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
40
-
41
- rdoc.rdoc_dir = 'rdoc'
42
- rdoc.title = "ssn #{version}"
43
- rdoc.rdoc_files.include('README*')
44
- rdoc.rdoc_files.include('lib/**/*.rb')
45
- end
1
+ require "bundler/gem_tasks"
data/lib/ssn.rb CHANGED
@@ -1,10 +1,12 @@
1
1
  $:.unshift(File.dirname(__FILE__)) unless
2
2
  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
- require 'ssn/active_record_extensions'
4
- require 'ssn/social_security_number'
5
3
 
6
4
  module Ssn
7
- VERSION = '0.2.0'
5
+
6
+ autoload :ActiveRecordExtensions, 'ssn/active_record_extensions'
7
+ autoload :SocialSecurityNumber, 'ssn/social_security_number'
8
+ autoload :Version, 'ssn/version'
9
+
8
10
  end
9
11
 
10
- ActiveRecord::Base.send( :include, Ssn::ActiveRecordExtensions ) if defined?( ActiveRecord::Base )
12
+ ActiveRecord::Base.send( :include, Ssn::ActiveRecordExtensions ) if defined?( ActiveRecord::Base )
@@ -1,10 +1,13 @@
1
1
  module Ssn
2
+
2
3
  module ActiveRecordExtensions
4
+
3
5
  def self.included( base )
4
6
  base.extend ActsMethods
5
7
  end
6
8
 
7
9
  module ActsMethods
10
+
8
11
  def has_ssn( *args )
9
12
  options = args.extract_options!
10
13
 
@@ -21,9 +24,11 @@ module Ssn
21
24
  end
22
25
 
23
26
  alias_method :has_ssns, :has_ssn
27
+
24
28
  end
25
29
 
26
30
  module ClassMethods
31
+
27
32
  def initialize_has_ssn_from_args( args )
28
33
  if args.first.is_a? Symbol
29
34
  initialize_has_ssn_from_string args.first.to_s
@@ -35,23 +40,46 @@ module Ssn
35
40
  raise 'has_ssn can only accept a string, symbol or hash of strings or symbols'
36
41
  end
37
42
  end
43
+ private :initialize_has_ssn_from_args
38
44
 
39
45
  def initialize_has_ssn_from_string( str )
40
46
  define_method str do
41
- return raw_ssn.blank? ? nil : raw_ssn.gsub( Ssn::SocialSecurityNumber::UNFORMATTED_CAPTURE_REGEX, "\\1-\\2-\\3" )
47
+ self.send( "raw_#{str}" ).blank? ?
48
+ nil :
49
+ self.send( "raw_#{str}" ).gsub( Ssn::SocialSecurityNumber::UNFORMATTED_CAPTURE_REGEX, "\\1-\\2-\\3" )
42
50
  end
43
51
 
44
52
  define_method "#{str}=" do |value|
45
- self.raw_ssn = value.gsub( /-/, "" )
53
+ return if ssn_value_considered_blank?( value )
54
+ self.send "raw_#{str}=", value.gsub( /-/, "" )
46
55
  end
47
- end
48
56
 
49
- def initialize_has_ssn_from_hash( args )
57
+ define_method "raw_#{str}=" do |value|
58
+ return if ssn_value_considered_blank?( value )
59
+ super
60
+ end
50
61
  end
62
+ private :initialize_has_ssn_from_string
63
+
51
64
  end
52
65
 
53
66
  module InstanceMethods
54
67
 
68
+ def considered_blank_ssns
69
+ [
70
+ '000000000',
71
+ '000-00-0000'
72
+ ]
73
+ end
74
+ private :considered_blank_ssns
75
+
76
+ def ssn_value_considered_blank?( value )
77
+ considered_blank_ssns.include? value
78
+ end
79
+ private :ssn_value_considered_blank?
80
+
55
81
  end
82
+
56
83
  end
57
- end
84
+
85
+ end
@@ -1,5 +1,7 @@
1
1
  module Ssn
2
+
2
3
  class SocialSecurityNumber
4
+
3
5
  FORMATTED_REGEX = /^[0-9]{3}-?[0-9]{2}-?[0-9]{4}$/
4
6
  UNFORMATTED_REGEX = /^[0-9]{9}$/
5
7
  UNFORMATTED_CAPTURE_REGEX = /^([0-9]{3})([0-9]{2})([0-9]{4})$/
@@ -7,22 +9,29 @@ module Ssn
7
9
  attr_reader :raw
8
10
 
9
11
  def initialize( value=nil )
10
- return if value.nil?
12
+ return if value.nil? || value.empty?
13
+ return if value == '000000000' || value == '000-00-0000'
11
14
  @raw = SocialSecurityNumber.parse( value )
12
15
  end
13
16
 
14
17
  def formatted
15
- return (raw.nil? || raw.empty?) ?
16
- '' :
17
- SocialSecurityNumber.format( raw )
18
+ SocialSecurityNumber.format raw
18
19
  end
19
20
 
20
21
  def self.parse( value )
21
- value.gsub( /-/, "" )
22
+ value.nil? ?
23
+ nil :
24
+ value.gsub( /-/, "" )
22
25
  end
23
26
 
24
27
  def self.format( value )
25
- parse( value ).gsub( UNFORMATTED_CAPTURE_REGEX,"\\1-\\2-\\3" )
28
+ parsed = parse( value )
29
+
30
+ parsed.nil? ?
31
+ nil :
32
+ parsed.gsub( UNFORMATTED_CAPTURE_REGEX,"\\1-\\2-\\3" )
26
33
  end
34
+
27
35
  end
28
- end
36
+
37
+ end
@@ -0,0 +1,3 @@
1
+ module Ssn
2
+ VERSION = "1.0.0"
3
+ end
@@ -1,12 +1,16 @@
1
1
  $LOAD_PATH.unshift(File.dirname(__FILE__))
2
2
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
+
3
4
  require 'rubygems'
4
5
  require 'active_record'
6
+ require 'rails'
7
+ require 'bundler/setup'
8
+
5
9
  require 'ssn'
6
- require 'spec'
7
- require 'spec/autorun'
8
10
 
9
- Spec::Runner.configure do |config|
11
+ RSpec.configure do |config|
12
+
13
+ config.mock_with :rspec
10
14
 
11
15
  end
12
16
 
@@ -1,58 +1,65 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe "Ssn::SocialSecurityNumber" do
4
- before :each do
5
- @klass = Ssn::SocialSecurityNumber
6
- @instance = @klass.new
7
- end
3
+ describe Ssn::SocialSecurityNumber do
8
4
 
9
5
  it "should agree that the UNFORMATTED_REGEX is /^[0-9]{9}$/" do
10
- @klass::UNFORMATTED_REGEX.should == /^[0-9]{9}$/
6
+ described_class::UNFORMATTED_REGEX.should == /^[0-9]{9}$/
11
7
  end
12
8
 
13
9
  it "should agree that the FORMATTED_REGEX is /^[0-9]{3}-?[0-9]{2}-?[0-9]{4}$/" do
14
- @klass::FORMATTED_REGEX.should == /^[0-9]{3}-?[0-9]{2}-?[0-9]{4}$/
10
+ described_class::FORMATTED_REGEX.should == /^[0-9]{3}-?[0-9]{2}-?[0-9]{4}$/
15
11
  end
16
12
 
17
13
  it "should agree that the UNFORMATTED_CAPTURE_REGEX is /^([0-9]{3})([0-9]{2})([0-9]{4})$/" do
18
- @klass::UNFORMATTED_CAPTURE_REGEX.should == /^([0-9]{3})([0-9]{2})([0-9]{4})$/
14
+ described_class::UNFORMATTED_CAPTURE_REGEX.should == /^([0-9]{3})([0-9]{2})([0-9]{4})$/
19
15
  end
20
16
 
21
17
  it "should initialize when given an unformatted SSN" do
22
- @klass.new( '123456789' ).raw.should == '123456789'
18
+ described_class.new( '123456789' ).raw.should == '123456789'
23
19
  end
24
20
 
25
21
  it "should initialize when given an unformatted SSN" do
26
- @klass.new( '123-45-6789' ).raw.should == '123456789'
22
+ described_class.new( '123-45-6789' ).raw.should == '123456789'
23
+ end
24
+
25
+ it "should initialize the SSN to empty when given 000000000" do
26
+ described_class.new( '000000000' ).raw.should be_nil
27
+ end
28
+
29
+ it "should initialize the SSN to empty when given 000-00-0000" do
30
+ described_class.new( '000-00-0000' ).raw.should be_nil
27
31
  end
28
32
 
29
33
  it "should return a formatted SSN" do
30
- @klass.new( '123456789' ).formatted.should == '123-45-6789'
34
+ described_class.new( '123456789' ).formatted.should == '123-45-6789'
31
35
  end
32
36
 
33
37
  it "should return a '' when a the SSN is blank" do
34
- @klass.new( '' ).formatted.should == ''
38
+ described_class.new( '' ).formatted.should be_nil
35
39
  end
36
40
 
37
41
  it "should return a '' when a the SSN is nil" do
38
- @klass.new.formatted.should == ''
42
+ described_class.new.formatted.should be_nil
39
43
  end
40
44
 
41
45
  context "well formed SSNs" do
46
+
42
47
  it "should parse an SSN without formatting" do
43
- @klass.parse( '123456789' ).should == '123456789'
48
+ described_class.parse( '123456789' ).should == '123456789'
44
49
  end
45
50
 
46
51
  it "should parse an SSN with formatting" do
47
- @klass.parse( '123-45-6789' ).should == '123456789'
52
+ described_class.parse( '123-45-6789' ).should == '123456789'
48
53
  end
49
54
 
50
55
  it "should format an SSN without formatting" do
51
- @klass.format( '123456789' ).should == '123-45-6789'
56
+ described_class.format( '123456789' ).should == '123-45-6789'
52
57
  end
53
58
 
54
59
  it "should format an SSN with formatting" do
55
- @klass.format( '123-45-6789' ).should == '123-45-6789'
60
+ described_class.format( '123-45-6789' ).should == '123-45-6789'
56
61
  end
62
+
57
63
  end
58
- end
64
+
65
+ end
@@ -1,7 +1,14 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe "Ssn" do
3
+ describe Ssn do
4
+
5
+ let :user do
6
+ User.new :name => 'John Smith',
7
+ :raw_ssn => '123456789'
8
+ end
9
+
4
10
  describe "having ActiveRecord extensions" do
11
+
5
12
  it "should respond to has_ssn" do
6
13
  ActiveRecord::Base.respond_to?( :has_ssn ).should be_true
7
14
  end
@@ -9,66 +16,116 @@ describe "Ssn" do
9
16
  it "should respond to has_ssns" do
10
17
  ActiveRecord::Base.respond_to?( :has_ssns ).should be_true
11
18
  end
19
+
12
20
  end
13
21
 
14
22
  describe "when a user provides a symbol to the has_ssn method" do
15
- before :each do
16
- @user = User.new :name => 'John Smith', :raw_ssn => '123456789'
17
- end
18
23
 
19
24
  it "should respond to a getter method with the correct name" do
20
- @user.respond_to?( :ssn ).should be_true
25
+ user.respond_to?( :ssn ).should be_true
21
26
  end
22
27
 
23
28
  it "should respond to a setter method with the correct name" do
24
- @user.respond_to?( :ssn= ).should be_true
29
+ user.respond_to?( :ssn= ).should be_true
25
30
  end
26
31
 
27
32
  it "should add a length validation on the raw ssn field" do
28
- @user.raw_ssn = '1234567890'
29
- @user.save.should be_false
33
+ user.raw_ssn = '1234567890'
34
+ user.save.should be_false
30
35
  end
31
36
 
32
37
  it "should not allow any formatting in the raw ssn field" do
33
- @user.raw_ssn = '1-3456789'
34
- @user.save.should be_false
38
+ user.raw_ssn = '1-3456789'
39
+ user.save.should be_false
35
40
  end
36
41
 
37
42
  it "should not allow a mal-formed social security number" do
38
- @user.ssn = '1-3456789'
39
- @user.save.should be_false
43
+ user.ssn = '1-3456789'
44
+ user.save.should be_false
40
45
  end
46
+
41
47
  end
42
48
 
43
49
  describe "in general" do
44
- before :each do
45
- @user = User.new :name => 'John Smith', :raw_ssn => '123456789'
46
- end
47
50
 
48
51
  it "should return nil if the raw ssn is nil" do
49
- @user.raw_ssn = nil
50
- @user.save!
51
- @user.ssn.should be_nil
52
+ user.raw_ssn = nil
53
+ user.save!
54
+ user.ssn.should be_nil
52
55
  end
53
56
 
54
57
  it "should return nil if the raw ssn is ''" do
55
- @user.raw_ssn = ''
56
- @user.save!
57
- @user.ssn.should be_nil
58
+ user.raw_ssn = ''
59
+ user.save!
60
+ user.ssn.should be_nil
58
61
  end
59
62
 
60
63
  it "should return a formatted social security number" do
61
- @user.ssn.should == '123-45-6789'
64
+ user.ssn.should == '123-45-6789'
62
65
  end
63
66
 
64
67
  it "should set ssn" do
65
- @user.ssn = '234-56-7890'
66
- @user.ssn.should == '234-56-7890'
68
+ user.ssn = '234-56-7890'
69
+ user.ssn.should == '234-56-7890'
67
70
  end
68
71
 
69
72
  it "should strip formatting from a social security number" do
70
- @user.ssn = '234-56-7890'
71
- @user.raw_ssn.should == '234567890'
73
+ user.ssn = '234-56-7890'
74
+ user.raw_ssn.should == '234567890'
75
+ end
76
+
77
+ end
78
+
79
+ context 'when the ssn is set to 000000000' do
80
+
81
+ let :user do
82
+ User.new :name => 'John Smith',
83
+ :ssn => '000000000'
84
+ end
85
+
86
+ it "should agree that the ssn is nil" do
87
+ user.ssn.should be_nil
88
+ end
89
+
90
+ end
91
+
92
+ context 'when the ssn is set to 000-00-0000' do
93
+
94
+ let :user do
95
+ User.new :name => 'John Smith',
96
+ :ssn => '000-00-0000'
97
+ end
98
+
99
+ it "should agree that the ssn is nil" do
100
+ user.ssn.should be_nil
72
101
  end
102
+
73
103
  end
104
+
105
+ context 'when the raw_ssn is set to 000000000' do
106
+
107
+ let :user do
108
+ User.new :name => 'John Smith',
109
+ :raw_ssn => '000000000'
110
+ end
111
+
112
+ it "should agree that the raw_ssn is nil" do
113
+ user.raw_ssn.should be_nil
114
+ end
115
+
116
+ end
117
+
118
+ context 'when the ssn is set to 000-00-0000' do
119
+
120
+ let :user do
121
+ User.new :name => 'John Smith',
122
+ :raw_ssn => '000-00-0000'
123
+ end
124
+
125
+ it "should agree that the raw_ssn is nil" do
126
+ user.raw_ssn.should be_nil
127
+ end
128
+
129
+ end
130
+
74
131
  end
@@ -1,63 +1,32 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "ssn/version"
5
4
 
6
5
  Gem::Specification.new do |s|
7
- s.name = %q{ssn}
8
- s.version = "0.3.0"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Jason Harrelson"]
12
- s.date = %q{2010-11-10}
6
+ s.name = "ssn"
7
+ s.version = Ssn::VERSION
8
+ s.authors = ["C. Jason Harrelson (midas)"]
9
+ s.email = ["jason@lookforwardenterprises.com"]
10
+ s.homepage = "https://github.com/midas/ssn"
11
+ s.summary = %q{Easily use SSNs in your app.}
13
12
  s.description = %q{Encapsulates functionality for storing an unformatted SSN but formatting the SSN on print.}
14
- s.email = %q{jason@lookforwardenterprises.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.rdoc",
24
- "Rakefile",
25
- "VERSION",
26
- "lib/ssn.rb",
27
- "lib/ssn/active_record_extensions.rb",
28
- "lib/ssn/social_security_number.rb",
29
- "script/console",
30
- "script/environment.rb",
31
- "script/seed.rb",
32
- "spec/database.yml",
33
- "spec/spec.opts",
34
- "spec/spec_helper.rb",
35
- "spec/ssn/social_security_number_spec.rb",
36
- "spec/ssn_spec.rb",
37
- "ssn.gemspec"
38
- ]
39
- s.homepage = %q{http://github.com/midas/ssn}
40
- s.rdoc_options = ["--charset=UTF-8"]
13
+
14
+ s.rubyforge_project = "ssn"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
41
19
  s.require_paths = ["lib"]
42
- s.rubygems_version = %q{1.3.7}
43
- s.summary = %q{Encapsulates functionality for storing an unformatted SSN but formatting the SSN on print.}
44
- s.test_files = [
45
- "spec/spec_helper.rb",
46
- "spec/ssn/social_security_number_spec.rb",
47
- "spec/ssn_spec.rb"
48
- ]
49
20
 
50
- if s.respond_to? :specification_version then
51
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
52
- s.specification_version = 3
21
+ # specify any dependencies here; for example:
22
+ s.add_development_dependency "rspec"
23
+ s.add_development_dependency "rails", "3.1.0"
24
+ s.add_development_dependency "sqlite3"
25
+ s.add_development_dependency "guard"
26
+ s.add_development_dependency 'rb-fsevent'
27
+ s.add_development_dependency 'growl'
28
+ s.add_development_dependency 'guard-rspec'
29
+ s.add_development_dependency 'ruby-debug'
53
30
 
54
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
55
- s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
56
- else
57
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
58
- end
59
- else
60
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
61
- end
31
+ s.add_runtime_dependency "rails"
62
32
  end
63
-
metadata CHANGED
@@ -1,22 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ssn
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
5
- prerelease: false
4
+ hash: 23
5
+ prerelease:
6
6
  segments:
7
+ - 1
7
8
  - 0
8
- - 3
9
9
  - 0
10
- version: 0.3.0
10
+ version: 1.0.0
11
11
  platform: ruby
12
12
  authors:
13
- - Jason Harrelson
13
+ - C. Jason Harrelson (midas)
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-11-10 00:00:00 -06:00
19
- default_executable:
18
+ date: 2012-02-11 00:00:00 Z
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
21
  name: rspec
@@ -26,33 +25,148 @@ dependencies:
26
25
  requirements:
27
26
  - - ">="
28
27
  - !ruby/object:Gem::Version
29
- hash: 13
28
+ hash: 3
30
29
  segments:
31
- - 1
32
- - 2
33
- - 9
34
- version: 1.2.9
30
+ - 0
31
+ version: "0"
35
32
  type: :development
36
33
  version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: rails
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - "="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 3
45
+ - 1
46
+ - 0
47
+ version: 3.1.0
48
+ type: :development
49
+ version_requirements: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ name: sqlite3
52
+ prerelease: false
53
+ requirement: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 3
59
+ segments:
60
+ - 0
61
+ version: "0"
62
+ type: :development
63
+ version_requirements: *id003
64
+ - !ruby/object:Gem::Dependency
65
+ name: guard
66
+ prerelease: false
67
+ requirement: &id004 !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ hash: 3
73
+ segments:
74
+ - 0
75
+ version: "0"
76
+ type: :development
77
+ version_requirements: *id004
78
+ - !ruby/object:Gem::Dependency
79
+ name: rb-fsevent
80
+ prerelease: false
81
+ requirement: &id005 !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ hash: 3
87
+ segments:
88
+ - 0
89
+ version: "0"
90
+ type: :development
91
+ version_requirements: *id005
92
+ - !ruby/object:Gem::Dependency
93
+ name: growl
94
+ prerelease: false
95
+ requirement: &id006 !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ hash: 3
101
+ segments:
102
+ - 0
103
+ version: "0"
104
+ type: :development
105
+ version_requirements: *id006
106
+ - !ruby/object:Gem::Dependency
107
+ name: guard-rspec
108
+ prerelease: false
109
+ requirement: &id007 !ruby/object:Gem::Requirement
110
+ none: false
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ hash: 3
115
+ segments:
116
+ - 0
117
+ version: "0"
118
+ type: :development
119
+ version_requirements: *id007
120
+ - !ruby/object:Gem::Dependency
121
+ name: ruby-debug
122
+ prerelease: false
123
+ requirement: &id008 !ruby/object:Gem::Requirement
124
+ none: false
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ hash: 3
129
+ segments:
130
+ - 0
131
+ version: "0"
132
+ type: :development
133
+ version_requirements: *id008
134
+ - !ruby/object:Gem::Dependency
135
+ name: rails
136
+ prerelease: false
137
+ requirement: &id009 !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ hash: 3
143
+ segments:
144
+ - 0
145
+ version: "0"
146
+ type: :runtime
147
+ version_requirements: *id009
37
148
  description: Encapsulates functionality for storing an unformatted SSN but formatting the SSN on print.
38
- email: jason@lookforwardenterprises.com
149
+ email:
150
+ - jason@lookforwardenterprises.com
39
151
  executables: []
40
152
 
41
153
  extensions: []
42
154
 
43
- extra_rdoc_files:
44
- - LICENSE
45
- - README.rdoc
155
+ extra_rdoc_files: []
156
+
46
157
  files:
47
158
  - .document
48
159
  - .gitignore
160
+ - .rspec
161
+ - Gemfile
162
+ - Guardfile
49
163
  - LICENSE
50
164
  - README.rdoc
51
165
  - Rakefile
52
- - VERSION
53
166
  - lib/ssn.rb
54
167
  - lib/ssn/active_record_extensions.rb
55
168
  - lib/ssn/social_security_number.rb
169
+ - lib/ssn/version.rb
56
170
  - script/console
57
171
  - script/environment.rb
58
172
  - script/seed.rb
@@ -62,13 +176,12 @@ files:
62
176
  - spec/ssn/social_security_number_spec.rb
63
177
  - spec/ssn_spec.rb
64
178
  - ssn.gemspec
65
- has_rdoc: true
66
- homepage: http://github.com/midas/ssn
179
+ homepage: https://github.com/midas/ssn
67
180
  licenses: []
68
181
 
69
182
  post_install_message:
70
- rdoc_options:
71
- - --charset=UTF-8
183
+ rdoc_options: []
184
+
72
185
  require_paths:
73
186
  - lib
74
187
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -91,12 +204,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
204
  version: "0"
92
205
  requirements: []
93
206
 
94
- rubyforge_project:
95
- rubygems_version: 1.3.7
207
+ rubyforge_project: ssn
208
+ rubygems_version: 1.8.10
96
209
  signing_key:
97
210
  specification_version: 3
98
- summary: Encapsulates functionality for storing an unformatted SSN but formatting the SSN on print.
211
+ summary: Easily use SSNs in your app.
99
212
  test_files:
213
+ - spec/database.yml
214
+ - spec/spec.opts
100
215
  - spec/spec_helper.rb
101
216
  - spec/ssn/social_security_number_spec.rb
102
217
  - spec/ssn_spec.rb
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.3.0