obake 0.1.0 → 0.2.0

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
- SHA1:
3
- metadata.gz: 725b3bd3895428453008f523256b1804aa7928a8
4
- data.tar.gz: c6744686f0ab566d4f68a4600801d104eac8f9ef
2
+ SHA256:
3
+ metadata.gz: 45a936ee7e93c25e83a71d39dc8471a44dac48052945cb39796175559ab16967
4
+ data.tar.gz: 064cba35474d8c336231203e50257b64445d7fed286b2ac3a32880ea4c94f569
5
5
  SHA512:
6
- metadata.gz: 7cdf4deafb8b89c30517549ce2e51757f9c8a0176ecf2f17693a776bd467ed3f1bc9ced4ef09f3da6cff4c37f178c371eb32ee3b5c26aa2807490728278bb84f
7
- data.tar.gz: 733b4807f26c00231e053da8f2ec30af97470ecd07cab3b5b7674af5764e582a887e0b45522f58d230914ebc2a430581b7e8aa97b956c25d1c045ece0cd7522b
6
+ metadata.gz: f6c9ad95fdc4fb8776b6a5eb78f61c6cae1339bdd57e3775d0681437286336c4aa5f7cf49a524c059be62568181df92c36cb219f5090edc9d45f89927bd16f35
7
+ data.tar.gz: 4f76c71a7282c76eb9b4f015d9a8fd6998454237f141d336636b21e500ab95e63fe21bca7444ed104d768f6530f465a3f02e74bfe846ff4d6839e5d3e8b52eaf
data/.gitignore CHANGED
@@ -48,3 +48,5 @@ build-iPhoneSimulator/
48
48
 
49
49
  # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
50
50
  .rvmrc
51
+
52
+ .rspec_status
data/CHANGELOG.md ADDED
@@ -0,0 +1,8 @@
1
+ # 0.2.0
2
+
3
+ * Add internal reference to FiniteStateMachine in States
4
+ * Add helper method for a State to exit itself.
5
+
6
+ # 0.1.0
7
+
8
+ * Initial release!
data/Gemfile CHANGED
@@ -1,3 +1,6 @@
1
+ #ruby=ruby-2.6.3
2
+ #ruby-gemset=obake
3
+
1
4
  source "https://rubygems.org"
2
5
 
3
6
  git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
data/Gemfile.lock CHANGED
@@ -9,38 +9,38 @@ GEM
9
9
  byebug (9.1.0)
10
10
  coderay (1.1.2)
11
11
  diff-lcs (1.3)
12
- method_source (0.9.0)
13
- pry (0.11.3)
12
+ method_source (0.9.2)
13
+ pry (0.12.2)
14
14
  coderay (~> 1.1.0)
15
15
  method_source (~> 0.9.0)
16
16
  pry-byebug (3.5.1)
17
17
  byebug (~> 9.1)
18
18
  pry (~> 0.10)
19
19
  rake (10.5.0)
20
- rspec (3.7.0)
21
- rspec-core (~> 3.7.0)
22
- rspec-expectations (~> 3.7.0)
23
- rspec-mocks (~> 3.7.0)
24
- rspec-core (3.7.1)
25
- rspec-support (~> 3.7.0)
26
- rspec-expectations (3.7.0)
20
+ rspec (3.8.0)
21
+ rspec-core (~> 3.8.0)
22
+ rspec-expectations (~> 3.8.0)
23
+ rspec-mocks (~> 3.8.0)
24
+ rspec-core (3.8.2)
25
+ rspec-support (~> 3.8.0)
26
+ rspec-expectations (3.8.4)
27
27
  diff-lcs (>= 1.2.0, < 2.0)
28
- rspec-support (~> 3.7.0)
29
- rspec-mocks (3.7.0)
28
+ rspec-support (~> 3.8.0)
29
+ rspec-mocks (3.8.1)
30
30
  diff-lcs (>= 1.2.0, < 2.0)
31
- rspec-support (~> 3.7.0)
32
- rspec-support (3.7.1)
31
+ rspec-support (~> 3.8.0)
32
+ rspec-support (3.8.2)
33
33
 
34
34
  PLATFORMS
35
35
  ruby
36
- x86_64-darwin-16
36
+ x86_64-darwin-18
37
37
 
38
38
  DEPENDENCIES
39
- bundler (~> 1.15)
39
+ bundler (~> 2.0.2)
40
40
  obake!
41
41
  pry-byebug (~> 3.5.0)
42
42
  rake (~> 10.0)
43
43
  rspec (~> 3.0)
44
44
 
45
45
  BUNDLED WITH
46
- 1.16.1
46
+ 2.0.2
@@ -1,14 +1,13 @@
1
1
  module Obake
2
2
  class FiniteStateMachine
3
+ attr_reader :current_state
4
+
3
5
  def initialize
4
6
  @states = {}
5
7
  end
6
-
7
- def current_state
8
- @current_state.id
9
- end
10
8
 
11
9
  def add_state(state)
10
+ state.instance_variable_set(:@fsm, self)
12
11
  @states[state.id] = state
13
12
  end
14
13
 
data/lib/obake/state.rb CHANGED
@@ -13,5 +13,9 @@ module Obake
13
13
  def on_exit
14
14
 
15
15
  end
16
+
17
+ def exit(next_state_id, data = {})
18
+ @fsm.change_state(Transition.new(next_state_id, data))
19
+ end
16
20
  end
17
21
  end
data/lib/obake/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Obake
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
data/obake.gemspec CHANGED
@@ -1,28 +1,26 @@
1
- # coding: utf-8
2
- lib = File.expand_path("../lib", __FILE__)
1
+ lib = File.expand_path('../lib', __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "obake/version"
3
+ require 'obake/version'
5
4
 
6
5
  Gem::Specification.new do |spec|
7
- spec.name = "obake"
6
+ spec.name = 'obake'
8
7
  spec.version = Obake::VERSION
9
- spec.authors = ["John Tuttle"]
10
- spec.email = ["jtuttle.develops@gmail.com"]
8
+ spec.authors = ['John Tuttle']
9
+ spec.email = ['jtuttle.develops@gmail.com']
11
10
 
12
- spec.summary = "A Finite State Machine written in Ruby"
13
- spec.description = "A Finite State Machine written in Ruby"
14
- spec.homepage = "https://github.com/jtuttle/obake"
15
- spec.license = "MIT"
11
+ spec.summary = 'A Finite State Machine written in Ruby'
12
+ spec.description = 'A Finite State Machine written in Ruby'
13
+ spec.homepage = 'https://github.com/jtuttle/obake'
14
+ spec.license = 'MIT'
16
15
 
16
+ # use double quotes for "\x0" (https://github.com/bundler/bundler/issues/4133)
17
17
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
18
  f.match(%r{^(test|spec|features)/})
19
19
  end
20
- spec.bindir = "exe"
21
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
- spec.require_paths = ["lib"]
20
+ spec.require_paths = ['lib']
23
21
 
24
- spec.add_development_dependency "bundler", "~> 1.15"
25
- spec.add_development_dependency "rake", "~> 10.0"
26
- spec.add_development_dependency "rspec", "~> 3.0"
27
- spec.add_development_dependency "pry-byebug", "~> 3.5.0"
22
+ spec.add_development_dependency 'bundler', '~> 2.0.2'
23
+ spec.add_development_dependency 'rake', '~> 10.0'
24
+ spec.add_development_dependency 'rspec', '~> 3.0'
25
+ spec.add_development_dependency 'pry-byebug', '~> 3.5.0'
28
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: obake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Tuttle
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-25 00:00:00.000000000 Z
11
+ date: 2019-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.15'
19
+ version: 2.0.2
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.15'
26
+ version: 2.0.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -74,8 +74,8 @@ extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
76
  - ".gitignore"
77
- - ".rspec_status"
78
77
  - ".ruby-gemset"
78
+ - CHANGELOG.md
79
79
  - Gemfile
80
80
  - Gemfile.lock
81
81
  - LICENSE
@@ -105,8 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
105
105
  - !ruby/object:Gem::Version
106
106
  version: '0'
107
107
  requirements: []
108
- rubyforge_project:
109
- rubygems_version: 2.6.12
108
+ rubygems_version: 3.0.4
110
109
  signing_key:
111
110
  specification_version: 4
112
111
  summary: A Finite State Machine written in Ruby
data/.rspec_status DELETED
@@ -1,4 +0,0 @@
1
- example_id | status | run_time |
2
- ------------------------------------------ | ------ | --------------- |
3
- ./spec/finite_state_machine_spec.rb[1:1:1] | passed | 0.00037 seconds |
4
- ./spec/finite_state_machine_spec.rb[1:2:1] | passed | 0.00015 seconds |