stator 0.2.1 → 0.2.2

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
2
  SHA1:
3
- metadata.gz: b05270b7332e9e7a783e90c7c88436fd54ae7056
4
- data.tar.gz: bfe49f8f6174be19b87b1f94e8986050474509e0
3
+ metadata.gz: 79f3afdff7482b4d1cb783a7bdee4941e78bb3c8
4
+ data.tar.gz: 1015c2937be4daef19f9c270f8f5e20a47539232
5
5
  SHA512:
6
- metadata.gz: d39f7b87b6a727b42d9dcdf5d28afdd0cfd9978dece9817f4f5f7614e632b076048e9fad28d42cbeb2fc9c7af5a2cbd7c5983ce311510e10b1a2751b89faf3ce
7
- data.tar.gz: e3ab4eb10476ab50529ea7e24a4c5e0c9598edc97b7df61a57ebe3c7ac4420d7ef1e2f2a0a9be5755d392a062d357adda44b7881d19bf720af67e66e4d3338d9
6
+ metadata.gz: 6f1ebc9d9eecf8af87e94d778dd4eb23f146d772d91d9f4e09739c0927225e2ce15a0026fe6b05d425bbb5ccd3babf0b38604279f787951bb312fcd216d181e2
7
+ data.tar.gz: 055f13839c226f3542bd72da2a8683c9a03ee540cfb31206d6ec3b0b4357f698ba8407d1b76418393767f59efd945abc4dc272895b54b6452405f4a97620b304
@@ -16,7 +16,7 @@ module Stator
16
16
  @field = options[:field] || :state
17
17
  @namespace = options[:namespace] || nil
18
18
 
19
- @initial_state = options[:initial]
19
+ @initial_state = options[:initial] && options[:initial].to_s
20
20
 
21
21
  @transitions = []
22
22
  @aliases = []
data/lib/stator/model.rb CHANGED
@@ -14,7 +14,7 @@ module Stator
14
14
  f = options[:field] || :state
15
15
  # rescue nil since the table may not exist yet.
16
16
  initial = self.columns_hash[f.to_s].default rescue nil
17
- options = options.reverse_merge(initial: initial)
17
+ options = options.merge(initial: initial) if initial
18
18
  end
19
19
 
20
20
  machine = (self._stators[options[:namespace].to_s] ||= ::Stator::Machine.new(self, options))
@@ -1,7 +1,7 @@
1
1
  module Stator
2
2
  MAJOR = 0
3
3
  MINOR = 2
4
- PATCH = 1
4
+ PATCH = 2
5
5
  PRERELEASE = nil
6
6
 
7
7
  VERSION = [MAJOR, MINOR, PATCH, PRERELEASE].compact.join('.')
data/spec/model_spec.rb CHANGED
@@ -293,6 +293,11 @@ describe Stator::Model do
293
293
  (!!defined?(User::ICED_TEA_STATES)).should eql(false)
294
294
  User.should_not respond_to(:iced_tea)
295
295
  end
296
+
297
+ it 'should determine the full list of states correctly' do
298
+ states = User._stator("").states
299
+ states.should eql(["pending", "activated", "deactivated", "semiactivated", "hyperactivated"])
300
+ end
296
301
  end
297
302
 
298
303
  end
@@ -3,8 +3,7 @@ class User < ActiveRecord::Base
3
3
 
4
4
  before_save :set_tagged_at
5
5
 
6
- # initial state = pending
7
- stator track: true do
6
+ stator track: true, initial: :pending do
8
7
 
9
8
  transition :activate do
10
9
  from :pending, :semiactivated
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.2.1
4
+ version: 0.2.2
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-10-23 00:00:00.000000000 Z
11
+ date: 2018-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord