rails_soft_deletable 0.0.5 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
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