activerecord-be_readonly 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0f07236a1f88846395e09422c09c4076fe32d483
4
+ data.tar.gz: 4d253bf6885c7c79163de783ea4ec6ac2f195fe7
5
+ SHA512:
6
+ metadata.gz: bb3ab5c8382a45aa5980b287df2fed99ebcffeaa89e3dca32207a1323989ed0799ea0fc0081277773c1e37b199a4e234bd227c047bd1612c97cdd53556512f64
7
+ data.tar.gz: 3cc9fac3386e8ea6c68b9f8db808234e00c437575886bd4bd90b428f165ab5180db24f86228302c130aba6e8d3e5ad504c0bc702a61c4ddf1881adf02b648922
data/README.md CHANGED
@@ -39,9 +39,19 @@ Or if you are off-rails, but use ActiveRecord, just do this in the model class:
39
39
 
40
40
  include BeReadonly::Now
41
41
 
42
+ ### Configuration
43
+
44
+ Useful if you'd like to turn off read-only only for tests, etc.
45
+
46
+ # application-wide setting. true by default.
47
+ BeReadonly.enabled = false
48
+
42
49
  ### Contributors
43
50
 
44
- Thanks to Gabriel Naiman for his patch!
51
+ Thanks to:
52
+ * [vkhater](https://github.com/vkhater)
53
+ * [Gabriel Naiman](https://github.com/gabynaiman)
54
+ * [Gary Weaver](https://github.com/garysweaver)
45
55
 
46
56
  ### License
47
57
 
@@ -1,4 +1,5 @@
1
1
  require 'activerecord-be_readonly/version'
2
+ require 'activerecord-be_readonly/config'
2
3
  require 'activerecord-be_readonly/model'
3
4
  require 'activerecord-be_readonly/now'
4
5
  require 'activerecord-be_readonly/railtie' if defined?(Rails)
@@ -0,0 +1,7 @@
1
+ module BeReadonly
2
+ class << self
3
+ attr_accessor :enabled
4
+ end
5
+ end
6
+
7
+ BeReadonly.enabled = true
@@ -8,32 +8,37 @@ module BeReadonly
8
8
  include BeReadonlyInstanceMethods # intentionally not just InstanceMethods as those would be automatically included via ActiveSupport::Concern
9
9
 
10
10
  before_destroy do
11
- raise ActiveRecord::ReadOnlyRecord
11
+ raise ActiveRecord::ReadOnlyRecord if BeReadonly.enabled
12
12
  end
13
13
  end
14
14
  end
15
15
 
16
16
  module BeReadonlyClassMethods
17
17
  def delete(id_or_array)
18
- raise ActiveRecord::ReadOnlyRecord
18
+ raise ActiveRecord::ReadOnlyRecord if BeReadonly.enabled
19
+ super
19
20
  end
20
21
 
21
22
  def delete_all(conditions = nil)
22
- raise ActiveRecord::ReadOnlyRecord
23
+ raise ActiveRecord::ReadOnlyRecord if BeReadonly.enabled
24
+ super
23
25
  end
24
26
 
25
27
  def update_all(conditions = nil)
26
- raise ActiveRecord::ReadOnlyRecord
28
+ raise ActiveRecord::ReadOnlyRecord if BeReadonly.enabled
29
+ super
27
30
  end
28
31
  end
29
32
 
30
33
  module BeReadonlyInstanceMethods
31
34
  def readonly?
32
- return true
35
+ return true if BeReadonly.enabled
36
+ super
33
37
  end
34
38
 
35
39
  def delete
36
- raise ActiveRecord::ReadOnlyRecord
40
+ raise ActiveRecord::ReadOnlyRecord if BeReadonly.enabled
41
+ super
37
42
  end
38
43
  end
39
44
  end
@@ -1,3 +1,3 @@
1
1
  module BeReadonly
2
- VERSION = '0.0.3'
2
+ VERSION = '0.1.0'
3
3
  end
metadata CHANGED
@@ -1,30 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-be_readonly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
5
- prerelease:
4
+ version: 0.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Gary S. Weaver
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-04-29 00:00:00.000000000 Z
11
+ date: 2015-08-17 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activerecord
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  description: Makes read-only models easier to implement in ActiveRecord 3.x/4.x.
@@ -34,36 +31,36 @@ executables: []
34
31
  extensions: []
35
32
  extra_rdoc_files: []
36
33
  files:
34
+ - README.md
35
+ - Rakefile
36
+ - lib/activerecord-be_readonly.rb
37
+ - lib/activerecord-be_readonly/config.rb
37
38
  - lib/activerecord-be_readonly/model.rb
38
39
  - lib/activerecord-be_readonly/now.rb
39
40
  - lib/activerecord-be_readonly/railtie.rb
40
41
  - lib/activerecord-be_readonly/version.rb
41
- - lib/activerecord-be_readonly.rb
42
- - Rakefile
43
- - README.md
44
42
  homepage: https://github.com/garysweaver/activerecord-be_readonly
45
43
  licenses:
46
44
  - MIT
45
+ metadata: {}
47
46
  post_install_message:
48
47
  rdoc_options: []
49
48
  require_paths:
50
49
  - lib
51
50
  required_ruby_version: !ruby/object:Gem::Requirement
52
- none: false
53
51
  requirements:
54
- - - ! '>='
52
+ - - ">="
55
53
  - !ruby/object:Gem::Version
56
54
  version: '0'
57
55
  required_rubygems_version: !ruby/object:Gem::Requirement
58
- none: false
59
56
  requirements:
60
- - - ! '>='
57
+ - - ">="
61
58
  - !ruby/object:Gem::Version
62
59
  version: '0'
63
60
  requirements: []
64
61
  rubyforge_project:
65
- rubygems_version: 1.8.24
62
+ rubygems_version: 2.4.6
66
63
  signing_key:
67
- specification_version: 3
64
+ specification_version: 4
68
65
  summary: Easy read-only models for ActiveRecord 3.x/4.x.
69
66
  test_files: []