safe_attributes 1.0.7 → 1.0.8

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.
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm --create use ruby-1.9.3-p0@safe_attributes
data/Gemfile CHANGED
@@ -4,17 +4,24 @@ source "http://rubygems.org"
4
4
  if ENV.has_key?('SA_WITH_3_0')
5
5
  gem 'activesupport', '~> 3.0.0'
6
6
  gem 'activerecord', '~> 3.0.0'
7
+ elsif ENV.has_key?('SA_WITH_3_1')
8
+ gem 'activesupport', '~> 3.1.0'
9
+ gem 'activerecord', '~> 3.1.0'
7
10
  else
8
11
  gem 'activesupport', '>= 3.0.0'
9
12
  gem 'activerecord', '>= 3.0.0'
10
13
  end
11
14
 
15
+ platform :mri do
16
+ gem 'simplecov', :require => false, :group => :test
17
+ end
18
+
12
19
  group :development do
13
20
  gem 'jeweler', '>= 1.5.2'
14
21
  gem 'rake', '>= 0.8.7'
15
22
  gem 'rdoc'
16
23
  gem 'rspec', '>= 2.3.0'
17
- gem 'rcov'
24
+
18
25
  platform :ruby do
19
26
  gem 'sqlite3', '>= 1.3.4'
20
27
  end
@@ -22,4 +29,8 @@ group :development do
22
29
  gem 'activerecord-jdbcsqlite3-adapter'
23
30
  gem 'jruby-openssl'
24
31
  end
32
+ # For debugging under ruby 1.9 special gems are needed
33
+ # gem 'ruby-debug19', :platform => :mri
34
+ # gem 'ruby-debug-base19', '>=0.11.26'
35
+ # gem 'linecache19', '>=0.5.13'
25
36
  end
data/NEWS.rdoc CHANGED
@@ -1,3 +1,13 @@
1
+ = Version 1.0.8
2
+
3
+ * Tested against Rails 3.2
4
+ * No longer uses InstanceMethods, avoids deprecation warning under Rails 3.2
5
+ * Updated README noting column named 'attribute' will never work
6
+
7
+ = Version 1.0.7
8
+
9
+ * Resolved validation issue when using Devise
10
+
1
11
  = Version 1.0.6
2
12
 
3
13
  * Updated gemspec after verifying gem works with ActiveRecord 3.1.
@@ -95,6 +95,14 @@ not to generate.
95
95
  include SafeAttributes
96
96
  end
97
97
 
98
+ == Caveats
99
+
100
+ It is virtually impossible to have a column named 'attribute' in your
101
+ schema when using ActiveRecord. After spending some time trying to
102
+ make it work I've come to the conclusion the only way to support this
103
+ will be to change the tactic I'm using entirely, and likely to
104
+ get the developers of ActiveRecord to agree to a patch.
105
+
98
106
  == Note on Patches/Pull Requests
99
107
 
100
108
  * Fork the project.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.7
1
+ 1.0.8
@@ -52,13 +52,11 @@ module SafeAttributes
52
52
  end
53
53
  end
54
54
 
55
- module InstanceMethods
56
- def read_attribute_for_validation(attr)
57
- if (self.attributes.include?(attr.to_s))
58
- self[attr.to_sym]
59
- else
60
- self.send(attr.to_s) if (self.respond_to?(attr.to_sym))
61
- end
55
+ def read_attribute_for_validation(attr)
56
+ if (self.attributes.include?(attr.to_s))
57
+ self[attr.to_sym]
58
+ else
59
+ self.send(attr.to_s) if (self.respond_to?(attr.to_sym))
62
60
  end
63
61
  end
64
62
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "safe_attributes"
8
- s.version = "1.0.7"
8
+ s.version = "1.0.8"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Brian Jones"]
12
- s.date = "2011-11-18"
12
+ s.date = "2012-02-04"
13
13
  s.description = "Better support for legacy database schemas for ActiveRecord, such as columns named class, or any other name that conflicts with an instance method of ActiveRecord."
14
14
  s.email = "cbj@gnu.org"
15
15
  s.extra_rdoc_files = [
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.files = [
20
20
  ".document",
21
21
  ".rspec",
22
+ ".rvmrc",
22
23
  "Gemfile",
23
24
  "LICENSE",
24
25
  "NEWS.rdoc",
@@ -34,7 +35,7 @@ Gem::Specification.new do |s|
34
35
  s.homepage = "http://github.com/bjones/safe_attributes"
35
36
  s.licenses = ["MIT"]
36
37
  s.require_paths = ["lib"]
37
- s.rubygems_version = "1.8.11"
38
+ s.rubygems_version = "1.8.10"
38
39
  s.summary = "Useful for legacy database support, adds support for reserved word column names with ActiveRecord"
39
40
 
40
41
  if s.respond_to? :specification_version then
@@ -47,7 +48,6 @@ Gem::Specification.new do |s|
47
48
  s.add_development_dependency(%q<rake>, [">= 0.8.7"])
48
49
  s.add_development_dependency(%q<rdoc>, [">= 0"])
49
50
  s.add_development_dependency(%q<rspec>, [">= 2.3.0"])
50
- s.add_development_dependency(%q<rcov>, [">= 0"])
51
51
  s.add_development_dependency(%q<sqlite3>, [">= 1.3.4"])
52
52
  s.add_development_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 0"])
53
53
  s.add_development_dependency(%q<jruby-openssl>, [">= 0"])
@@ -58,7 +58,6 @@ Gem::Specification.new do |s|
58
58
  s.add_dependency(%q<rake>, [">= 0.8.7"])
59
59
  s.add_dependency(%q<rdoc>, [">= 0"])
60
60
  s.add_dependency(%q<rspec>, [">= 2.3.0"])
61
- s.add_dependency(%q<rcov>, [">= 0"])
62
61
  s.add_dependency(%q<sqlite3>, [">= 1.3.4"])
63
62
  s.add_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 0"])
64
63
  s.add_dependency(%q<jruby-openssl>, [">= 0"])
@@ -70,7 +69,6 @@ Gem::Specification.new do |s|
70
69
  s.add_dependency(%q<rake>, [">= 0.8.7"])
71
70
  s.add_dependency(%q<rdoc>, [">= 0"])
72
71
  s.add_dependency(%q<rspec>, [">= 2.3.0"])
73
- s.add_dependency(%q<rcov>, [">= 0"])
74
72
  s.add_dependency(%q<sqlite3>, [">= 1.3.4"])
75
73
  s.add_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 0"])
76
74
  s.add_dependency(%q<jruby-openssl>, [">= 0"])
@@ -12,7 +12,6 @@ ActiveRecord::Base.connection.create_table(:my_models) do |t|
12
12
  t.string :errors
13
13
  # support hyphenated column names
14
14
  t.string :"comment-frequency"
15
- t.string :attribute
16
15
  end
17
16
 
18
17
  class MyModel < ActiveRecord::Base
@@ -92,16 +91,6 @@ describe "models" do
92
91
  (@model.methods.include?('id') || @model.methods.include?(:id)).should be_true
93
92
  end
94
93
 
95
- it "does not defined attribute()" do
96
- @model.respond_to?(:attribute) # to force method generation
97
- (@model.methods.include?('attribute') || @model.methods.include?(:attribute)).should be_false
98
- end
99
-
100
- it "does not defined attribute=()" do
101
- @model.respond_to?(:attribute=) # to force method generation
102
- (@model.methods.include?('attribute=') || @model.methods.include?(:attribute=)).should be_false
103
- end
104
-
105
94
  it "can create instance in database with special attribute name" do
106
95
  m = MyModel.create!(:class => 'Foo')
107
96
  m = MyModel.find(m.id)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: safe_attributes
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-18 00:00:00.000000000 Z
12
+ date: 2012-02-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &70339699350360 !ruby/object:Gem::Requirement
16
+ requirement: &70237043376580 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.0.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70339699350360
24
+ version_requirements: *70237043376580
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activerecord
27
- requirement: &70339699349880 !ruby/object:Gem::Requirement
27
+ requirement: &70237043374880 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 3.0.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70339699349880
35
+ version_requirements: *70237043374880
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: jeweler
38
- requirement: &70339699349380 !ruby/object:Gem::Requirement
38
+ requirement: &70237043374180 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.5.2
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70339699349380
46
+ version_requirements: *70237043374180
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
- requirement: &70339699348900 !ruby/object:Gem::Requirement
49
+ requirement: &70237043373200 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 0.8.7
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70339699348900
57
+ version_requirements: *70237043373200
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rdoc
60
- requirement: &70339699364800 !ruby/object:Gem::Requirement
60
+ requirement: &70237043403360 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70339699364800
68
+ version_requirements: *70237043403360
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
- requirement: &70339699364320 !ruby/object:Gem::Requirement
71
+ requirement: &70237043400620 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,21 +76,10 @@ dependencies:
76
76
  version: 2.3.0
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70339699364320
80
- - !ruby/object:Gem::Dependency
81
- name: rcov
82
- requirement: &70339699363840 !ruby/object:Gem::Requirement
83
- none: false
84
- requirements:
85
- - - ! '>='
86
- - !ruby/object:Gem::Version
87
- version: '0'
88
- type: :development
89
- prerelease: false
90
- version_requirements: *70339699363840
79
+ version_requirements: *70237043400620
91
80
  - !ruby/object:Gem::Dependency
92
81
  name: sqlite3
93
- requirement: &70339699363360 !ruby/object:Gem::Requirement
82
+ requirement: &70237043398180 !ruby/object:Gem::Requirement
94
83
  none: false
95
84
  requirements:
96
85
  - - ! '>='
@@ -98,10 +87,10 @@ dependencies:
98
87
  version: 1.3.4
99
88
  type: :development
100
89
  prerelease: false
101
- version_requirements: *70339699363360
90
+ version_requirements: *70237043398180
102
91
  - !ruby/object:Gem::Dependency
103
92
  name: activerecord-jdbcsqlite3-adapter
104
- requirement: &70339699362880 !ruby/object:Gem::Requirement
93
+ requirement: &70237043431700 !ruby/object:Gem::Requirement
105
94
  none: false
106
95
  requirements:
107
96
  - - ! '>='
@@ -109,10 +98,10 @@ dependencies:
109
98
  version: '0'
110
99
  type: :development
111
100
  prerelease: false
112
- version_requirements: *70339699362880
101
+ version_requirements: *70237043431700
113
102
  - !ruby/object:Gem::Dependency
114
103
  name: jruby-openssl
115
- requirement: &70339699362360 !ruby/object:Gem::Requirement
104
+ requirement: &70237043427660 !ruby/object:Gem::Requirement
116
105
  none: false
117
106
  requirements:
118
107
  - - ! '>='
@@ -120,7 +109,7 @@ dependencies:
120
109
  version: '0'
121
110
  type: :development
122
111
  prerelease: false
123
- version_requirements: *70339699362360
112
+ version_requirements: *70237043427660
124
113
  description: Better support for legacy database schemas for ActiveRecord, such as
125
114
  columns named class, or any other name that conflicts with an instance method of
126
115
  ActiveRecord.
@@ -133,6 +122,7 @@ extra_rdoc_files:
133
122
  files:
134
123
  - .document
135
124
  - .rspec
125
+ - .rvmrc
136
126
  - Gemfile
137
127
  - LICENSE
138
128
  - NEWS.rdoc
@@ -159,7 +149,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
159
149
  version: '0'
160
150
  segments:
161
151
  - 0
162
- hash: -2431963502241220399
152
+ hash: 2760352587887080071
163
153
  required_rubygems_version: !ruby/object:Gem::Requirement
164
154
  none: false
165
155
  requirements:
@@ -168,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
158
  version: '0'
169
159
  requirements: []
170
160
  rubyforge_project:
171
- rubygems_version: 1.8.11
161
+ rubygems_version: 1.8.10
172
162
  signing_key:
173
163
  specification_version: 3
174
164
  summary: Useful for legacy database support, adds support for reserved word column