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.
- checksums.yaml +15 -0
- data/lib/rails_soft_deletable.rb +1 -171
- data/lib/rails_soft_deletable/callbacks.rb +119 -0
- data/lib/rails_soft_deletable/query.rb +30 -0
- data/lib/rails_soft_deletable/rails/active_record.rb +34 -0
- data/lib/rails_soft_deletable/rails/railtie.rb +12 -0
- data/lib/rails_soft_deletable/version.rb +1 -1
- data/spec/dummy/README.rdoc +261 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/assets/javascripts/application.js +15 -0
- data/spec/dummy/app/assets/stylesheets/application.css +13 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/models/decimal_model.rb +7 -0
- data/spec/dummy/app/models/integer_model.rb +7 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +53 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/database.yml +10 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/test.rb +34 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/inflections.rb +15 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/routes.rb +58 -0
- data/spec/dummy/db/schema.rb +22 -0
- data/spec/dummy/lib/soft_deletable_model_callbacks.rb +57 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +25 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/spec_helper.rb +5 -4
- data/spec/support/environment.rb +3 -23
- metadata +104 -58
- 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
|
-
|
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
|
data/spec/support/environment.rb
CHANGED
@@ -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
|
-
|
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
|
-
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-
|
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
|
31
|
-
-
|
32
|
-
|
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: '
|
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: '
|
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:
|
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:
|
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: '
|
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
|
-
|
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/
|
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.
|
190
|
+
rubygems_version: 2.1.9
|
174
191
|
signing_key:
|
175
|
-
specification_version:
|
192
|
+
specification_version: 4
|
176
193
|
summary: Soft deletable for ActiveRecord on Rails 3+
|
177
194
|
test_files:
|
178
|
-
- spec/
|
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
|