gamefic-sdk 2.0.3 → 2.3.1

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
2
  SHA256:
3
- metadata.gz: 7bc2f198b50b67d6610914a4e46620d9e06bed5b2c49abd0c120efa425c88809
4
- data.tar.gz: 8a2413ad32d3afa502326afaf049dd800e0079ec9a88d504e8b36e8c0eaee3b0
3
+ metadata.gz: f6c4f0e95c5070c542773224a6c2d94bbf80b1bf5dbabb41c0bdc499ac0ef04d
4
+ data.tar.gz: 596aa92c24c9291b837a8b65f3245be8e17df2d429ac49555178e9708af3d8bd
5
5
  SHA512:
6
- metadata.gz: b6e5c715e8aa8eb0ea72e90b68ca1bf7c18cd642cc0e0a33518485d1735836d47db64c55d5e27dd88f707d9ee08a6b305fde65c37aa5efec4f8adb7ec2f38a2c
7
- data.tar.gz: 642c38530bfd85fcf48d9a3899d98dec31bf1eb03c3681e0f200034fd9d2607fb630d52d6abde1b714e32e2ed8297fc5b1d2469f2d0b3a38d16800d8ecaec9a1
6
+ metadata.gz: 525f8604a996e3858a30023779d93c5d23cef10d77331fe1dbda45440953fa3d3b27c2e5edf29a1ebdfe822a8c1f32d9e501eba96ccbd1350e5340c124ba3f62
7
+ data.tar.gz: d406d814b1969b64ac759ba0ca0b3c0b4c746a51003b332fab1e9203f9f41f32bf00de75a499308b69e5d2c0feed707b72b36e5cdebe648882aae276f3a47db0
data/.gitignore CHANGED
@@ -6,7 +6,6 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
- /guides/
10
9
 
11
10
  # rspec failure tracking
12
11
  .rspec_status
data/CHANGELOG.md ADDED
@@ -0,0 +1,15 @@
1
+ ## 2.3.1 - March 3, 2021
2
+ - Update opal dependency
3
+
4
+ ## 2.3.0 - December 14, 2020
5
+ - Update package dependencies for web builds
6
+
7
+ ## 2.2.0 - August 29, 2020
8
+ - Update to react-gamefic 0.4.0
9
+
10
+ ## 2.1.0 - August 27, 2020
11
+ - Update web app with customizable scene components
12
+
13
+ ## 2.0.4 - April 25, 2020
14
+ - Server does not symbolize snapshot keys
15
+ - Update dependencies
data/gamefic-sdk.gemspec CHANGED
@@ -24,18 +24,18 @@ 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.0.1'
27
+ s.add_runtime_dependency 'gamefic', '~> 2.0', '>= 2.0.2'
28
28
  s.add_runtime_dependency 'gamefic-standard', '~> 2.0'
29
29
  s.add_runtime_dependency 'gamefic-tty', '~> 2.0', '>= 2.0.1'
30
30
  s.add_runtime_dependency 'listen', '~> 3.0'
31
- s.add_runtime_dependency 'opal', '~> 1.0'
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
37
  s.add_development_dependency 'puma', '~> 3'
38
- s.add_development_dependency 'rake', '~> 10.0'
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'
41
41
  s.add_development_dependency 'simplecov', '~> 0.14'
@@ -32,7 +32,6 @@ module Gamefic
32
32
  content_type :json
33
33
  @@plot.update
34
34
  @@plot.ready
35
- # @@character.state.merge(input: params['command'], continued: @@character.queue.any?).to_json
36
35
  @@character.output.to_json
37
36
  end
38
37
 
@@ -45,7 +44,7 @@ module Gamefic
45
44
  content_type :json
46
45
  # The snapshot needs to be received as a JSON string because of issues
47
46
  # with IndifferentHash malforming arrays.
48
- snapshot = JSON.parse(params['snapshot'], symbolize_names: true)
47
+ snapshot = JSON.parse(params['snapshot'])
49
48
  @@plot.restore snapshot
50
49
  @@character.cue @@plot.default_scene
51
50
  @@plot.update
@@ -41,7 +41,6 @@ module Gamefic
41
41
  def build
42
42
  check_for_web_build
43
43
  Dir.chdir absolute_path do
44
- # exec 'npm run build'
45
44
  pid = Process.spawn 'npm run build'
46
45
  Process.wait pid
47
46
  end
@@ -1,5 +1,5 @@
1
1
  module Gamefic
2
2
  module Sdk
3
- VERSION = '2.0.3'
3
+ VERSION = '2.3.1'
4
4
  end
5
5
  end
@@ -1,3 +1,3 @@
1
1
  {
2
- "presets" : ["env", "react"]
2
+ "presets" : ["@babel/preset-env", "@babel/preset-react"]
3
3
  }
@@ -8,27 +8,27 @@
8
8
  "private": true,
9
9
  "scripts": {
10
10
  "test": "echo \"Error: no test specified\" && exit 1",
11
- "build": "webpack --env=production -p",
12
- "develop": "webpack --env=development -d"
11
+ "build": "webpack --mode production",
12
+ "develop": "webpack --mode development"
13
13
  },
14
14
  "devDependencies": {
15
- "babel-core": "^6.26.3",
16
- "babel-loader": "^7.1.5",
17
- "babel-preset-env": "^1.7.0",
18
- "babel-preset-react": "^6.24.1",
19
- "copy-webpack-plugin": "^4.5.3",
20
- "css-loader": "^1.0.0",
21
- "file-loader": "^3.0.1",
15
+ "@babel/core": "^7.12.0",
16
+ "babel-loader": "^8.2.2",
17
+ "@babel/preset-env": "^7.12.10",
18
+ "@babel/preset-react": "^7.12.10",
19
+ "copy-webpack-plugin": "^7.0.0",
20
+ "css-loader": "^5.0.1",
21
+ "file-loader": "^6.2.0",
22
22
  "opal-webpack-bundler": "^0.0.1",
23
23
  "style-loader": "^0.23.1",
24
- "url-loader": "^1.1.2",
25
- "webpack": "^4.20.2",
26
- "webpack-cli": "^3.1.2"
24
+ "url-loader": "^4.1.1",
25
+ "webpack": "^5.10.1",
26
+ "webpack-cli": "^4.2.0"
27
27
  },
28
28
  "dependencies": {
29
29
  "gamefic-driver": "^0.2.1",
30
30
  "react": "^16.5.2",
31
31
  "react-dom": "^16.5.2",
32
- "react-gamefic": "^0.2.2"
32
+ "react-gamefic": "^0.5.0"
33
33
  }
34
34
  }
@@ -1,13 +1,24 @@
1
1
  import React from 'react';
2
2
  import { render } from 'react-dom';
3
3
  import { Console, Terminal } from 'react-gamefic';
4
+
4
5
  import { driver } from 'driver';
6
+
7
+ import { Activity, Pause, MultipleChoice, Conclusion } from './scenes';
5
8
  import 'react-gamefic/styles/ebook';
6
9
  import './style.css';
7
10
 
11
+ const sceneComponents = {
12
+ Activity: Activity,
13
+ Pause: Pause,
14
+ MultipleChoice: MultipleChoice,
15
+ YesOrNo: MultipleChoice,
16
+ Conclusion: Conclusion
17
+ }
18
+
8
19
  render(
9
20
  <Console driver={driver}>
10
- <Terminal />
21
+ <Terminal sceneComponents={sceneComponents} autoScroll={true} />
11
22
  </Console>,
12
23
  document.getElementById('root')
13
24
  );
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { ActivityScene, Output, CommandForm } from 'react-gamefic';
3
+
4
+ export class Activity extends React.Component {
5
+ render() {
6
+ return (
7
+ <ActivityScene>
8
+ <Output {...this.props} transcribe={true} />
9
+ <CommandForm prompt={this.props.state.prompt} />
10
+ </ActivityScene>
11
+ );
12
+ }
13
+ }
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { ConclusionScene, Output } from 'react-gamefic';
3
+
4
+ export class Conclusion extends React.Component {
5
+ render() {
6
+ return (
7
+ <ConclusionScene>
8
+ <Output {...this.props} transcribe={true} />
9
+ </ConclusionScene>
10
+ );
11
+ }
12
+ }
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { MultipleChoiceScene, ChoiceList } from 'react-gamefic';
3
+
4
+ export class MultipleChoice extends React.Component {
5
+ render() {
6
+ return (
7
+ <MultipleChoiceScene>
8
+ <Output {...this.props} transcribe={true} />,
9
+ <ChoiceList options={this.props.state.options} prompt={this.props.state.prompt} />
10
+ </MultipleChoiceScene>
11
+ );
12
+ }
13
+ }
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { PauseScene, Output, CommandLink } from 'react-gamefic';
3
+
4
+ export class Pause extends React.Component {
5
+ render() {
6
+ return (
7
+ <PauseScene>
8
+ <Output {...this.props} transcribe={true} />
9
+ <CommandLink command="">Continue</CommandLink>
10
+ </PauseScene>
11
+ );
12
+ }
13
+ }
@@ -0,0 +1,11 @@
1
+ import { Activity } from './Activity.jsx';
2
+ import { Pause } from './Pause.jsx';
3
+ import { MultipleChoice } from './MultipleChoice.jsx';
4
+ import { Conclusion } from './Conclusion.jsx';
5
+
6
+ export {
7
+ Activity,
8
+ Pause,
9
+ MultipleChoice,
10
+ Conclusion
11
+ }
@@ -1,24 +1,26 @@
1
1
  const path = require('path');
2
2
  const CopyWebpackPlugin = require('copy-webpack-plugin');
3
3
 
4
- module.exports = (env) => {
4
+ module.exports = (_env, argv) => {
5
5
  var config = {
6
6
  entry: path.resolve(__dirname, 'web', 'src', 'index.js'),
7
7
  output: {
8
8
  filename: 'bundle.js',
9
- path: path.resolve(__dirname, "builds", "web", env)
9
+ path: path.resolve(__dirname, "builds", "web", argv.mode)
10
10
  },
11
11
  resolve: {
12
12
  alias: {
13
- driver: path.join(__dirname, 'web', 'src', 'driver', env)
13
+ driver: path.join(__dirname, 'web', 'src', 'driver', argv.mode)
14
14
  }
15
15
  },
16
16
  plugins: [
17
- new CopyWebpackPlugin([
18
- {
19
- from: path.resolve(__dirname, 'web', 'public')
20
- },
21
- ])
17
+ new CopyWebpackPlugin({
18
+ patterns: [
19
+ {
20
+ from: path.resolve(__dirname, 'web', 'public')
21
+ }
22
+ ]
23
+ })
22
24
  ],
23
25
  module: {
24
26
  rules: [
@@ -45,7 +47,7 @@ module.exports = (env) => {
45
47
  }
46
48
  }
47
49
 
48
- if (env == 'production') {
50
+ if (argv.mode == 'production') {
49
51
  config.module.rules.push(
50
52
  {
51
53
  // opal-webpack-bundler will compile and include ruby files in the pack
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.0.3
4
+ version: 2.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fred Snyder
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-27 00:00:00.000000000 Z
11
+ date: 2021-03-03 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.0.1
22
+ version: 2.0.2
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.0.1
32
+ version: 2.0.2
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: gamefic-standard
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -84,14 +84,14 @@ dependencies:
84
84
  requirements:
85
85
  - - "~>"
86
86
  - !ruby/object:Gem::Version
87
- version: '1.0'
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.0'
94
+ version: '1.1'
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: sinatra
97
97
  requirement: !ruby/object:Gem::Requirement
@@ -168,14 +168,14 @@ dependencies:
168
168
  requirements:
169
169
  - - "~>"
170
170
  - !ruby/object:Gem::Version
171
- version: '10.0'
171
+ version: '13.0'
172
172
  type: :development
173
173
  prerelease: false
174
174
  version_requirements: !ruby/object:Gem::Requirement
175
175
  requirements:
176
176
  - - "~>"
177
177
  - !ruby/object:Gem::Version
178
- version: '10.0'
178
+ version: '13.0'
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: rspec
181
181
  requirement: !ruby/object:Gem::Requirement
@@ -228,6 +228,7 @@ files:
228
228
  - ".gitignore"
229
229
  - ".rspec"
230
230
  - ".travis.yml"
231
+ - CHANGELOG.md
231
232
  - Gemfile
232
233
  - LICENSE.txt
233
234
  - README.md
@@ -260,6 +261,11 @@ files:
260
261
  - scaffolds/react/web/src/driver/opal.rb
261
262
  - scaffolds/react/web/src/driver/production.js
262
263
  - scaffolds/react/web/src/index.js
264
+ - scaffolds/react/web/src/scenes/Activity.jsx
265
+ - scaffolds/react/web/src/scenes/Conclusion.jsx
266
+ - scaffolds/react/web/src/scenes/MultipleChoice.jsx
267
+ - scaffolds/react/web/src/scenes/Pause.jsx
268
+ - scaffolds/react/web/src/scenes/index.js
263
269
  - scaffolds/react/web/src/style.css
264
270
  - scaffolds/react/webpack.config.js
265
271
  homepage: http://gamefic.com
@@ -281,7 +287,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
281
287
  - !ruby/object:Gem::Version
282
288
  version: '0'
283
289
  requirements: []
284
- rubygems_version: 3.0.3
290
+ rubygems_version: 3.1.2
285
291
  signing_key:
286
292
  specification_version: 4
287
293
  summary: Gamefic SDK