workflow 0.8.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -48,6 +48,10 @@ Here is the expression of this workflow using the API:
48
48
 
49
49
  Nice, isn't it!
50
50
 
51
+ Note: the first state in the definition (`:new` in the example, but you
52
+ can name it as you wish) is used as the initial state - newly created
53
+ objects start their life cycle in that state.
54
+
51
55
  Let's create an article instance and check in which state it is:
52
56
 
53
57
  article = Article.new
@@ -91,8 +95,11 @@ Ruby 1.9
91
95
  --------
92
96
 
93
97
  Workflow gem does not work with some (but very widespread) Ruby 1.9
94
- builds due to a known bug in Ruby 1.9. Either compile your Ruby 1.9 from
95
- source or [comment out some lines in workflow](http://github.com/geekq/workflow/issues#issue/6)
98
+ builds due to a known bug in Ruby 1.9. Either
99
+
100
+ * use newer ruby build, 1.9.2-p136 and -p180 tested to work
101
+ * or compile your Ruby 1.9 from source
102
+ * or [comment out some lines in workflow](http://github.com/geekq/workflow/issues#issue/6)
96
103
  (reduces functionality).
97
104
 
98
105
  Examples
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'rubygems'
2
- require 'rake/gempackagetask'
2
+ require 'rubygems/package_task'
3
3
  require 'rake/testtask'
4
- require 'rake/rdoctask'
4
+ require 'rdoc/task'
5
5
 
6
6
  task :default => [:test]
7
7
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.0
1
+ 0.8.1
data/lib/workflow.rb CHANGED
@@ -134,7 +134,7 @@ module Workflow
134
134
  end
135
135
 
136
136
  define_method "can_#{event_name}?" do
137
- return self.current_state.events.include? event_name
137
+ return self.current_state.events.include?(event_name)
138
138
  end
139
139
  end
140
140
  end
@@ -174,7 +174,7 @@ module Workflow
174
174
  from = current_state
175
175
  to = spec.states[event.transitions_to]
176
176
 
177
- run_before_transition(current_state, spec.states[event.transitions_to], name, *args)
177
+ run_before_transition(from, to, name, *args)
178
178
  return false if @halted
179
179
 
180
180
  return_value = run_action(event.action, *args) || run_action_callback(event.name, *args)
data/workflow.gemspec ADDED
@@ -0,0 +1,59 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{workflow}
8
+ s.version = "0.8.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Vladimir Dobriakov"]
12
+ s.date = %q{2011-08-20}
13
+ s.description = %q{ Workflow is a finite-state-machine-inspired API for modeling and interacting
14
+ with what we tend to refer to as 'workflow'.
15
+
16
+ * nice DSL to describe your states, events and transitions
17
+ * robust integration with ActiveRecord and non relational data stores
18
+ * various hooks for single transitions, entering state etc.
19
+ * convenient access to the workflow specification: list states, possible events
20
+ for particular state
21
+ }
22
+ s.email = %q{vladimir@geekq.net}
23
+ s.extra_rdoc_files = [
24
+ "README.markdown"
25
+ ]
26
+ s.files = [
27
+ "MIT-LICENSE",
28
+ "README.markdown",
29
+ "Rakefile",
30
+ "VERSION",
31
+ "lib/workflow.rb",
32
+ "test/advanced_hooks_and_validation_test.rb",
33
+ "test/before_transition_test.rb",
34
+ "test/couchtiny_example.rb",
35
+ "test/main_test.rb",
36
+ "test/multiple_workflows_test.rb",
37
+ "test/readme_example.rb",
38
+ "test/test_helper.rb",
39
+ "test/without_active_record_test.rb",
40
+ "workflow.gemspec",
41
+ "workflow.rb"
42
+ ]
43
+ s.homepage = %q{http://www.geekq.net/workflow/}
44
+ s.require_paths = ["lib"]
45
+ s.rubyforge_project = %q{workflow}
46
+ s.rubygems_version = %q{1.3.6}
47
+ s.summary = %q{A replacement for acts_as_state_machine.}
48
+
49
+ if s.respond_to? :specification_version then
50
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
51
+ s.specification_version = 3
52
+
53
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
54
+ else
55
+ end
56
+ else
57
+ end
58
+ end
59
+
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 8
8
- - 0
9
- version: 0.8.0
8
+ - 1
9
+ version: 0.8.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Vladimir Dobriakov
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-12-09 00:00:00 +01:00
17
+ date: 2011-08-20 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies: []
20
20
 
@@ -27,7 +27,6 @@ extensions: []
27
27
  extra_rdoc_files:
28
28
  - README.markdown
29
29
  files:
30
- - .gitignore
31
30
  - MIT-LICENSE
32
31
  - README.markdown
33
32
  - Rakefile
@@ -41,14 +40,15 @@ files:
41
40
  - test/readme_example.rb
42
41
  - test/test_helper.rb
43
42
  - test/without_active_record_test.rb
43
+ - workflow.gemspec
44
44
  - workflow.rb
45
45
  has_rdoc: true
46
46
  homepage: http://www.geekq.net/workflow/
47
47
  licenses: []
48
48
 
49
49
  post_install_message:
50
- rdoc_options:
51
- - --charset=UTF-8
50
+ rdoc_options: []
51
+
52
52
  require_paths:
53
53
  - lib
54
54
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -72,12 +72,5 @@ rubygems_version: 1.3.6
72
72
  signing_key:
73
73
  specification_version: 3
74
74
  summary: A replacement for acts_as_state_machine.
75
- test_files:
76
- - test/couchtiny_example.rb
77
- - test/main_test.rb
78
- - test/before_transition_test.rb
79
- - test/test_helper.rb
80
- - test/without_active_record_test.rb
81
- - test/multiple_workflows_test.rb
82
- - test/readme_example.rb
83
- - test/advanced_hooks_and_validation_test.rb
75
+ test_files: []
76
+
data/.gitignore DELETED
@@ -1,8 +0,0 @@
1
- tmp
2
- nbproject
3
- pkg
4
- doc/
5
- html/
6
- *.swp
7
- *.gemspec
8
- .yardoc