coercionlogic 1.0.0 → 1.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.
- checksums.yaml +7 -0
- data/README.rdoc +4 -1
- data/Rakefile +4 -37
- data/lib/coercionlogic.rb +1 -1
- data/spec/coercionlogic_spec.rb +7 -0
- data/spec/spec_helper.rb +13 -1
- metadata +78 -52
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 2debf064f6f92e1d7c3fd4b1eb96849c96008a96
|
4
|
+
data.tar.gz: 7ebc67978fa6efd003502051ce5e55b79ccd9eea
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e1d0c4cb8894ee68ec3711c49df4b9d9b843fc4b411331dc40ed7cea06a7c8aa57a604f0b57f587d67195851007ee0f7c43217e9c2c44e6d8965ce3f5dfdbf5a
|
7
|
+
data.tar.gz: 141a40a97c997f7e76e3a1918458a9cf94c076f235d4666e37d88008b5101da85e4286d5848a61e6b12f812e3b60e4c23bef54f56f8707dd27019d1f32a41839
|
data/README.rdoc
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
= Coercionlogic
|
2
2
|
|
3
|
-
Extremely simple module to coerce blank strings into nil objects for ActiveRecord.
|
3
|
+
Extremely simple module to coerce blank strings into nil objects for ActiveRecord to create consistency in your database data. It keeps you from having to write query conditions like:
|
4
4
|
|
5
|
+
name = '' OR name IS NULL
|
6
|
+
|
7
|
+
This library is part of my attempt to start pulling out common code in my applications and sharing them via gems.
|
5
8
|
|
6
9
|
Copyright (c) 2008 {Ben Johnson of Binary Logic}[http://www.binarylogic.com], released under the MIT license
|
data/Rakefile
CHANGED
@@ -1,25 +1,8 @@
|
|
1
|
-
|
2
|
-
require
|
3
|
-
|
4
|
-
begin
|
5
|
-
require 'jeweler'
|
6
|
-
Jeweler::Tasks.new do |gem|
|
7
|
-
gem.name = "coercionlogic"
|
8
|
-
gem.summary = "Coerce blank strings into nil objects for ActiveRecord"
|
9
|
-
gem.description = "Coerce blank strings into nil objects for ActiveRecord"
|
10
|
-
gem.email = "bjohnson@binarylogic.com"
|
11
|
-
gem.homepage = "http://github.com/binarylogic/coercionlogic"
|
12
|
-
gem.authors = ["binarylogic"]
|
13
|
-
gem.rubyforge_project = "coercionlogic"
|
14
|
-
gem.add_dependency "activerecord"
|
15
|
-
gem.add_development_dependency "rspec"
|
16
|
-
end
|
17
|
-
Jeweler::RubyforgeTasks.new
|
18
|
-
rescue LoadError
|
19
|
-
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
20
|
-
end
|
21
|
-
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
require "bundler/gem_tasks"
|
3
|
+
Bundler.setup
|
22
4
|
require 'spec/rake/spectask'
|
5
|
+
|
23
6
|
Spec::Rake::SpecTask.new(:spec) do |spec|
|
24
7
|
spec.libs << 'lib' << 'spec'
|
25
8
|
spec.spec_files = FileList['spec/**/*_spec.rb']
|
@@ -31,20 +14,4 @@ Spec::Rake::SpecTask.new(:rcov) do |spec|
|
|
31
14
|
spec.rcov = true
|
32
15
|
end
|
33
16
|
|
34
|
-
task :spec => :check_dependencies
|
35
|
-
|
36
17
|
task :default => :spec
|
37
|
-
|
38
|
-
require 'rake/rdoctask'
|
39
|
-
Rake::RDocTask.new do |rdoc|
|
40
|
-
if File.exist?('VERSION')
|
41
|
-
version = File.read('VERSION')
|
42
|
-
else
|
43
|
-
version = ""
|
44
|
-
end
|
45
|
-
|
46
|
-
rdoc.rdoc_dir = 'rdoc'
|
47
|
-
rdoc.title = "coercionlogic #{version}"
|
48
|
-
rdoc.rdoc_files.include('README*')
|
49
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
50
|
-
end
|
data/lib/coercionlogic.rb
CHANGED
data/spec/coercionlogic_spec.rb
CHANGED
@@ -8,4 +8,11 @@ describe "Coercionlogic" do
|
|
8
8
|
user.reload
|
9
9
|
user.name.should be_nil
|
10
10
|
end
|
11
|
+
|
12
|
+
it "should work when creating off of associations" do
|
13
|
+
company = Company.create
|
14
|
+
user = company.users.create(:name => "")
|
15
|
+
user.reload
|
16
|
+
user.name.should be_nil
|
17
|
+
end
|
11
18
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -5,19 +5,31 @@ require 'spec/autorun'
|
|
5
5
|
require 'rubygems'
|
6
6
|
require 'coercionlogic'
|
7
7
|
|
8
|
-
ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :
|
8
|
+
ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
|
9
9
|
ActiveRecord::Base.configurations = true
|
10
10
|
|
11
11
|
ActiveRecord::Schema.verbose = false
|
12
12
|
ActiveRecord::Schema.define(:version => 1) do
|
13
|
+
create_table :companies do |t|
|
14
|
+
t.datetime :created_at
|
15
|
+
t.datetime :updated_at
|
16
|
+
t.string :name
|
17
|
+
end
|
18
|
+
|
13
19
|
create_table :users do |t|
|
14
20
|
t.datetime :created_at
|
15
21
|
t.datetime :updated_at
|
22
|
+
t.integer :company_id
|
16
23
|
t.string :name
|
17
24
|
end
|
18
25
|
end
|
19
26
|
|
27
|
+
class Company < ActiveRecord::Base
|
28
|
+
has_many :users
|
29
|
+
end
|
30
|
+
|
20
31
|
class User < ActiveRecord::Base
|
32
|
+
belongs_to :company
|
21
33
|
end
|
22
34
|
|
23
35
|
Spec::Runner.configure do |config|
|
metadata
CHANGED
@@ -1,83 +1,109 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: coercionlogic
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
7
|
-
-
|
6
|
+
authors:
|
7
|
+
- Ben Johnson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2014-02-20 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
16
14
|
name: activerecord
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
17
20
|
type: :runtime
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
20
|
-
requirements:
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
21
38
|
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version:
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
26
42
|
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.3.1
|
27
48
|
type: :development
|
28
|
-
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.3.1
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: sqlite3
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
31
59
|
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version:
|
34
|
-
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
35
69
|
description: Coerce blank strings into nil objects for ActiveRecord
|
36
|
-
email:
|
70
|
+
email:
|
71
|
+
- bjohnson@binarylogic.com
|
37
72
|
executables: []
|
38
|
-
|
39
73
|
extensions: []
|
40
|
-
|
41
|
-
|
42
|
-
-
|
43
|
-
-
|
44
|
-
files:
|
45
|
-
- .document
|
46
|
-
- .gitignore
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- ".document"
|
77
|
+
- ".gitignore"
|
47
78
|
- LICENSE
|
48
79
|
- README.rdoc
|
49
80
|
- Rakefile
|
50
81
|
- lib/coercionlogic.rb
|
51
82
|
- spec/coercionlogic_spec.rb
|
52
83
|
- spec/spec_helper.rb
|
53
|
-
has_rdoc: true
|
54
84
|
homepage: http://github.com/binarylogic/coercionlogic
|
55
85
|
licenses: []
|
56
|
-
|
86
|
+
metadata: {}
|
57
87
|
post_install_message:
|
58
|
-
rdoc_options:
|
59
|
-
|
60
|
-
require_paths:
|
88
|
+
rdoc_options: []
|
89
|
+
require_paths:
|
61
90
|
- lib
|
62
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
63
|
-
requirements:
|
91
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
64
93
|
- - ">="
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version:
|
67
|
-
|
68
|
-
|
69
|
-
requirements:
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
70
98
|
- - ">="
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
version:
|
73
|
-
version:
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '0'
|
74
101
|
requirements: []
|
75
|
-
|
76
|
-
|
77
|
-
rubygems_version: 1.3.5
|
102
|
+
rubyforge_project:
|
103
|
+
rubygems_version: 2.2.0
|
78
104
|
signing_key:
|
79
|
-
specification_version:
|
105
|
+
specification_version: 4
|
80
106
|
summary: Coerce blank strings into nil objects for ActiveRecord
|
81
|
-
test_files:
|
107
|
+
test_files:
|
82
108
|
- spec/coercionlogic_spec.rb
|
83
109
|
- spec/spec_helper.rb
|