bravery 0.0.2
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.
- checksums.yaml +7 -0
- data/lib/bravery.rb +53 -0
- metadata +74 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 4a53f75c8a9180f555e24f8ac92ca229aaace158
|
4
|
+
data.tar.gz: 2d535c06be91d76d054483a0dd1c9a8365296979
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8ca1ada47704bc02d803a6d319d20ea4ced84a58d1518c89690282fff4a040717cda81bf5ece835fa2955b089c836083ccca13d6454efa629a2834f01cdb4553
|
7
|
+
data.tar.gz: 8c24688a0d86e9beaf15f08ac91ece661fea2e3b4bbd40ef4906a698d47f172df1e16442a299b36b9c46dbbf5b76cddc50adf594e4c9c5f880a473482423e21a
|
data/lib/bravery.rb
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
module Bravery
|
2
|
+
module ClassMethods
|
3
|
+
@@states = []
|
4
|
+
|
5
|
+
def define_state(state_name, &callback)
|
6
|
+
@@states << state_name
|
7
|
+
define_method state_name, callback
|
8
|
+
end
|
9
|
+
|
10
|
+
def define_start_state(state_name, &callback)
|
11
|
+
state_name = state_name.to_sym
|
12
|
+
@@start_state = state_name
|
13
|
+
define_state(state_name, &callback)
|
14
|
+
end
|
15
|
+
|
16
|
+
def states
|
17
|
+
@@states
|
18
|
+
end
|
19
|
+
|
20
|
+
def start_state
|
21
|
+
@@start_state
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
module InstanceMethods
|
26
|
+
|
27
|
+
def states
|
28
|
+
self.class.states
|
29
|
+
end
|
30
|
+
|
31
|
+
def goto_state(state_name)
|
32
|
+
state_name = state_name.to_sym
|
33
|
+
set_state state_name
|
34
|
+
self.send state_name
|
35
|
+
end
|
36
|
+
|
37
|
+
def state
|
38
|
+
if @state
|
39
|
+
@state
|
40
|
+
else
|
41
|
+
@state || self.class.start_state
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def set_state(state_name)
|
46
|
+
@state = state_name.to_sym
|
47
|
+
end
|
48
|
+
end
|
49
|
+
def self.included(receiver)
|
50
|
+
receiver.extend ClassMethods
|
51
|
+
receiver.send :include, InstanceMethods
|
52
|
+
end
|
53
|
+
end
|
metadata
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: bravery
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Rick Carlino
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-12-21 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
description: Ruby state machine micro library. Maintains state and gets out of your
|
42
|
+
way.
|
43
|
+
email:
|
44
|
+
- rick.carlino@gmail.com
|
45
|
+
executables: []
|
46
|
+
extensions: []
|
47
|
+
extra_rdoc_files: []
|
48
|
+
files:
|
49
|
+
- lib/bravery.rb
|
50
|
+
homepage: http://github.com/rickcarlino/bravery
|
51
|
+
licenses:
|
52
|
+
- MIT
|
53
|
+
metadata: {}
|
54
|
+
post_install_message:
|
55
|
+
rdoc_options: []
|
56
|
+
require_paths:
|
57
|
+
- lib
|
58
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - '>='
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0'
|
68
|
+
requirements: []
|
69
|
+
rubyforge_project:
|
70
|
+
rubygems_version: 2.0.3
|
71
|
+
signing_key:
|
72
|
+
specification_version: 4
|
73
|
+
summary: Ruby state machine micro library
|
74
|
+
test_files: []
|