spy_alley_application 0.3.0 → 0.3.1

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,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b5f180d38117c8c362cc7651a65b3c3dd8fe7a6fa02ca7de34f257b5b4fb307e
4
- data.tar.gz: 01b57093b11db24e91a5ef4be7c960894cd053a04da91de5a4da1499d760f898
3
+ metadata.gz: 51d7a160db3dd8f988a34c01b9c6db7602c40e1f21077f4edf9596c545c79ca0
4
+ data.tar.gz: f34ce4a22aa442faf10700e5321a79e74b1f526a978d75f505905d9494898c8f
5
5
  SHA512:
6
- metadata.gz: '088778f1b9a0d2987c1c92964ef8dc755861075948707bb88fa14ad9bad9c209553d7d033e07cb4530c610acecb1dd2248099e41f6ec1fd98c05609fdc696cda'
7
- data.tar.gz: 534c52da2d311120b79e037e5439cf5c287483ead003ef903445ca5672fdd34badabe89c83aa5d9f0244a34dd437280d4230ba3b48801e14ddb2596df221fb32
6
+ metadata.gz: 59459b4bc725c52991c2b6bd9685d05812ccf6d9fb9ca850f3f5229c1bca88c93ac0ed114e1dab35cedda9561f6fd13f758a3e0990c6d995f437a84730c67054
7
+ data.tar.gz: 8492bf6951da16e712f90d7280e8e6d549ac5be4fa6552bec712075ee5c9bd463db3fb135fd9e3154b597415768c5e16ef6a15b4789a2b4ca4514e02ce4d6adc
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Roda::SpyAlleyApplication
1
+ # SpyAlleyApplication
2
2
 
3
3
  Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/roda/spy_alley_application`. To experiment with that code, run `bin/console` for an interactive prompt.
4
4
 
@@ -9,7 +9,7 @@ TODO: Delete this and the text above, and describe your gem
9
9
  Add this line to your application's Gemfile:
10
10
 
11
11
  ```ruby
12
- gem 'roda-spy_alley_application'
12
+ gem 'spy_alley_application'
13
13
  ```
14
14
 
15
15
  And then execute:
@@ -18,11 +18,77 @@ And then execute:
18
18
 
19
19
  Or install it yourself as:
20
20
 
21
- $ gem install roda-spy_alley_application
21
+ $ gem install spy_alley_application
22
22
 
23
- ## Usage
23
+ ## SpyAlleyApplication::NewGame
24
+ ```
25
+ require 'spy_alley_application/new_game'
26
+ new_game = SpyAlleyApplication::NewGame
27
+ ```
28
+ You call it with an Array of Hashes with ids and seats (that must all be distinct)
29
+ ```
30
+ new_game.(action_hash: {seat_assignments: [{id: 1, seat: 1}, {id: 2, seat: 2}]}, user: nil)
31
+ ```
32
+ ## SpyAlleyApplication::ExecuteAction
33
+ ```
34
+ require 'spy_alley_application/execute_action'
35
+ execute_action = SpyAlleyApplication::ExecuteAction
36
+ ```
24
37
 
25
- TODO: Write usage instructions here
38
+ ### game_board format
39
+ players: (array of)
40
+ id: 1,
41
+ seat: 1,
42
+ location: {id: 0},
43
+ spy_identity: "spanish",
44
+ money: 20,
45
+ move cards: [1,2],
46
+ equipment: ["german password", "german key"],
47
+ wild_cards: 0,
48
+ active?: true
49
+ move_card_pile: [1,3,2,5,6...]
50
+ free_gift_pile: ["russian password", "german key", "wild card"...]
51
+ game_state:
52
+ name: "start_of_turn",
53
+ seat: 1
54
+
55
+ <b>action_hash</b>
56
+ Legal options:
57
+ player_action:
58
+ - roll_die
59
+ - use_move_card
60
+ - make_accusation
61
+ - move
62
+ - buy_equipment
63
+ - confiscate_materials
64
+ - choose_new_spy_identity
65
+ - pass
66
+ equipment_to_buy: # only required if player_action = 'buy_equipment' (send an array of strings)
67
+ - russian password
68
+ - german key
69
+ and so on
70
+ equipment_to_confiscate: # only required if player_action = 'buy_equipment' (send a single string)
71
+ - russian password
72
+ - german key
73
+ and so on
74
+ card_to_use: {1, 2, 3, 4, 5, 6} # required if player_action = 'use_move_card' (a single value)
75
+ space_id: {0, 1...30, 31} # required if player_action = 'move'
76
+ target_player_id: {1...} # required if player_action = 'make_accusation' or 'confiscate_materials'
77
+ nationality: # required if player_action = 'make_accusation' or 'choose_new_spy_identity'
78
+ - french
79
+ - german
80
+ - spanish
81
+ - italian
82
+ - american
83
+ - russian
84
+
85
+ ### user
86
+ User is an object calculated by users of this project that quack with the following interface
87
+ id() # the id of the user
88
+ admin?() # true or false dependending on whether the user is an admin
89
+
90
+ ### last_action_id
91
+ the action_id of the last completed action. The action hash should fail to validate if it doesn't match the action_id in the action_hash
26
92
 
27
93
  ## Development
28
94
 
@@ -32,7 +98,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
32
98
 
33
99
  ## Contributing
34
100
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/roda-spy_alley_application.
101
+ Bug reports and pull requests are welcome on GitHub at https://github.com/cmcolinh/spy_alley_application.
36
102
 
37
103
  ## License
38
104
 
@@ -1,3 +1,3 @@
1
1
  module SpyAlleyApplication
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.1'
3
3
  end
@@ -2,7 +2,7 @@ lib = File.expand_path("lib", __dir__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
  require "spy_alley_application/version"
4
4
 
5
- Gem::Specification.new 'spy_alley_application', '0.3.0' do |spec|
5
+ Gem::Specification.new 'spy_alley_application', '0.3.1' do |spec|
6
6
  spec.name = 'spy_alley_application'
7
7
  spec.version = SpyAlleyApplication::VERSION
8
8
  spec.authors = ['Colin Horner']
@@ -27,14 +27,14 @@ Gem::Specification.new 'spy_alley_application', '0.3.0' do |spec|
27
27
  spec.require_paths = ["lib"]
28
28
 
29
29
  spec.add_development_dependency 'bundler', '~> 2.0'
30
- spec.add_development_dependency 'change_orders', '~> 0.1.0'
31
- spec.add_development_dependency 'dry-auto_inject'
32
- spec.add_development_dependency 'dry-initializer'
33
- spec.add_development_dependency 'dry-monads'
34
- spec.add_development_dependency 'dry-struct'
35
- spec.add_development_dependency 'dry-types'
36
- spec.add_development_dependency 'dry-validation'
37
- spec.add_development_dependency 'game_validator', '~> 0.6.0'
30
+ spec.add_dependency 'change_orders', '~> 0.1.0'
31
+ spec.add_dependency 'dry-auto_inject'
32
+ spec.add_dependency 'dry-initializer'
33
+ spec.add_dependency 'dry-monads'
34
+ spec.add_dependency 'dry-struct'
35
+ spec.add_dependency 'dry-types'
36
+ spec.add_dependency 'dry-validation'
37
+ spec.add_dependency 'game_validator', '~> 0.6.0'
38
38
  spec.add_development_dependency 'rake', '~> 13.0'
39
39
  spec.add_development_dependency 'rspec', '~> 3.0'
40
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spy_alley_application
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Colin Horner
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-04-30 00:00:00.000000000 Z
11
+ date: 2021-08-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -31,7 +31,7 @@ dependencies:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: 0.1.0
34
- type: :development
34
+ type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
@@ -45,7 +45,7 @@ dependencies:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
- type: :development
48
+ type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
@@ -59,7 +59,7 @@ dependencies:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
- type: :development
62
+ type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
@@ -73,7 +73,7 @@ dependencies:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
- type: :development
76
+ type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
@@ -87,7 +87,7 @@ dependencies:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
- type: :development
90
+ type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
@@ -101,7 +101,7 @@ dependencies:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
- type: :development
104
+ type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
@@ -115,7 +115,7 @@ dependencies:
115
115
  - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
- type: :development
118
+ type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
@@ -129,7 +129,7 @@ dependencies:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
131
  version: 0.6.0
132
- type: :development
132
+ type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements: