stator 0.1.7 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 180601e58af4388c32de7aa763a4bfaa863d3c95
4
- data.tar.gz: fe619ed09b0337182e8a05674fac0c60dce52313
2
+ SHA256:
3
+ metadata.gz: f80f0783f3bbff0062fee1ebbb2e4f32ebb2f4dc8605809aab25273482a5f09f
4
+ data.tar.gz: 8a8f5f91f72f29fae9579048aae6e1e42c105f9fabf29f698b5c2b9c0382279d
5
5
  SHA512:
6
- metadata.gz: 56b0b46471626b08f35f0acd57cea57650c58388d7b87b98b2ffeaedb3ebae1b42dd49d5b0f747e429727613c7fe1957d1cc14adeb96fea680174e3951b82df6
7
- data.tar.gz: 1a502b1af92d195ffcd7167f8374ec83961c9227630a508222c904026c76a3a34031077bd60779e4a518c9320e3400d5432357e2b587a319153355beb8f025fa
6
+ metadata.gz: 21c4d54970b04402dba07658b815c13009bd0dd0a1f8c440202f62fa1f6670848a45abc163815c75d0ca69694343a139e76f5491ac83a768f364efd81c4f7500
7
+ data.tar.gz: '0280f986830d8065267696f1bc264123d75b06688d6327657e83ea7d49db7f95ffdf4f7eca0b1d8e3677cb3758d4e4d3eaee8b3bbba21c96c7e7725f949858ee'
@@ -1 +1 @@
1
- 2.2.3
1
+ 2.5.1
@@ -35,7 +35,7 @@ module Stator
35
35
 
36
36
  def self.included(base)
37
37
  base.class_eval do
38
- before_save :_stator_track_transition
38
+ before_validation :_stator_track_transition, prepend: true
39
39
  end
40
40
  end
41
41
 
@@ -1,7 +1,7 @@
1
1
  module Stator
2
2
  MAJOR = 0
3
- MINOR = 1
4
- PATCH = 7
3
+ MINOR = 2
4
+ PATCH = 0
5
5
  PRERELEASE = nil
6
6
 
7
7
  VERSION = [MAJOR, MINOR, PATCH, PRERELEASE].compact.join('.')
@@ -219,6 +219,15 @@ describe Stator::Model do
219
219
 
220
220
  end
221
221
 
222
+ it 'should prepend the setting of the timestamp so other callbacks can use it' do
223
+ u = User.new
224
+ u.tagged_at.should be_nil
225
+ u.semiactivate
226
+
227
+ u.semiactivated_state_at.should_not be_nil
228
+ u.tagged_at.should_not be_nil
229
+ end
230
+
222
231
  end
223
232
 
224
233
  describe 'aliasing' do
@@ -1,6 +1,7 @@
1
1
  class User < ActiveRecord::Base
2
2
  extend Stator::Model
3
3
 
4
+ before_validation :set_tagged_at
4
5
 
5
6
  # initial state = pending
6
7
  stator track: true do
@@ -85,6 +86,9 @@ class User < ActiveRecord::Base
85
86
  true
86
87
  end
87
88
 
89
+ def set_tagged_at
90
+ self.tagged_at = self.semiactivated_state_at
91
+ end
88
92
  end
89
93
 
90
94
  class Animal < ActiveRecord::Base
@@ -3,6 +3,7 @@ ActiveRecord::Schema.define(:version => 20130628161227) do
3
3
  create_table "users", :force => true do |t|
4
4
  t.string "name"
5
5
  t.string "email"
6
+ t.datetime "tagged_at"
6
7
  t.string "state", :default => 'pending'
7
8
  t.boolean "activated", :default => true
8
9
  t.datetime "created_at", :null => false
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Nelson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-30 00:00:00.000000000 Z
11
+ date: 2018-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -75,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
75
  version: '0'
76
76
  requirements: []
77
77
  rubyforge_project:
78
- rubygems_version: 2.6.8
78
+ rubygems_version: 2.7.7
79
79
  signing_key:
80
80
  specification_version: 4
81
81
  summary: The simplest of ActiveRecord state machines