transitions 0.0.14 → 0.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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!