attribute_access_controllable 1.1.2 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ --main README.md lib/attribute_access_controllable.rb - LICENSE README.md
@@ -8,21 +8,20 @@ module AttributeAccessControllable
8
8
  validate :read_only_attributes_unchanged, :on => :update, :unless => :skip_read_only
9
9
  end
10
10
 
11
+ # Mark an attribute as read-only
12
+ # @param [Symbol] attributes on the model
13
+ # @return [void]
11
14
  def attr_read_only(*attributes)
12
15
  self.read_only_attributes = Set.new(attributes.map { |a| a.to_s }) + (read_only_attributes || [])
13
16
  end
14
17
 
18
+ # @param [Symbol] attribute on the model
19
+ # @return [Boolean] attribute is read-only
15
20
  def read_only_attribute?(attribute)
16
21
  return false if read_only_attributes.nil?
17
22
  read_only_attributes.member?(attribute.to_s)
18
23
  end
19
24
 
20
- def read_only_attributes_unchanged
21
- changed_attributes.each_key do |attr|
22
- errors.add(attr) << "is read_only" if read_only_attribute?(attr)
23
- end
24
- end
25
-
26
25
  def save(options = {})
27
26
  self.skip_read_only = options.delete(:skip_read_only)
28
27
  super
@@ -32,4 +31,12 @@ module AttributeAccessControllable
32
31
  self.skip_read_only = options.delete(:skip_read_only)
33
32
  super
34
33
  end
34
+
35
+ private
36
+
37
+ def read_only_attributes_unchanged
38
+ changed_attributes.each_key do |attr|
39
+ errors.add(attr) << "is read_only" if read_only_attribute?(attr)
40
+ end
41
+ end
35
42
  end
@@ -1,3 +1,3 @@
1
1
  module AttributeAccessControllable
2
- VERSION = "1.1.2"
2
+ VERSION = "1.1.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: attribute_access_controllable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -168,6 +168,7 @@ files:
168
168
  - .gitignore
169
169
  - .pairs
170
170
  - .rspec
171
+ - .yardopts
171
172
  - Gemfile
172
173
  - LICENSE
173
174
  - README.md
@@ -224,3 +225,4 @@ test_files:
224
225
  - spec/attribute_access_controllable_spec.rb
225
226
  - spec/generators/attribute_access_generator_spec.rb
226
227
  - spec/spec_helper.rb
228
+ has_rdoc: