state_design_pattern 0.0.1 → 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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MzlmYTVlZmM1OTNmMjk4ODU4NTE2MmFlMzk1NDFhNTI1MjBhOTUzMg==
4
+ OWIzZTVjMDcyYmY2NTZiYTNmNTlkMDEyZGI2OWIyZDQwMTliYjA4YQ==
5
5
  data.tar.gz: !binary |-
6
- NGFmMWNkZTZiZjk4OGExOTMwYjlmMjQ2MmVhZmM0NGY5MjgwMGFlZA==
6
+ NjdiMjlkZDI5OTdlM2MxMjZiNTQyODM2YmFjNTU4NDI0ZDQ0MmIwMA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MTlmZTQ2MjAwZmU0YTUxYTBlMWEwZGQ4NmU2ZjBiNzdiYmUzNzM1YmI1ZjFj
10
- OGJlMWY5YjRkMGE3ZTJhZjMzZjk3NDUzZjNlOGU1ZjVlYmQ4MDZmNzAxYWU4
11
- YTFhNGRkYjlkYTEwMTJmNzIxNDBkZGNkMjBlNDU5YWRjZGJiZDM=
9
+ MzQwYWNiZjcwNTRjY2NkOTJjZmJlNjAyYjBlNDkwMDBlNjUwYWNjOWE0YTJh
10
+ YmY4ZGNiNmI4YzQ5ZjMyZjU3ODdiODA2MTM0NDdjYTMxNDc4ZDc0Mjg0NzI5
11
+ NTRmN2YzMTU2OWQ4ZDgyZmZiYWQwNTNkNGExYjY1N2NlOTUxNTk=
12
12
  data.tar.gz: !binary |-
13
- MGM0OGNmYWQxNGUyNzUxMjk5MDI5NWEyYzkzNTRiMDNlZDljYjU2MTRiZWFh
14
- OGRhMTNjN2ZhYzU4MTZhMmQ2MTM3YmEzYmMxNDBjNzY5NTU5YjhmZTc2NGQ4
15
- YjllMTFlMDE3ODcwOWEwZTRjNjg2OGVlYjY5NjkwNmE1NWRhY2E=
13
+ NjIwZDA0MzUyYTMzMjk2MDViZWNkMDVkMzJhNjZkZThiMjNlMjEwMDY1MjZi
14
+ OTgzMjM3NDMxMDdiMzAyZjY5NDc3MWI4MTZkMzBhOWEyMDQxNWE5YTQ4YjQ5
15
+ Y2VkYjQ5MjM0NmM1NDIwMzQ3MzY0NGZlNGIxOTAwYzY5YTA5NTE=
data/README.md CHANGED
@@ -1,7 +1,8 @@
1
1
  # state_design_pattern
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/state_design_pattern.svg)](http://badge.fury.io/rb/state_design_pattern)
3
4
  [![Build Status](https://travis-ci.org/dwayne/state_design_pattern.svg?branch=master)](https://travis-ci.org/dwayne/state_design_pattern)
4
- [![Coverage Status](https://coveralls.io/repos/dwayne/state_design_pattern/badge.png)](https://coveralls.io/r/dwayne/state_design_pattern)
5
+ [![Coverage Status](https://coveralls.io/repos/dwayne/state_design_pattern/badge.png?branch=master)](https://coveralls.io/r/dwayne/state_design_pattern?branch=master)
5
6
  [![Code Climate](https://codeclimate.com/github/dwayne/state_design_pattern.png)](https://codeclimate.com/github/dwayne/state_design_pattern)
6
7
 
7
8
  An implementation of the
@@ -7,6 +7,8 @@ module StateDesignPattern
7
7
  extend Forwardable
8
8
  include Observable
9
9
 
10
+ attr_reader :context
11
+
10
12
  def initialize
11
13
  initialize_context
12
14
  transition_to_start_state
@@ -45,7 +47,7 @@ module StateDesignPattern
45
47
  private
46
48
 
47
49
  def initialize_context
48
- @ctx = initial_context
50
+ @context = initial_context
49
51
  end
50
52
 
51
53
  def transition_to_start_state
@@ -58,9 +60,9 @@ module StateDesignPattern
58
60
  end
59
61
 
60
62
  def setup_context_delegation
61
- if @ctx
62
- methods = @ctx.members.map { |reader| [reader, "#{reader}=".to_sym] }.flatten
63
- self.class.def_delegators :@ctx, *methods
63
+ if @context
64
+ methods = @context.members.map { |reader| [reader, "#{reader}=".to_sym] }.flatten
65
+ self.class.def_delegators :@context, *methods
64
66
  end
65
67
  end
66
68
 
@@ -1,3 +1,3 @@
1
1
  module StateDesignPattern
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.2'
3
3
  end
@@ -10,9 +10,11 @@ describe "the operation of the state design pattern with an example" do
10
10
  end
11
11
 
12
12
  def initial_context
13
- Struct
14
- .new(:energy, :times_on, :times_off)
15
- .new(100, 0, 0)
13
+ Struct.new(:energy, :times_on, :times_off) do
14
+ def blown?
15
+ energy < 25
16
+ end
17
+ end.new(100, 0, 0)
16
18
  end
17
19
  end
18
20
 
@@ -35,7 +37,7 @@ describe "the operation of the state design pattern with an example" do
35
37
  class Off < Switch
36
38
 
37
39
  def turn_on
38
- if state_machine.energy >= 25
40
+ if !state_machine.context.blown?
39
41
  state_machine.energy -= 25
40
42
  state_machine.times_on += 1
41
43
  state_machine.transition_to_state_and_send_event(On, :turned_on, when: TIMESTAMP)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: state_design_pattern
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dwayne R. Crooks
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-20 00:00:00.000000000 Z
11
+ date: 2014-05-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake