activemodel 3.1.0.rc4 → 3.1.0.rc5

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/CHANGELOG CHANGED
@@ -1,5 +1,8 @@
1
1
  *Rails 3.1.0 (unreleased)*
2
2
 
3
+ * Alternate I18n namespace lookup is no longer supported.
4
+ Instead of "activerecord.models.admins.post", do "activerecord.models.admins/post" instead [José Valim]
5
+
3
6
  * attr_accessible and friends now accepts :as as option to specify a role [Josh Kalderimis]
4
7
 
5
8
  * Add support for proc or lambda as an option for InclusionValidator,
@@ -182,3 +182,30 @@ modules:
182
182
  p.valid? # => true
183
183
 
184
184
  {Learn more}[link:classes/ActiveModel/Validator.html]
185
+
186
+
187
+ == Download and installation
188
+
189
+ The latest version of Active Model can be installed with Rubygems:
190
+
191
+ % [sudo] gem install activemodel
192
+
193
+ Source code can be downloaded as part of the Rails project on GitHub
194
+
195
+ * https://github.com/rails/rails/tree/master/activemodel/
196
+
197
+
198
+ == License
199
+
200
+ Active Model is released under the MIT license.
201
+
202
+
203
+ == Support
204
+
205
+ API documentation is at
206
+
207
+ * http://api.rubyonrails.org
208
+
209
+ Bug reports and feature requests can be filed with the rest for the Ruby on Rails project here:
210
+
211
+ * https://github.com/rails/rails/issues
@@ -29,7 +29,7 @@ module ActiveModel
29
29
  #
30
30
  # include ActiveModel::Dirty
31
31
  #
32
- # define_attribute_methods [:name]
32
+ # define_attribute_methods = [:name]
33
33
  #
34
34
  # def name
35
35
  # @name
@@ -1,4 +1,5 @@
1
1
  require 'active_support/core_ext/class/attribute.rb'
2
+ require 'active_support/core_ext/array/wrap'
2
3
  require 'active_model/mass_assignment_security/permission_set'
3
4
 
4
5
  module ActiveModel
@@ -95,8 +96,11 @@ module ActiveModel
95
96
  options = args.extract_options!
96
97
  role = options[:as] || :default
97
98
 
98
- self._protected_attributes = protected_attributes_configs.dup
99
- self._protected_attributes[role] = self.protected_attributes(role) + args
99
+ self._protected_attributes = protected_attributes_configs.dup
100
+
101
+ Array.wrap(role).each do |name|
102
+ self._protected_attributes[name] = self.protected_attributes(name) + args
103
+ end
100
104
 
101
105
  self._active_authorizer = self._protected_attributes
102
106
  end
@@ -154,8 +158,11 @@ module ActiveModel
154
158
  options = args.extract_options!
155
159
  role = options[:as] || :default
156
160
 
157
- self._accessible_attributes = accessible_attributes_configs.dup
158
- self._accessible_attributes[role] = self.accessible_attributes(role) + args
161
+ self._accessible_attributes = accessible_attributes_configs.dup
162
+
163
+ Array.wrap(role).each do |name|
164
+ self._accessible_attributes[name] = self.accessible_attributes(name) + args
165
+ end
159
166
 
160
167
  self._active_authorizer = self._accessible_attributes
161
168
  end
@@ -21,7 +21,7 @@ module ActiveModel
21
21
  @partial_path = "#{@collection}/#{@element}".freeze
22
22
  @param_key = (namespace ? _singularize(@unnamespaced) : @singular).freeze
23
23
  @route_key = (namespace ? ActiveSupport::Inflector.pluralize(@param_key) : @plural).freeze
24
- @i18n_key = self.underscore.tr('/', '.').to_sym
24
+ @i18n_key = self.underscore.to_sym
25
25
  end
26
26
 
27
27
  # Transform the model name into a more humane format, using I18n. By default,
@@ -35,9 +35,8 @@ module ActiveModel
35
35
  @klass.respond_to?(:i18n_scope)
36
36
 
37
37
  defaults = @klass.lookup_ancestors.map do |klass|
38
- [klass.model_name.i18n_key,
39
- klass.model_name.i18n_key.to_s.tr('.', '/').to_sym]
40
- end.flatten
38
+ klass.model_name.i18n_key
39
+ end
41
40
 
42
41
  defaults << options[:default] if options[:default]
43
42
  defaults << @human
@@ -44,9 +44,8 @@ module ActiveModel
44
44
  # Specify +options+ with additional translating options.
45
45
  def human_attribute_name(attribute, options = {})
46
46
  defaults = lookup_ancestors.map do |klass|
47
- [:"#{self.i18n_scope}.attributes.#{klass.model_name.i18n_key}.#{attribute}",
48
- :"#{self.i18n_scope}.attributes.#{klass.model_name.i18n_key.to_s.tr('.', '/')}.#{attribute}"]
49
- end.flatten
47
+ :"#{self.i18n_scope}.attributes.#{klass.model_name.i18n_key}.#{attribute}"
48
+ end
50
49
 
51
50
  defaults << :"attributes.#{attribute}"
52
51
  defaults << options.delete(:default) if options[:default]
@@ -101,7 +101,7 @@ module ActiveModel
101
101
  # class Person
102
102
  # include ActiveModel::Validations
103
103
  #
104
- # validates :instance_validations
104
+ # validate :instance_validations
105
105
  #
106
106
  # def instance_validations
107
107
  # validates_with MyValidator
@@ -116,7 +116,7 @@ module ActiveModel
116
116
  # class Person
117
117
  # include ActiveModel::Validations
118
118
  #
119
- # validates :instance_validations, :on => :create
119
+ # validate :instance_validations, :on => :create
120
120
  #
121
121
  # def instance_validations
122
122
  # validates_with MyValidator, MyOtherValidator
@@ -3,7 +3,7 @@ module ActiveModel
3
3
  MAJOR = 3
4
4
  MINOR = 1
5
5
  TINY = 0
6
- PRE = "rc4"
6
+ PRE = "rc5"
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
9
9
  end
metadata CHANGED
@@ -1,15 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activemodel
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15424109
5
- prerelease: 6
4
+ prerelease: true
6
5
  segments:
7
6
  - 3
8
7
  - 1
9
8
  - 0
10
- - rc
11
- - 4
12
- version: 3.1.0.rc4
9
+ - rc5
10
+ version: 3.1.0.rc5
13
11
  platform: ruby
14
12
  authors:
15
13
  - David Heinemeier Hansson
@@ -17,35 +15,31 @@ autorequire:
17
15
  bindir: bin
18
16
  cert_chain: []
19
17
 
20
- date: 2011-06-09 00:00:00 Z
18
+ date: 2011-07-25 00:00:00 -07:00
19
+ default_executable:
21
20
  dependencies:
22
21
  - !ruby/object:Gem::Dependency
23
22
  name: activesupport
24
23
  prerelease: false
25
24
  requirement: &id001 !ruby/object:Gem::Requirement
26
- none: false
27
25
  requirements:
28
26
  - - "="
29
27
  - !ruby/object:Gem::Version
30
- hash: 15424109
31
28
  segments:
32
29
  - 3
33
30
  - 1
34
31
  - 0
35
- - rc
36
- - 4
37
- version: 3.1.0.rc4
32
+ - rc5
33
+ version: 3.1.0.rc5
38
34
  type: :runtime
39
35
  version_requirements: *id001
40
36
  - !ruby/object:Gem::Dependency
41
37
  name: builder
42
38
  prerelease: false
43
39
  requirement: &id002 !ruby/object:Gem::Requirement
44
- none: false
45
40
  requirements:
46
41
  - - ~>
47
42
  - !ruby/object:Gem::Version
48
- hash: 7
49
43
  segments:
50
44
  - 3
51
45
  - 0
@@ -57,11 +51,9 @@ dependencies:
57
51
  name: i18n
58
52
  prerelease: false
59
53
  requirement: &id003 !ruby/object:Gem::Requirement
60
- none: false
61
54
  requirements:
62
55
  - - ~>
63
56
  - !ruby/object:Gem::Version
64
- hash: 7
65
57
  segments:
66
58
  - 0
67
59
  - 6
@@ -72,11 +64,9 @@ dependencies:
72
64
  name: bcrypt-ruby
73
65
  prerelease: false
74
66
  requirement: &id004 !ruby/object:Gem::Requirement
75
- none: false
76
67
  requirements:
77
68
  - - ~>
78
69
  - !ruby/object:Gem::Version
79
- hash: 3
80
70
  segments:
81
71
  - 2
82
72
  - 1
@@ -131,6 +121,7 @@ files:
131
121
  - lib/active_model/validator.rb
132
122
  - lib/active_model/version.rb
133
123
  - lib/active_model.rb
124
+ has_rdoc: true
134
125
  homepage: http://www.rubyonrails.org
135
126
  licenses: []
136
127
 
@@ -140,22 +131,18 @@ rdoc_options: []
140
131
  require_paths:
141
132
  - lib
142
133
  required_ruby_version: !ruby/object:Gem::Requirement
143
- none: false
144
134
  requirements:
145
135
  - - ">="
146
136
  - !ruby/object:Gem::Version
147
- hash: 57
148
137
  segments:
149
138
  - 1
150
139
  - 8
151
140
  - 7
152
141
  version: 1.8.7
153
142
  required_rubygems_version: !ruby/object:Gem::Requirement
154
- none: false
155
143
  requirements:
156
144
  - - ">"
157
145
  - !ruby/object:Gem::Version
158
- hash: 25
159
146
  segments:
160
147
  - 1
161
148
  - 3
@@ -164,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
151
  requirements: []
165
152
 
166
153
  rubyforge_project:
167
- rubygems_version: 1.8.2
154
+ rubygems_version: 1.3.6
168
155
  signing_key:
169
156
  specification_version: 3
170
157
  summary: A toolkit for building modeling frameworks (part of Rails).