nay-record_with_operator 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -12,7 +12,7 @@ DESCRIPTION = "Rails plugin to set created_by, updated_by, deleted_by to ActiveR
12
12
  GITHUB_PROJECT = "record_with_operator"
13
13
  HOMEPAGE = "http://github.com/nay/#{GITHUB_PROJECT}/tree"
14
14
  BIN_FILES = %w( )
15
- VER = "0.0.4"
15
+ VER = "0.0.5"
16
16
  CLEAN.include ['pkg']
17
17
 
18
18
  desc 'Default: run unit tests.'
@@ -141,7 +141,8 @@ module RecordWithOperator
141
141
 
142
142
  def set_deleted_by
143
143
  return unless respond_to?(:deleted_by=) && operator
144
- self.updated_by = operator.id
144
+ self.deleted_by = operator.id
145
+ save!
145
146
  end
146
147
 
147
148
  end
@@ -9,16 +9,25 @@ class NoteWithUser < ActiveRecord::Base
9
9
 
10
10
  named_scope :new_arrivals, {:order => "updated_at desc"}
11
11
 
12
- def destroy_with_deleted_at
13
- NoteWithUser.update_all("deleted_at = '#{Time.now.to_s(:db)}'", "id = #{self.id}")
12
+ def destroy_without_callbacks
13
+ unless new_record?
14
+ self.class.update_all self.class.send(:sanitize_sql, ["deleted_at = ?", (self.deleted_at = default_timezone == :utc ? Time.now.utc : Time.now)]), ["#{self.class.primary_key} = ?", id]
15
+ end
16
+ freeze
14
17
  end
15
- alias_method_chain :destroy, :deleted_at
16
- def destory!
17
- destory_without_deleted_at
18
+
19
+ def destroy_with_callbacks!
20
+ return false if callback(:before_destroy) == false
21
+ result = destroy_without_callbacks!
22
+ callback(:after_destroy)
23
+ result
24
+ end
25
+ def destroy!
26
+ transaction { destroy_with_callbacks! }
18
27
  end
19
28
 
20
29
  def deleted?
21
- self.deleted_at <= Time.now
30
+ self.deleted_at.to_time <= Time.now
22
31
  end
23
32
  end
24
33
 
@@ -46,7 +55,9 @@ class RecordWithOperatorTest < ActiveSupport::TestCase
46
55
  def setup
47
56
  RecordWithOperator.config[:user_class_name] = "User"
48
57
  @user1 = User.create!(:name => "user1")
58
+ raise "@user1.id is nil" unless @user1.id
49
59
  @user2 = User.create!(:name => "user2")
60
+ raise "@user2.id is nil" unless @user2.id
50
61
  @note_created_by_user1 = NoteWithUser.create!(:body => "test", :operator => @user1)
51
62
  end
52
63
 
@@ -137,9 +148,9 @@ class RecordWithOperatorTest < ActiveSupport::TestCase
137
148
  def test_note_should_be_destroyed_with_deleted_by
138
149
  note = NoteWithUser.find(@note_created_by_user1.id, :for => @user2)
139
150
  note.destroy # logically
140
- note.reload
151
+ note = NoteWithUser.find(@note_created_by_user1.id)
141
152
  raise "not deleted" unless note.deleted?
142
- assert @user2.id, note.deleted_by
153
+ assert_equal @user2.id, note.deleted_by
143
154
  end
144
155
 
145
156
  # reload
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nay-record_with_operator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yasuko Ohba
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-02-20 00:00:00 -08:00
12
+ date: 2009-02-23 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -42,6 +42,7 @@ files:
42
42
  - lib/record_with_operator.rb
43
43
  - tasks/record_with_operator_tasks.rake
44
44
  - test/database.yml
45
+ - test/debug.log
45
46
  - test/record_with_operator_belongs_to_association_test.rb
46
47
  - test/record_with_operator_has_one_association_test.rb
47
48
  - test/record_with_operator_test.rb
@@ -78,6 +79,7 @@ specification_version: 2
78
79
  summary: Rails plugin to set created_by, updated_by, deleted_by to ActiveRecord objects. Supports associations.
79
80
  test_files:
80
81
  - test/database.yml
82
+ - test/debug.log
81
83
  - test/record_with_operator_belongs_to_association_test.rb
82
84
  - test/record_with_operator_has_one_association_test.rb
83
85
  - test/record_with_operator_test.rb