transitions 0.0.14 → 0.0.16

Sign up to get free protection for your applications and to get access to all the features.
data/.rvmrc CHANGED
@@ -1 +1 @@
1
- rvm ruby-1.9.2-p290@transitions
1
+ rvm 1.9.3@transitions --create
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ # 0.0.16 (2012-04-18):
2
+
3
+ * (mperham) Remove backports, fix Ruby 1.8 support.
4
+
5
+ # 0.0.15 (2012-04-17):
6
+
7
+ * (troessner) Ensure ruby 1.8.7 compatibility.
8
+
1
9
  # 0.0.14 (2012-04-16):
2
10
 
3
11
  * (troessner) Improve error messages for invalid transitions.
data/Rakefile CHANGED
@@ -4,7 +4,7 @@ Bundler.setup
4
4
 
5
5
  require "rake/testtask"
6
6
  Rake::TestTask.new(:test) do |test|
7
- test.libs << "lib" << "test"
7
+ test.libs = %w(lib test)
8
8
  test.pattern = "test/**/test_*.rb"
9
9
  test.verbose = true
10
10
  end
@@ -1,5 +1,5 @@
1
- require_relative '../active_model/transitions'
1
+ require 'active_model/transitions'
2
2
 
3
3
  module ActiveRecord
4
4
  Transitions = ActiveModel::Transitions
5
- end
5
+ end
@@ -40,7 +40,7 @@ module Transitions
40
40
 
41
41
  def fire(obj, to_state = nil, *args)
42
42
  transitions = @transitions.select { |t| t.from == obj.current_state(@machine ? @machine.name : nil) }
43
- raise InvalidTransition, error_message_for_invalid_transitions(obj) if transitions.size == 0
43
+ raise InvalidTransition, error_message_for_invalid_transitions(obj, to_state) if transitions.size == 0
44
44
 
45
45
  next_state = nil
46
46
  transitions.each do |transition|
@@ -134,8 +134,8 @@ module Transitions
134
134
  end
135
135
  end
136
136
 
137
- def error_message_for_invalid_transitions(obj)
138
- "No transitions present for `#{obj.class.name}` #{obj.class < ActiveRecord::Base && obj.persisted? ? "with ID #{obj.id} " : nil}with current state `#{obj.current_state}`"
137
+ def error_message_for_invalid_transitions(obj, to_state)
138
+ "Cannot transition to #{to_state || 'default'} from #{obj.current_state} for `#{obj.class.name}` #{obj.class < ActiveRecord::Base && obj.persisted? ? "with ID #{obj.id} " : nil}"
139
139
  end
140
140
  end
141
141
  end
@@ -1,3 +1,3 @@
1
1
  module Transitions
2
- VERSION = "0.0.14"
2
+ VERSION = "0.0.16"
3
3
  end
data/lib/transitions.rb CHANGED
@@ -54,8 +54,8 @@ module Transitions
54
54
  block ? state_machines[name].update(options, &block) : state_machines[name]
55
55
  end
56
56
 
57
- def available_states name = :default
58
- state_machines[name].states.map(&:name).sort
57
+ def available_states(name = :default)
58
+ state_machines[name].states.map(&:name).sort_by {|x| x.to_s}
59
59
  end
60
60
 
61
61
  def define_state_query_method(state_name)
data/test/db/create_db.rb CHANGED
@@ -1,12 +1,12 @@
1
1
  # Use this schema to create all required tables
2
2
  class CreateDb < ActiveRecord::Migration
3
3
  def self.up
4
- create_table(:traffic_lights, force: true) do |t|
4
+ create_table(:traffic_lights, :force => true) do |t|
5
5
  t.string :state
6
6
  t.string :name
7
7
  end
8
8
 
9
- create_table(:orders, force: true) do |t|
9
+ create_table(:orders, :force => true) do |t|
10
10
  t.string :state
11
11
  t.string :order_number
12
12
  t.datetime :paid_at
data/test/helper.rb CHANGED
@@ -4,17 +4,10 @@ require "active_support/all"
4
4
  require "active_record"
5
5
  require "mocha"
6
6
  require "db/create_db"
7
- require "ruby-debug"
8
7
 
9
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
10
- $LOAD_PATH.unshift(File.dirname(__FILE__))
11
8
  require "transitions"
12
9
  require "active_model/transitions"
13
10
 
14
- class Test::Unit::TestCase
15
-
16
- end
17
-
18
11
  def create_database
19
12
  ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
20
13
  ActiveRecord::Migration.verbose = false
@@ -57,7 +57,7 @@ class TestActiveRecordTimestamps < Test::Unit::TestCase
57
57
  end
58
58
 
59
59
  def create_order(state = nil)
60
- Order.create! order_number: SecureRandom.hex(4), state: state
60
+ Order.create! :order_number => SecureRandom.hex(4), :state => state
61
61
  end
62
62
 
63
63
  # control case, no timestamp has been set so we should expect default behaviour
@@ -106,7 +106,7 @@ class TestActiveRecordTimestamps < Test::Unit::TestCase
106
106
  class Order < ActiveRecord::Base
107
107
  include ActiveModel::Transitions
108
108
  state_machine do
109
- event :replace, timestamp: 1 do
109
+ event :replace, :timestamp => 1 do
110
110
  transitions :from => :prepared, :to => :placed
111
111
  end
112
112
  end
data/transitions.gemspec CHANGED
@@ -5,7 +5,7 @@ Gem::Specification.new do |s|
5
5
  s.name = "transitions"
6
6
  s.version = Transitions::VERSION
7
7
  s.platform = Gem::Platform::RUBY
8
- s.authors = ["Jakub Kuźma", "Timo Rößner"]
8
+ s.authors = ["Jakub Kuzma", "Timo Roessner"]
9
9
  s.email = "timo.roessner@googlemail.com"
10
10
  s.homepage = "http://github.com/troessner/transitions"
11
11
  s.summary = "State machine extracted from ActiveModel"
@@ -17,9 +17,9 @@ Gem::Specification.new do |s|
17
17
  s.add_development_dependency "bundler", "~> 1"
18
18
  s.add_development_dependency "test-unit", "~> 2.2"
19
19
  s.add_development_dependency "mocha"
20
- s.add_development_dependency "sqlite3-ruby"
20
+ s.add_development_dependency "rake"
21
+ s.add_development_dependency "sqlite3"
21
22
  s.add_development_dependency "activerecord", "~> 3"
22
- s.add_development_dependency "ruby-debug19"
23
23
 
24
24
  s.files = `git ls-files`.split("\n")
25
25
  s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
metadata CHANGED
@@ -1,20 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: transitions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.14
4
+ version: 0.0.16
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
- - Jakub Kuźma
9
- - Timo Rößner
8
+ - Jakub Kuzma
9
+ - Timo Roessner
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-04-16 00:00:00.000000000Z
13
+ date: 2012-04-18 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
17
- requirement: &74398430 !ruby/object:Gem::Requirement
17
+ requirement: &75905730 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '1'
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: *74398430
25
+ version_requirements: *75905730
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: test-unit
28
- requirement: &74398010 !ruby/object:Gem::Requirement
28
+ requirement: &75904950 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '2.2'
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *74398010
36
+ version_requirements: *75904950
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: mocha
39
- requirement: &74397730 !ruby/object:Gem::Requirement
39
+ requirement: &75904680 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '0'
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *74397730
47
+ version_requirements: *75904680
48
48
  - !ruby/object:Gem::Dependency
49
- name: sqlite3-ruby
50
- requirement: &74397410 !ruby/object:Gem::Requirement
49
+ name: rake
50
+ requirement: &75886600 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,29 +55,29 @@ dependencies:
55
55
  version: '0'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *74397410
58
+ version_requirements: *75886600
59
59
  - !ruby/object:Gem::Dependency
60
- name: activerecord
61
- requirement: &74396940 !ruby/object:Gem::Requirement
60
+ name: sqlite3
61
+ requirement: &75886220 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
- - - ~>
64
+ - - ! '>='
65
65
  - !ruby/object:Gem::Version
66
- version: '3'
66
+ version: '0'
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *74396940
69
+ version_requirements: *75886220
70
70
  - !ruby/object:Gem::Dependency
71
- name: ruby-debug19
72
- requirement: &74396440 !ruby/object:Gem::Requirement
71
+ name: activerecord
72
+ requirement: &75885690 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
- - - ! '>='
75
+ - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: '0'
77
+ version: '3'
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *74396440
80
+ version_requirements: *75885690
81
81
  description: Lightweight state machine extracted from ActiveModel
82
82
  email: timo.roessner@googlemail.com
83
83
  executables: []
@@ -89,7 +89,6 @@ files:
89
89
  - .travis.yml
90
90
  - CHANGELOG.md
91
91
  - Gemfile
92
- - Gemfile.lock
93
92
  - LICENSE
94
93
  - README.rdoc
95
94
  - Rakefile
@@ -130,7 +129,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
130
129
  version: '0'
131
130
  segments:
132
131
  - 0
133
- hash: 950488929
132
+ hash: -702570801
134
133
  required_rubygems_version: !ruby/object:Gem::Requirement
135
134
  none: false
136
135
  requirements:
data/Gemfile.lock DELETED
@@ -1,54 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- transitions (0.0.14)
5
-
6
- GEM
7
- remote: http://rubygems.org/
8
- specs:
9
- activemodel (3.0.0)
10
- activesupport (= 3.0.0)
11
- builder (~> 2.1.2)
12
- i18n (~> 0.4.1)
13
- activerecord (3.0.0)
14
- activemodel (= 3.0.0)
15
- activesupport (= 3.0.0)
16
- arel (~> 1.0.0)
17
- tzinfo (~> 0.3.23)
18
- activesupport (3.0.0)
19
- archive-tar-minitar (0.5.2)
20
- arel (1.0.1)
21
- activesupport (~> 3.0.0)
22
- builder (2.1.2)
23
- columnize (0.3.4)
24
- i18n (0.4.1)
25
- linecache19 (0.5.12)
26
- ruby_core_source (>= 0.1.4)
27
- mocha (0.9.8)
28
- rake
29
- rake (0.8.7)
30
- ruby-debug-base19 (0.11.25)
31
- columnize (>= 0.3.1)
32
- linecache19 (>= 0.5.11)
33
- ruby_core_source (>= 0.1.4)
34
- ruby-debug19 (0.11.6)
35
- columnize (>= 0.3.1)
36
- linecache19 (>= 0.5.11)
37
- ruby-debug-base19 (>= 0.11.19)
38
- ruby_core_source (0.1.5)
39
- archive-tar-minitar (>= 0.5.2)
40
- sqlite3-ruby (1.3.1)
41
- test-unit (2.4.1)
42
- tzinfo (0.3.23)
43
-
44
- PLATFORMS
45
- ruby
46
-
47
- DEPENDENCIES
48
- activerecord (~> 3)
49
- bundler (~> 1)
50
- mocha
51
- ruby-debug19
52
- sqlite3-ruby
53
- test-unit (~> 2.2)
54
- transitions!