gamefic-sdk 2.3.0 → 2.4.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 +4 -4
- data/CHANGELOG.md +17 -0
- data/gamefic-sdk.gemspec +4 -4
- data/lib/gamefic-sdk/scaffold.rb +1 -1
- data/lib/gamefic-sdk/server.rb +11 -6
- data/lib/gamefic-sdk/version.rb +1 -1
- data/scaffolds/library/README.md.gf.erb +19 -0
- data/scaffolds/project/README.md.gf.erb +44 -0
- data/scaffolds/react/webpack.config.js +23 -20
- metadata +16 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 76da51db81b6dc52df2c2c5e845f778ff9a9d71154f707b19ae387f391b8e6b2
|
|
4
|
+
data.tar.gz: 2ac813718878085ddf4480afea7b833aba67bf4f090729719d06b03f322a17ac
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 59fdb821c8e7fc454182c69b91bc9915b0086e4aaa2048de90c22b5cbf74c62ef216a7ca25a972e3c1786170ed1c5a1ca46fac668bb6ebf9eeff6c0aade26f07
|
|
7
|
+
data.tar.gz: 6646a38f8a8bd6dcf0c50fccc48cdad108adf5122a2c6a047ecc1ae675d95d5ce1d6f3a153df72b0962c322e9b9973e60e9fb7536a9e7c37e4095686e5f9006e
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
## 2.4.0 - September 9, 2021
|
|
2
|
+
- Update dependencies
|
|
3
|
+
- README template formatting
|
|
4
|
+
- Fix /restore in development server
|
|
5
|
+
|
|
6
|
+
## 2.3.3 - July 3, 2021
|
|
7
|
+
- Rename READMEs in scaffolds so they get rendered
|
|
8
|
+
- Update gamefic dependency
|
|
9
|
+
- Fix bundle install in scaffold build
|
|
10
|
+
|
|
11
|
+
## 2.3.2 - March 11, 2021
|
|
12
|
+
- Add READMEs to project scaffolds
|
|
13
|
+
- Disable css-loader esModule option in webpack config
|
|
14
|
+
|
|
15
|
+
## 2.3.1 - March 3, 2021
|
|
16
|
+
- Update opal dependency
|
|
17
|
+
|
|
1
18
|
## 2.3.0 - December 14, 2020
|
|
2
19
|
- Update package dependencies for web builds
|
|
3
20
|
|
data/gamefic-sdk.gemspec
CHANGED
|
@@ -24,17 +24,17 @@ Gem::Specification.new do |s|
|
|
|
24
24
|
|
|
25
25
|
s.required_ruby_version = '>= 2.3.0'
|
|
26
26
|
|
|
27
|
-
s.add_runtime_dependency 'gamefic', '~> 2.0', '>= 2.
|
|
27
|
+
s.add_runtime_dependency 'gamefic', '~> 2.0', '>= 2.1.1'
|
|
28
28
|
s.add_runtime_dependency 'gamefic-standard', '~> 2.0'
|
|
29
|
-
s.add_runtime_dependency 'gamefic-tty', '~> 2.0', '>= 2.0.
|
|
29
|
+
s.add_runtime_dependency 'gamefic-tty', '~> 2.0', '>= 2.0.2'
|
|
30
30
|
s.add_runtime_dependency 'listen', '~> 3.0'
|
|
31
|
-
s.add_runtime_dependency 'opal', '~> 1.
|
|
31
|
+
s.add_runtime_dependency 'opal', '~> 1.1'
|
|
32
32
|
s.add_runtime_dependency 'sinatra', '~> 2'
|
|
33
33
|
s.add_runtime_dependency 'thor', '~> 1.0'
|
|
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', '~>
|
|
37
|
+
s.add_development_dependency 'puma', '~> 4'
|
|
38
38
|
s.add_development_dependency 'rake', '~> 13.0'
|
|
39
39
|
s.add_development_dependency 'rspec', '~> 3.0'
|
|
40
40
|
s.add_development_dependency 'selenium-webdriver', '~> 3.13'
|
data/lib/gamefic-sdk/scaffold.rb
CHANGED
|
@@ -47,7 +47,7 @@ module Gamefic
|
|
|
47
47
|
end
|
|
48
48
|
end
|
|
49
49
|
map.each_pair { |src, dst| custom_copy src, dst, data }
|
|
50
|
-
system "
|
|
50
|
+
system "cd #{Shellwords.escape(destination)} && bundle install"
|
|
51
51
|
end
|
|
52
52
|
end
|
|
53
53
|
end
|
data/lib/gamefic-sdk/server.rb
CHANGED
|
@@ -13,12 +13,7 @@ module Gamefic
|
|
|
13
13
|
|
|
14
14
|
post '/start' do
|
|
15
15
|
content_type :json
|
|
16
|
-
|
|
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)
|
data/lib/gamefic-sdk/version.rb
CHANGED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# <%= name %>
|
|
2
|
+
|
|
3
|
+
An extension library for Gamefic
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Add this line to your Gamefic project's Gemfile:
|
|
8
|
+
|
|
9
|
+
```ruby
|
|
10
|
+
gem '<%= name %>'
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
And then execute:
|
|
14
|
+
|
|
15
|
+
$ bundle install
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
TODO: Write usage instructions here
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# <%= name %>
|
|
2
|
+
|
|
3
|
+
A Gamefic game project
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
$ bundle install
|
|
8
|
+
|
|
9
|
+
## Running on the Command Line
|
|
10
|
+
|
|
11
|
+
$ rake ruby:run
|
|
12
|
+
|
|
13
|
+
## Building a CLI Game
|
|
14
|
+
|
|
15
|
+
$ rake ruby:build
|
|
16
|
+
|
|
17
|
+
The script will be saved in the `builds/ruby` directory.
|
|
18
|
+
|
|
19
|
+
## Web-Based Games
|
|
20
|
+
|
|
21
|
+
The Gamefic SDK also supports web-based versions of games. The project gets built into a single-page application with the Ruby game code compiled into JavaScript.
|
|
22
|
+
|
|
23
|
+
First you need to install the web project scaffold:
|
|
24
|
+
|
|
25
|
+
$ rake web:generate
|
|
26
|
+
$ npm install
|
|
27
|
+
|
|
28
|
+
## Running a Web Game
|
|
29
|
+
|
|
30
|
+
To run the app in debug mode:
|
|
31
|
+
|
|
32
|
+
$ rake web:run
|
|
33
|
+
|
|
34
|
+
Open http://localhost:4342 in a browser.
|
|
35
|
+
|
|
36
|
+
## Building a Web Game
|
|
37
|
+
|
|
38
|
+
$ rake web:build
|
|
39
|
+
|
|
40
|
+
The application will be saved in the `builds/web/production` directory.
|
|
41
|
+
|
|
42
|
+
## More Information
|
|
43
|
+
|
|
44
|
+
Go to https://gamefic.com for documentation.
|
|
@@ -23,27 +23,30 @@ module.exports = (_env, argv) => {
|
|
|
23
23
|
})
|
|
24
24
|
],
|
|
25
25
|
module: {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
{
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
{
|
|
42
|
-
test: /\.jsx?/,
|
|
43
|
-
include: path.resolve(__dirname, 'web'),
|
|
44
|
-
use: 'babel-loader'
|
|
26
|
+
rules: [
|
|
27
|
+
{
|
|
28
|
+
test: /\.css$/,
|
|
29
|
+
use: [
|
|
30
|
+
'style-loader',
|
|
31
|
+
{ loader: 'css-loader', options: { esModule: false } }
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
test: /\.(png|jp(e*)g|svg)$/,
|
|
36
|
+
use: [{
|
|
37
|
+
loader: 'url-loader',
|
|
38
|
+
options: {
|
|
39
|
+
limit: 8000, // Convert images < 8kb to base64 strings
|
|
40
|
+
name: 'images/[hash]-[name].[ext]'
|
|
45
41
|
}
|
|
46
|
-
|
|
42
|
+
}]
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
test: /\.jsx?/,
|
|
46
|
+
include: path.resolve(__dirname, 'web'),
|
|
47
|
+
use: 'babel-loader'
|
|
48
|
+
}
|
|
49
|
+
]
|
|
47
50
|
}
|
|
48
51
|
}
|
|
49
52
|
|
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.
|
|
4
|
+
version: 2.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Fred Snyder
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-09-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: gamefic
|
|
@@ -19,7 +19,7 @@ dependencies:
|
|
|
19
19
|
version: '2.0'
|
|
20
20
|
- - ">="
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: 2.
|
|
22
|
+
version: 2.1.1
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -29,7 +29,7 @@ dependencies:
|
|
|
29
29
|
version: '2.0'
|
|
30
30
|
- - ">="
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: 2.
|
|
32
|
+
version: 2.1.1
|
|
33
33
|
- !ruby/object:Gem::Dependency
|
|
34
34
|
name: gamefic-standard
|
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -53,7 +53,7 @@ dependencies:
|
|
|
53
53
|
version: '2.0'
|
|
54
54
|
- - ">="
|
|
55
55
|
- !ruby/object:Gem::Version
|
|
56
|
-
version: 2.0.
|
|
56
|
+
version: 2.0.2
|
|
57
57
|
type: :runtime
|
|
58
58
|
prerelease: false
|
|
59
59
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -63,7 +63,7 @@ dependencies:
|
|
|
63
63
|
version: '2.0'
|
|
64
64
|
- - ">="
|
|
65
65
|
- !ruby/object:Gem::Version
|
|
66
|
-
version: 2.0.
|
|
66
|
+
version: 2.0.2
|
|
67
67
|
- !ruby/object:Gem::Dependency
|
|
68
68
|
name: listen
|
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -84,14 +84,14 @@ dependencies:
|
|
|
84
84
|
requirements:
|
|
85
85
|
- - "~>"
|
|
86
86
|
- !ruby/object:Gem::Version
|
|
87
|
-
version: '1.
|
|
87
|
+
version: '1.1'
|
|
88
88
|
type: :runtime
|
|
89
89
|
prerelease: false
|
|
90
90
|
version_requirements: !ruby/object:Gem::Requirement
|
|
91
91
|
requirements:
|
|
92
92
|
- - "~>"
|
|
93
93
|
- !ruby/object:Gem::Version
|
|
94
|
-
version: '1.
|
|
94
|
+
version: '1.1'
|
|
95
95
|
- !ruby/object:Gem::Dependency
|
|
96
96
|
name: sinatra
|
|
97
97
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -154,14 +154,14 @@ dependencies:
|
|
|
154
154
|
requirements:
|
|
155
155
|
- - "~>"
|
|
156
156
|
- !ruby/object:Gem::Version
|
|
157
|
-
version: '
|
|
157
|
+
version: '4'
|
|
158
158
|
type: :development
|
|
159
159
|
prerelease: false
|
|
160
160
|
version_requirements: !ruby/object:Gem::Requirement
|
|
161
161
|
requirements:
|
|
162
162
|
- - "~>"
|
|
163
163
|
- !ruby/object:Gem::Version
|
|
164
|
-
version: '
|
|
164
|
+
version: '4'
|
|
165
165
|
- !ruby/object:Gem::Dependency
|
|
166
166
|
name: rake
|
|
167
167
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -248,10 +248,12 @@ files:
|
|
|
248
248
|
- lib/gamefic-sdk/tasks/web.rb
|
|
249
249
|
- lib/gamefic-sdk/version.rb
|
|
250
250
|
- scaffolds/library/Gemfile
|
|
251
|
+
- scaffolds/library/README.md.gf.erb
|
|
251
252
|
- scaffolds/library/__name__.gemspec.gf.erb
|
|
252
253
|
- scaffolds/library/lib/__name__.rb
|
|
253
254
|
- scaffolds/project/.gitignore
|
|
254
255
|
- scaffolds/project/Gemfile
|
|
256
|
+
- scaffolds/project/README.md.gf.erb
|
|
255
257
|
- scaffolds/project/Rakefile
|
|
256
258
|
- scaffolds/project/main.rb.gf.erb
|
|
257
259
|
- scaffolds/react/.babelrc
|
|
@@ -272,7 +274,7 @@ homepage: http://gamefic.com
|
|
|
272
274
|
licenses:
|
|
273
275
|
- MIT
|
|
274
276
|
metadata: {}
|
|
275
|
-
post_install_message:
|
|
277
|
+
post_install_message:
|
|
276
278
|
rdoc_options: []
|
|
277
279
|
require_paths:
|
|
278
280
|
- lib
|
|
@@ -287,8 +289,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
287
289
|
- !ruby/object:Gem::Version
|
|
288
290
|
version: '0'
|
|
289
291
|
requirements: []
|
|
290
|
-
rubygems_version: 3.1.
|
|
291
|
-
signing_key:
|
|
292
|
+
rubygems_version: 3.1.6
|
|
293
|
+
signing_key:
|
|
292
294
|
specification_version: 4
|
|
293
295
|
summary: Gamefic SDK
|
|
294
296
|
test_files: []
|