let_me_mass_assign_protected_attributes 0.0.2 → 0.0.3
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/Readme.md
CHANGED
@@ -1,3 +1,30 @@
|
|
1
|
+
Deprecated as of Rails 3.2
|
2
|
+
==========================
|
3
|
+
|
4
|
+
This library is, happily, no longer useful now that Rails 3.2 has introduced the `without_protection: true` option!
|
5
|
+
|
6
|
+
So instead of
|
7
|
+
|
8
|
+
user = User.unprotected_new(
|
9
|
+
name: 'Some Name',
|
10
|
+
email: 'test@example.com',
|
11
|
+
...
|
12
|
+
is_admin: true,
|
13
|
+
state: :active
|
14
|
+
)
|
15
|
+
|
16
|
+
you can now do this in Rails 3.2+:
|
17
|
+
|
18
|
+
user = User.new({
|
19
|
+
name: 'Some Name',
|
20
|
+
email: 'test@example.com',
|
21
|
+
...
|
22
|
+
is_admin: true,
|
23
|
+
state: :active
|
24
|
+
}, without_protection: true)
|
25
|
+
|
26
|
+
Please use that built-in feature instead. This library will no longer be maintained.
|
27
|
+
|
1
28
|
Let me mass-assign protected attributes!
|
2
29
|
========================================
|
3
30
|
|
@@ -4,7 +4,7 @@ require "let_me_mass_assign_protected_attributes/version"
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = "let_me_mass_assign_protected_attributes"
|
7
|
-
s.version = LetMeMassAssignProtectedAttributes
|
7
|
+
s.version = LetMeMassAssignProtectedAttributes.version
|
8
8
|
s.authors = ["Tyler Rick"]
|
9
9
|
s.email = ["tyler@tylerrick.com"]
|
10
10
|
s.homepage = ""
|
@@ -4,54 +4,32 @@ module LetMeMassAssignProtectedAttributes
|
|
4
4
|
extend ActiveSupport::Concern
|
5
5
|
|
6
6
|
def unprotected_attributes=(attributes)
|
7
|
-
|
8
|
-
attributes.each do |key, value|
|
9
|
-
self.send "#{key}=", value
|
10
|
-
end
|
11
|
-
end
|
7
|
+
assign_attributes(attributes, without_protection: true)
|
12
8
|
end
|
13
9
|
|
14
10
|
# update_attributes doesn't set attributes protected via attr_protected (instead, it logs a warning informing you that you are trying to mass-assign protected attributes), so this method is convenient if you have a hash of protected attributes that you want to set
|
15
11
|
def unprotected_update_attributes(attributes)
|
16
|
-
|
17
|
-
self.unprotected_attributes = attributes
|
18
|
-
save
|
19
|
-
end
|
12
|
+
update_attributes(attributes, without_protection: true)
|
20
13
|
end
|
21
14
|
|
22
15
|
# Updates an object just like Base.unprotected_update_attributes but calls save! instead of save so an exception is raised if the record is invalid.
|
23
16
|
def unprotected_update_attributes!(attributes)
|
24
|
-
|
25
|
-
self.unprotected_attributes = attributes
|
26
|
-
save!
|
27
|
-
end
|
17
|
+
update_attributes!(attributes, without_protection: true)
|
28
18
|
end
|
29
19
|
|
30
20
|
module ClassMethods
|
31
21
|
# The same as a normal new, only it lets you initialize/set attr_protected attributes
|
32
22
|
def unprotected_new(attributes = {})
|
33
|
-
|
34
|
-
attributes.each {|attributes| unprotected_new(attributes) }
|
35
|
-
else
|
36
|
-
new.tap {|_| _.unprotected_attributes = attributes }
|
37
|
-
end
|
23
|
+
new(attributes, without_protection: true)
|
38
24
|
end
|
39
25
|
|
40
26
|
# The same as a normal create, only it lets you initialize/set attr_protected attributes
|
41
27
|
def unprotected_create(attributes = {})
|
42
|
-
|
43
|
-
attributes.each {|attributes| unprotected_create(attributes) }
|
44
|
-
else
|
45
|
-
new.unprotected_update_attributes(attributes)
|
46
|
-
end
|
28
|
+
create(attributes, without_protection: true)
|
47
29
|
end
|
48
30
|
|
49
31
|
def unprotected_create!(attributes = {})
|
50
|
-
|
51
|
-
attributes.each {|attributes| unprotected_create!(attributes) }
|
52
|
-
else
|
53
|
-
new.unprotected_update_attributes!(attributes)
|
54
|
-
end
|
32
|
+
create!(attributes, without_protection: true)
|
55
33
|
end
|
56
34
|
end
|
57
35
|
end
|
metadata
CHANGED
@@ -1,29 +1,25 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: let_me_mass_assign_protected_attributes
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.3
|
4
5
|
prerelease:
|
5
|
-
version: 0.0.2
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Tyler Rick
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
date: 2011-09-13 00:00:00 -07:00
|
14
|
-
default_executable:
|
12
|
+
date: 2012-11-30 00:00:00.000000000 Z
|
15
13
|
dependencies: []
|
16
|
-
|
17
|
-
|
18
|
-
|
14
|
+
description: Thank you, Active Record, for not letting me mass-assign protected attributes.
|
15
|
+
But sometimes I want to anyway. This gem provides unprotected_update_attributes,
|
16
|
+
unprotected_create, and related methods to ActiveRecord::Base.
|
17
|
+
email:
|
19
18
|
- tyler@tylerrick.com
|
20
19
|
executables: []
|
21
|
-
|
22
20
|
extensions: []
|
23
|
-
|
24
21
|
extra_rdoc_files: []
|
25
|
-
|
26
|
-
files:
|
22
|
+
files:
|
27
23
|
- .gitignore
|
28
24
|
- Gemfile
|
29
25
|
- Rakefile
|
@@ -31,33 +27,31 @@ files:
|
|
31
27
|
- let_me_mass_assign_protected_attributes.gemspec
|
32
28
|
- lib/let_me_mass_assign_protected_attributes.rb
|
33
29
|
- lib/let_me_mass_assign_protected_attributes/version.rb
|
34
|
-
|
35
|
-
homepage: ""
|
30
|
+
homepage: ''
|
36
31
|
licenses: []
|
37
|
-
|
38
32
|
post_install_message:
|
39
33
|
rdoc_options: []
|
40
|
-
|
41
|
-
require_paths:
|
34
|
+
require_paths:
|
42
35
|
- lib
|
43
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
36
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
44
37
|
none: false
|
45
|
-
requirements:
|
46
|
-
- -
|
47
|
-
- !ruby/object:Gem::Version
|
48
|
-
version:
|
49
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ! '>='
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
50
43
|
none: false
|
51
|
-
requirements:
|
52
|
-
- -
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version:
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
55
48
|
requirements: []
|
56
|
-
|
57
49
|
rubyforge_project:
|
58
|
-
rubygems_version: 1.
|
50
|
+
rubygems_version: 1.8.15
|
59
51
|
signing_key:
|
60
52
|
specification_version: 3
|
61
|
-
summary: Thank you, Active Record, for not letting me mass-assign protected attributes.
|
53
|
+
summary: Thank you, Active Record, for not letting me mass-assign protected attributes.
|
54
|
+
But sometimes I want to anyway. This gem provides unprotected_update_attributes,
|
55
|
+
unprotected_create, and related methods to ActiveRecord::Base.
|
62
56
|
test_files: []
|
63
|
-
|
57
|
+
has_rdoc:
|