rails_soft_deletable 0.0.5 → 0.0.7

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.
Files changed (41) hide show
  1. checksums.yaml +15 -0
  2. data/lib/rails_soft_deletable.rb +1 -171
  3. data/lib/rails_soft_deletable/callbacks.rb +119 -0
  4. data/lib/rails_soft_deletable/query.rb +30 -0
  5. data/lib/rails_soft_deletable/rails/active_record.rb +34 -0
  6. data/lib/rails_soft_deletable/rails/railtie.rb +12 -0
  7. data/lib/rails_soft_deletable/version.rb +1 -1
  8. data/spec/dummy/README.rdoc +261 -0
  9. data/spec/dummy/Rakefile +7 -0
  10. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  11. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  12. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  13. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  14. data/spec/dummy/app/models/decimal_model.rb +7 -0
  15. data/spec/dummy/app/models/integer_model.rb +7 -0
  16. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  17. data/spec/dummy/config.ru +4 -0
  18. data/spec/dummy/config/application.rb +53 -0
  19. data/spec/dummy/config/boot.rb +10 -0
  20. data/spec/dummy/config/database.yml +10 -0
  21. data/spec/dummy/config/environment.rb +5 -0
  22. data/spec/dummy/config/environments/test.rb +34 -0
  23. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  24. data/spec/dummy/config/initializers/inflections.rb +15 -0
  25. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  26. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  27. data/spec/dummy/config/initializers/session_store.rb +8 -0
  28. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  29. data/spec/dummy/config/locales/en.yml +5 -0
  30. data/spec/dummy/config/routes.rb +58 -0
  31. data/spec/dummy/db/schema.rb +22 -0
  32. data/spec/dummy/lib/soft_deletable_model_callbacks.rb +57 -0
  33. data/spec/dummy/public/404.html +26 -0
  34. data/spec/dummy/public/422.html +26 -0
  35. data/spec/dummy/public/500.html +25 -0
  36. data/spec/dummy/public/favicon.ico +0 -0
  37. data/spec/dummy/script/rails +6 -0
  38. data/spec/spec_helper.rb +5 -4
  39. data/spec/support/environment.rb +3 -23
  40. metadata +104 -58
  41. data/spec/models.rb +0 -75
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/422.html -->
21
+ <div class="dialog">
22
+ <h1>The change you wanted was rejected.</h1>
23
+ <p>Maybe you tried to change something you didn't have access to.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/500.html -->
21
+ <div class="dialog">
22
+ <h1>We're sorry, but something went wrong.</h1>
23
+ </div>
24
+ </body>
25
+ </html>
File without changes
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
data/spec/spec_helper.rb CHANGED
@@ -2,15 +2,16 @@ require "pathname"
2
2
  ROOT_PATH = Pathname.new(__FILE__).join("../..").expand_path
3
3
  $LOAD_PATH.unshift(ROOT_PATH.join("lib").to_s)
4
4
 
5
- require "rails_soft_deletable"
5
+ # Configure Rails Environment
6
+ ENV["RAILS_ENV"] = "test"
7
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
8
+
9
+ Rails.backtrace_cleaner.remove_silencers!
6
10
 
7
11
  # Requires supporting ruby files with custom matchers and macros, etc,
8
12
  # in spec/support/ and its subdirectories.
9
13
  Dir[ROOT_PATH.join("spec/support/**/*.rb")].each { |f| require f }
10
14
 
11
- # Require all models.
12
- require "models"
13
-
14
15
  RSpec.configure do |config|
15
16
  # Run specs in random order to surface order dependencies. If you find an
16
17
  # order dependency and want to debug it, you can fix the order by providing
@@ -1,27 +1,7 @@
1
- require "active_record"
2
-
3
- module Spec
4
- module Support
5
- class Environment
6
- DATABASE_FILE = ROOT_PATH.join("tmp/test.sqlite3")
7
- SCHEMA_FILE = ROOT_PATH.join("spec/schema.rb")
8
-
9
- def self.setup
10
- DATABASE_FILE.dirname.mkpath
11
- DATABASE_FILE.delete if DATABASE_FILE.exist?
12
-
13
- ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: DATABASE_FILE.to_s)
14
-
15
- silence_stream(STDOUT) do
16
- load(SCHEMA_FILE)
17
- end
18
- end
19
- end
20
- end
21
- end
22
-
23
1
  RSpec.configure do |config|
24
2
  config.before(:suite) do
25
- Spec::Support::Environment.setup
3
+ silence_stream(STDOUT) do
4
+ load("#{Rails.root}/db/schema.rb")
5
+ end
26
6
  end
27
7
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_soft_deletable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
5
- prerelease:
4
+ version: 0.0.7
6
5
  platform: ruby
7
6
  authors:
8
7
  - Quan Nguyen
@@ -10,116 +9,108 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-11-23 00:00:00.000000000 Z
12
+ date: 2013-12-06 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
- name: activerecord
17
- requirement: !ruby/object:Gem::Requirement
18
- none: false
19
- requirements:
20
- - - '='
21
- - !ruby/object:Gem::Version
22
- version: 3.2.11
23
15
  type: :runtime
24
16
  prerelease: false
17
+ name: rails
25
18
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
19
  requirements:
28
- - - '='
20
+ - - ! '>='
29
21
  - !ruby/object:Gem::Version
30
- version: 3.2.11
31
- - !ruby/object:Gem::Dependency
32
- name: bundler
22
+ version: '3.2'
23
+ - - <
24
+ - !ruby/object:Gem::Version
25
+ version: '4.0'
33
26
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
27
  requirements:
36
- - - ~>
28
+ - - ! '>='
37
29
  - !ruby/object:Gem::Version
38
- version: '1.3'
30
+ version: '3.2'
31
+ - - <
32
+ - !ruby/object:Gem::Version
33
+ version: '4.0'
34
+ - !ruby/object:Gem::Dependency
39
35
  type: :development
40
36
  prerelease: false
37
+ name: bundler
41
38
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
39
  requirements:
44
40
  - - ~>
45
41
  - !ruby/object:Gem::Version
46
42
  version: '1.3'
47
- - !ruby/object:Gem::Dependency
48
- name: rake
49
43
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
44
  requirements:
52
- - - ! '>='
45
+ - - ~>
53
46
  - !ruby/object:Gem::Version
54
- version: '0'
47
+ version: '1.3'
48
+ - !ruby/object:Gem::Dependency
55
49
  type: :development
56
50
  prerelease: false
51
+ name: rake
57
52
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
53
  requirements:
60
54
  - - ! '>='
61
55
  - !ruby/object:Gem::Version
62
56
  version: '0'
63
- - !ruby/object:Gem::Dependency
64
- name: rspec
65
57
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
58
  requirements:
68
- - - ~>
59
+ - - ! '>='
69
60
  - !ruby/object:Gem::Version
70
- version: 3.0.0.beta1
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
71
63
  type: :development
72
64
  prerelease: false
65
+ name: rspec
73
66
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
67
  requirements:
76
68
  - - ~>
77
69
  - !ruby/object:Gem::Version
78
70
  version: 3.0.0.beta1
79
- - !ruby/object:Gem::Dependency
80
- name: debugger
81
71
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
72
  requirements:
84
73
  - - ~>
85
74
  - !ruby/object:Gem::Version
86
- version: '1.6'
75
+ version: 3.0.0.beta1
76
+ - !ruby/object:Gem::Dependency
87
77
  type: :development
88
78
  prerelease: false
79
+ name: debugger
89
80
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
81
  requirements:
92
82
  - - ~>
93
83
  - !ruby/object:Gem::Version
94
84
  version: '1.6'
95
- - !ruby/object:Gem::Dependency
96
- name: timecop
97
85
  requirement: !ruby/object:Gem::Requirement
98
- none: false
99
86
  requirements:
100
- - - ! '>='
87
+ - - ~>
101
88
  - !ruby/object:Gem::Version
102
- version: '0'
89
+ version: '1.6'
90
+ - !ruby/object:Gem::Dependency
103
91
  type: :development
104
92
  prerelease: false
93
+ name: timecop
105
94
  version_requirements: !ruby/object:Gem::Requirement
106
- none: false
107
95
  requirements:
108
96
  - - ! '>='
109
97
  - !ruby/object:Gem::Version
110
98
  version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: sqlite3
113
99
  requirement: !ruby/object:Gem::Requirement
114
- none: false
115
100
  requirements:
116
101
  - - ! '>='
117
102
  - !ruby/object:Gem::Version
118
103
  version: '0'
104
+ - !ruby/object:Gem::Dependency
119
105
  type: :development
120
106
  prerelease: false
107
+ name: sqlite3
121
108
  version_requirements: !ruby/object:Gem::Requirement
122
- none: false
109
+ requirements:
110
+ - - ! '>='
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
113
+ requirement: !ruby/object:Gem::Requirement
123
114
  requirements:
124
115
  - - ! '>='
125
116
  - !ruby/object:Gem::Version
@@ -132,9 +123,42 @@ executables: []
132
123
  extensions: []
133
124
  extra_rdoc_files: []
134
125
  files:
126
+ - lib/rails_soft_deletable/callbacks.rb
127
+ - lib/rails_soft_deletable/query.rb
128
+ - lib/rails_soft_deletable/rails/active_record.rb
129
+ - lib/rails_soft_deletable/rails/railtie.rb
135
130
  - lib/rails_soft_deletable/version.rb
136
131
  - lib/rails_soft_deletable.rb
137
- - spec/models.rb
132
+ - spec/dummy/app/assets/javascripts/application.js
133
+ - spec/dummy/app/assets/stylesheets/application.css
134
+ - spec/dummy/app/controllers/application_controller.rb
135
+ - spec/dummy/app/helpers/application_helper.rb
136
+ - spec/dummy/app/models/decimal_model.rb
137
+ - spec/dummy/app/models/integer_model.rb
138
+ - spec/dummy/app/views/layouts/application.html.erb
139
+ - spec/dummy/config/application.rb
140
+ - spec/dummy/config/boot.rb
141
+ - spec/dummy/config/database.yml
142
+ - spec/dummy/config/environment.rb
143
+ - spec/dummy/config/environments/test.rb
144
+ - spec/dummy/config/initializers/backtrace_silencers.rb
145
+ - spec/dummy/config/initializers/inflections.rb
146
+ - spec/dummy/config/initializers/mime_types.rb
147
+ - spec/dummy/config/initializers/secret_token.rb
148
+ - spec/dummy/config/initializers/session_store.rb
149
+ - spec/dummy/config/initializers/wrap_parameters.rb
150
+ - spec/dummy/config/locales/en.yml
151
+ - spec/dummy/config/routes.rb
152
+ - spec/dummy/config.ru
153
+ - spec/dummy/db/schema.rb
154
+ - spec/dummy/lib/soft_deletable_model_callbacks.rb
155
+ - spec/dummy/public/404.html
156
+ - spec/dummy/public/422.html
157
+ - spec/dummy/public/500.html
158
+ - spec/dummy/public/favicon.ico
159
+ - spec/dummy/Rakefile
160
+ - spec/dummy/README.rdoc
161
+ - spec/dummy/script/rails
138
162
  - spec/rails_soft_deletable_spec.rb
139
163
  - spec/schema.rb
140
164
  - spec/spec_helper.rb
@@ -146,36 +170,58 @@ files:
146
170
  homepage: https://github.com/listia/rails_soft_deletable
147
171
  licenses:
148
172
  - MIT
173
+ metadata: {}
149
174
  post_install_message:
150
175
  rdoc_options: []
151
176
  require_paths:
152
177
  - lib
153
178
  required_ruby_version: !ruby/object:Gem::Requirement
154
- none: false
155
179
  requirements:
156
180
  - - ! '>='
157
181
  - !ruby/object:Gem::Version
158
182
  version: '0'
159
- segments:
160
- - 0
161
- hash: -1750599251133008537
162
183
  required_rubygems_version: !ruby/object:Gem::Requirement
163
- none: false
164
184
  requirements:
165
185
  - - ! '>='
166
186
  - !ruby/object:Gem::Version
167
187
  version: '0'
168
- segments:
169
- - 0
170
- hash: -1750599251133008537
171
188
  requirements: []
172
189
  rubyforge_project:
173
- rubygems_version: 1.8.24
190
+ rubygems_version: 2.1.9
174
191
  signing_key:
175
- specification_version: 3
192
+ specification_version: 4
176
193
  summary: Soft deletable for ActiveRecord on Rails 3+
177
194
  test_files:
178
- - spec/models.rb
195
+ - spec/dummy/app/assets/javascripts/application.js
196
+ - spec/dummy/app/assets/stylesheets/application.css
197
+ - spec/dummy/app/controllers/application_controller.rb
198
+ - spec/dummy/app/helpers/application_helper.rb
199
+ - spec/dummy/app/models/decimal_model.rb
200
+ - spec/dummy/app/models/integer_model.rb
201
+ - spec/dummy/app/views/layouts/application.html.erb
202
+ - spec/dummy/config/application.rb
203
+ - spec/dummy/config/boot.rb
204
+ - spec/dummy/config/database.yml
205
+ - spec/dummy/config/environment.rb
206
+ - spec/dummy/config/environments/test.rb
207
+ - spec/dummy/config/initializers/backtrace_silencers.rb
208
+ - spec/dummy/config/initializers/inflections.rb
209
+ - spec/dummy/config/initializers/mime_types.rb
210
+ - spec/dummy/config/initializers/secret_token.rb
211
+ - spec/dummy/config/initializers/session_store.rb
212
+ - spec/dummy/config/initializers/wrap_parameters.rb
213
+ - spec/dummy/config/locales/en.yml
214
+ - spec/dummy/config/routes.rb
215
+ - spec/dummy/config.ru
216
+ - spec/dummy/db/schema.rb
217
+ - spec/dummy/lib/soft_deletable_model_callbacks.rb
218
+ - spec/dummy/public/404.html
219
+ - spec/dummy/public/422.html
220
+ - spec/dummy/public/500.html
221
+ - spec/dummy/public/favicon.ico
222
+ - spec/dummy/Rakefile
223
+ - spec/dummy/README.rdoc
224
+ - spec/dummy/script/rails
179
225
  - spec/rails_soft_deletable_spec.rb
180
226
  - spec/schema.rb
181
227
  - spec/spec_helper.rb
data/spec/models.rb DELETED
@@ -1,75 +0,0 @@
1
- require "active_record"
2
-
3
- module Spec
4
- module Models
5
- module SoftDeletableCallbacks
6
- def self.included(base)
7
- base.class_eval do
8
- attr_reader :before_destroy_called
9
- attr_reader :around_destroy_called
10
- attr_reader :after_destroy_called
11
-
12
- attr_reader :before_restore_called
13
- attr_reader :around_restore_called
14
- attr_reader :after_restore_called
15
-
16
- before_destroy :call_before_destroy
17
- around_destroy :call_around_destroy
18
- after_destroy :call_after_destroy
19
-
20
- before_restore :call_before_restore
21
- around_restore :call_around_restore
22
- after_restore :call_after_restore
23
-
24
- def call_before_destroy
25
- @before_destroy_called = true
26
- end
27
-
28
- def call_around_destroy
29
- yield
30
- @around_destroy_called = true
31
- end
32
-
33
- def call_after_destroy
34
- @after_destroy_called = true
35
- end
36
-
37
- def call_before_restore
38
- @before_restore_called = true
39
- end
40
-
41
- def call_around_restore
42
- yield
43
- @around_restore_called = true
44
- end
45
-
46
- def call_after_restore
47
- @after_restore_called = true
48
- end
49
-
50
- def reset_callback_flags!
51
- @before_destroy_called = nil
52
- @around_destroy_called = nil
53
- @after_destroy_called = nil
54
-
55
- @before_restore_called = nil
56
- @around_restore_called = nil
57
- @after_restore_called = nil
58
- end
59
- end
60
- end
61
- end
62
- end
63
- end
64
-
65
- class DecimalModel< ActiveRecord::Base
66
- soft_deletable
67
-
68
- include Spec::Models::SoftDeletableCallbacks
69
- end
70
-
71
- class IntegerModel < ActiveRecord::Base
72
- soft_deletable
73
-
74
- include Spec::Models::SoftDeletableCallbacks
75
- end