gamefic-sdk 2.3.3 → 2.5.0

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: 1eae9343564055a00e7ca5cf1039ab349af0c67dfe75a17edf3d2f09506dbb65
4
- data.tar.gz: 4bf5da93fd0d2b5dfd6d4b630c2bbdb0c7ee7e5eab592d62d3c6169d74ed082d
3
+ metadata.gz: 2d5077a8c894877c7b1d5796e0bae8f22eba29232163f8bdd7b971c4f7d435c7
4
+ data.tar.gz: 21586177dedd557bdb616eacad0fe7c8280a52b0fb9225c2d8115c9ad748d7d0
5
5
  SHA512:
6
- metadata.gz: 46e0e4f96795702bb01071048284827944d23dcb75fb8de9b0aadc06eb48658db5554e27ad809ff925b17fee4b0a878ae7120569e7cd2b7cdd366f3a999c90e1
7
- data.tar.gz: b8de100c44bd07dbfbc04423ba97a68ef275820d1d43f912016be4f633effd4fc9e9f29e968f99f714f5015dafd329b7deebf9015a1c5838289df292f1adf768
6
+ metadata.gz: 7953c0cf54322ab0d263f6c5100d71cf4b6e086cfff04cc47eb7282212f04eaeab431d67e2aab9eae1a2d438a2a0ef9bc0de8765e39f3f19b0b906de91a28583
7
+ data.tar.gz: 8fca0a40c79f530ecbc141ef44d0783795ceebab81d7612688bb2058f3ae62dd1ff9a6f1f9babab21659ca0ac7abbb041e33f3ceb0b0f8645256edc873af4f8b
@@ -0,0 +1,40 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with rspec.
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: RSpec
9
+
10
+ on:
11
+ push:
12
+ branches: [ master ]
13
+ pull_request:
14
+ branches: [ master ]
15
+
16
+ permissions:
17
+ contents: read
18
+
19
+ jobs:
20
+ test:
21
+
22
+ runs-on: ubuntu-latest
23
+ strategy:
24
+ matrix:
25
+ ruby-version: ['2.7', '3.0', '3.1']
26
+
27
+ steps:
28
+ - uses: actions/checkout@v3
29
+ - name: Set up Ruby
30
+ uses: ruby/setup-ruby@v1
31
+ with:
32
+ ruby-version: ${{ matrix.ruby-version }}
33
+ bundler-cache: false
34
+ # - uses: browser-actions/setup-geckodriver@latest
35
+ # with:
36
+ # token: ${{ secrets.GITHUB_TOKEN }}
37
+ - name: Install dependencies
38
+ run: bundle install
39
+ - name: Run tests
40
+ run: bundle exec rspec --tag ~type:feature
data/.rspec CHANGED
@@ -1,3 +1,2 @@
1
- --format documentation
2
- --color
3
- --require spec_helper
1
+ --color
2
+ --require spec_helper
data/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ ## 2.5.0 - February 11, 2023
2
+ - Update dependencies
3
+ - Improve tests and examples
4
+ - Add RSpec workflow
5
+
6
+ ## 2.4.0 - September 9, 2021
7
+ - Update dependencies
8
+ - README template formatting
9
+ - Fix /restore in development server
10
+
1
11
  ## 2.3.3 - July 3, 2021
2
12
  - Rename READMEs in scaffolds so they get rendered
3
13
  - Update gamefic dependency
data/README.md CHANGED
@@ -74,7 +74,7 @@ require 'gamefic-standard'
74
74
  Gamefic.script do
75
75
  @living_room = make Room, name: 'living room', description: 'This is your living room.'
76
76
  @bedroom = make Room, name: 'bedroom', description: 'This is your bedroom.'
77
- @living_room.connect @bedroom, 'north'
77
+ connect @living_room, @bedroom, 'north'
78
78
  @backpack = make Room, name: 'backpack', description: 'Your trusty backpack.', parent: @bedroom
79
79
  @book = make Room, name: 'book', description: 'Your favorite novel.', parent: @living_room
80
80
 
data/gamefic-sdk.gemspec CHANGED
@@ -22,11 +22,11 @@ Gem::Specification.new do |s|
22
22
  s.executables = ['gamefic']
23
23
  s.require_paths = ['lib']
24
24
 
25
- s.required_ruby_version = '>= 2.3.0'
25
+ s.required_ruby_version = '>= 2.7.0'
26
26
 
27
- s.add_runtime_dependency 'gamefic', '~> 2.0', '>= 2.1.1'
28
- s.add_runtime_dependency 'gamefic-standard', '~> 2.0'
29
- s.add_runtime_dependency 'gamefic-tty', '~> 2.0', '>= 2.0.1'
27
+ s.add_runtime_dependency 'gamefic', '~> 2.4'
28
+ s.add_runtime_dependency 'gamefic-standard', '~> 2.4'
29
+ s.add_runtime_dependency 'gamefic-tty', '~> 2.0', '>= 2.0.2'
30
30
  s.add_runtime_dependency 'listen', '~> 3.0'
31
31
  s.add_runtime_dependency 'opal', '~> 1.1'
32
32
  s.add_runtime_dependency 'sinatra', '~> 2'
@@ -34,9 +34,9 @@ Gem::Specification.new do |s|
34
34
 
35
35
  s.add_development_dependency 'bundler', '~> 2.0'
36
36
  s.add_development_dependency 'capybara', '~> 3.3'
37
- s.add_development_dependency 'puma', '~> 3'
37
+ s.add_development_dependency 'puma', '~> 6'
38
38
  s.add_development_dependency 'rake', '~> 13.0'
39
39
  s.add_development_dependency 'rspec', '~> 3.0'
40
- s.add_development_dependency 'selenium-webdriver', '~> 3.13'
40
+ s.add_development_dependency 'selenium-webdriver', '~> 4.2'
41
41
  s.add_development_dependency 'simplecov', '~> 0.14'
42
42
  end
@@ -13,12 +13,7 @@ module Gamefic
13
13
 
14
14
  post '/start' do
15
15
  content_type :json
16
- reset_features
17
- load File.join(settings.source_dir, 'main.rb')
18
- @@plot = Gamefic::Plot.new
19
- @@character = @@plot.get_player_character
20
- @@plot.introduce @@character
21
- @@plot.ready
16
+ start_plot
22
17
  @@character.output.to_json
23
18
  end
24
19
 
@@ -42,6 +37,7 @@ module Gamefic
42
37
 
43
38
  post '/restore' do
44
39
  content_type :json
40
+ start_plot
45
41
  # The snapshot needs to be received as a JSON string because of issues
46
42
  # with IndifferentHash malforming arrays.
47
43
  snapshot = JSON.parse(params['snapshot'])
@@ -52,6 +48,15 @@ module Gamefic
52
48
  @@character.output.to_json
53
49
  end
54
50
 
51
+ def start_plot
52
+ reset_features
53
+ load File.join(settings.source_dir, 'main.rb')
54
+ @@plot = Gamefic::Plot.new
55
+ @@character = @@plot.get_player_character
56
+ @@plot.introduce @@character
57
+ @@plot.ready
58
+ end
59
+
55
60
  def reset_features
56
61
  @@old_features ||= $LOADED_FEATURES.clone
57
62
  @@old_constants ||= Object.constants(false)
@@ -61,20 +66,6 @@ module Gamefic
61
66
  end
62
67
  Gamefic::Plot.blocks.clear
63
68
  end
64
-
65
- class << self
66
- # def run!
67
- # start_browser if settings.browser
68
- # super
69
- # end
70
-
71
- # def start_browser
72
- # Thread.new {
73
- # sleep 1 until Server.running?
74
- # `start http://localhost:#{settings.port}`
75
- # }
76
- # end
77
- end
78
69
  end
79
70
  end
80
71
  end
@@ -1,5 +1,5 @@
1
1
  module Gamefic
2
2
  module Sdk
3
- VERSION = '2.3.3'
3
+ VERSION = '2.5.0'
4
4
  end
5
5
  end
@@ -22,25 +22,20 @@ The Gamefic SDK also supports web-based versions of games. The project gets buil
22
22
 
23
23
  First you need to install the web project scaffold:
24
24
 
25
- ```
26
- $ rake web:generate
27
- ```
25
+ $ rake web:generate
26
+ $ npm install
28
27
 
29
28
  ## Running a Web Game
30
29
 
31
30
  To run the app in debug mode:
32
31
 
33
- ```
34
- $ rake web:run
35
- ```
32
+ $ rake web:run
36
33
 
37
34
  Open http://localhost:4342 in a browser.
38
35
 
39
36
  ## Building a Web Game
40
37
 
41
- ```
42
- $ rake web:build
43
- ```
38
+ $ rake web:build
44
39
 
45
40
  The application will be saved in the `builds/web/production` directory.
46
41
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gamefic-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.3
4
+ version: 2.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fred Snyder
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-03 00:00:00.000000000 Z
11
+ date: 2023-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gamefic
@@ -16,34 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.0'
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 2.1.1
19
+ version: '2.4'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: '2.0'
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 2.1.1
26
+ version: '2.4'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: gamefic-standard
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
31
  - - "~>"
38
32
  - !ruby/object:Gem::Version
39
- version: '2.0'
33
+ version: '2.4'
40
34
  type: :runtime
41
35
  prerelease: false
42
36
  version_requirements: !ruby/object:Gem::Requirement
43
37
  requirements:
44
38
  - - "~>"
45
39
  - !ruby/object:Gem::Version
46
- version: '2.0'
40
+ version: '2.4'
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: gamefic-tty
49
43
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +47,7 @@ dependencies:
53
47
  version: '2.0'
54
48
  - - ">="
55
49
  - !ruby/object:Gem::Version
56
- version: 2.0.1
50
+ version: 2.0.2
57
51
  type: :runtime
58
52
  prerelease: false
59
53
  version_requirements: !ruby/object:Gem::Requirement
@@ -63,7 +57,7 @@ dependencies:
63
57
  version: '2.0'
64
58
  - - ">="
65
59
  - !ruby/object:Gem::Version
66
- version: 2.0.1
60
+ version: 2.0.2
67
61
  - !ruby/object:Gem::Dependency
68
62
  name: listen
69
63
  requirement: !ruby/object:Gem::Requirement
@@ -154,14 +148,14 @@ dependencies:
154
148
  requirements:
155
149
  - - "~>"
156
150
  - !ruby/object:Gem::Version
157
- version: '3'
151
+ version: '6'
158
152
  type: :development
159
153
  prerelease: false
160
154
  version_requirements: !ruby/object:Gem::Requirement
161
155
  requirements:
162
156
  - - "~>"
163
157
  - !ruby/object:Gem::Version
164
- version: '3'
158
+ version: '6'
165
159
  - !ruby/object:Gem::Dependency
166
160
  name: rake
167
161
  requirement: !ruby/object:Gem::Requirement
@@ -196,14 +190,14 @@ dependencies:
196
190
  requirements:
197
191
  - - "~>"
198
192
  - !ruby/object:Gem::Version
199
- version: '3.13'
193
+ version: '4.2'
200
194
  type: :development
201
195
  prerelease: false
202
196
  version_requirements: !ruby/object:Gem::Requirement
203
197
  requirements:
204
198
  - - "~>"
205
199
  - !ruby/object:Gem::Version
206
- version: '3.13'
200
+ version: '4.2'
207
201
  - !ruby/object:Gem::Dependency
208
202
  name: simplecov
209
203
  requirement: !ruby/object:Gem::Requirement
@@ -225,6 +219,7 @@ executables:
225
219
  extensions: []
226
220
  extra_rdoc_files: []
227
221
  files:
222
+ - ".github/workflows/rspec.yml"
228
223
  - ".gitignore"
229
224
  - ".rspec"
230
225
  - ".travis.yml"
@@ -282,14 +277,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
282
277
  requirements:
283
278
  - - ">="
284
279
  - !ruby/object:Gem::Version
285
- version: 2.3.0
280
+ version: 2.7.0
286
281
  required_rubygems_version: !ruby/object:Gem::Requirement
287
282
  requirements:
288
283
  - - ">="
289
284
  - !ruby/object:Gem::Version
290
285
  version: '0'
291
286
  requirements: []
292
- rubygems_version: 3.1.6
287
+ rubygems_version: 3.3.7
293
288
  signing_key:
294
289
  specification_version: 4
295
290
  summary: Gamefic SDK