gamefic-sdk 3.4.1 → 4.0.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 +4 -4
- data/CHANGELOG.md +9 -0
- data/README.md +15 -30
- data/Rakefile +7 -6
- data/gamefic-sdk.gemspec +7 -5
- data/lib/gamefic-sdk/scaffold.rb +12 -0
- data/lib/gamefic-sdk/shell.rb +9 -21
- data/lib/gamefic-sdk/tasks/common.rb +2 -2
- data/lib/gamefic-sdk/tasks/ruby.rb +7 -5
- data/lib/gamefic-sdk/tasks/web.rb +30 -5
- data/lib/gamefic-sdk/tasks.rb +27 -1
- data/lib/gamefic-sdk/version.rb +1 -1
- data/scaffolds/project/Gemfile.gf.erb +2 -1
- data/scaffolds/project/Rakefile.gf.erb +2 -13
- data/scaffolds/project/lib/__name__/chapter.rb.gf.erb +1 -1
- data/scaffolds/project/lib/__name__/plot.rb.gf.erb +1 -1
- data/scaffolds/project/lib/__name__/{common.rb.gf.erb → shared.rb.gf.erb} +1 -1
- data/scaffolds/project/lib/__name__/subplot.rb.gf.erb +1 -1
- data/scaffolds/project/lib/__name__.rb.gf.erb +7 -1
- metadata +63 -29
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0351ddd6d00666fc2b3e29d69bab832a3d84abbcb880fe8ef08d720e47ab1267
|
|
4
|
+
data.tar.gz: e42efcccf4bc11fd20f34119494fdc2ed1c8ea071184ed5079cedbe85852ab57
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d8fa87daa4cb4bd414ab800f45b76ec0f5e06e4070b15e6823cf1af6d6fa130cb7aef174ab4999e0552368de988ebd7b8408f7189fc59649a5a4e3b9c501671e
|
|
7
|
+
data.tar.gz: e1bf82d1f73e348fd51463050adfb91dfec6df38996c30f2eab3a68a9cfcf704914dba60d9ff0c249bcbaef0992262486730372d8405d4082cbad800ea6caf4e
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
## 4.0.1 - January 26, 2025
|
|
2
|
+
- Fix project Gemfile
|
|
3
|
+
- Format project namespace module
|
|
4
|
+
|
|
5
|
+
## 4.0.0 - January 25, 2025
|
|
6
|
+
- Update to Gamefic 4.0
|
|
7
|
+
- Project and library subcommands
|
|
8
|
+
- Autoloading in projects
|
|
9
|
+
|
|
1
10
|
## 3.4.1 - October 20, 2024
|
|
2
11
|
- Fix project UUID
|
|
3
12
|
|
data/README.md
CHANGED
|
@@ -43,32 +43,24 @@ something like this:
|
|
|
43
43
|
```ruby
|
|
44
44
|
module Example
|
|
45
45
|
class Plot < Gamefic::Plot
|
|
46
|
-
|
|
46
|
+
include Shared
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
script do
|
|
51
|
-
introduction do |actor|
|
|
52
|
-
actor.tell "Hello, world!"
|
|
53
|
-
end
|
|
48
|
+
introduction do |actor|
|
|
49
|
+
actor.tell "Hello, world!"
|
|
54
50
|
end
|
|
55
51
|
end
|
|
56
52
|
end
|
|
57
53
|
```
|
|
58
54
|
|
|
59
|
-
`
|
|
60
|
-
|
|
61
|
-
but it's safe to delete if you don't need it.
|
|
55
|
+
The `Shared` module (`lib/example/shared.rb`) handles importing `Gamefic::Standard` into plots,
|
|
56
|
+
subplots, and chapters.
|
|
62
57
|
|
|
63
|
-
['
|
|
58
|
+
['Gamefic::Standard'](https://github.com/castwide/gamefic-standard) is a collection
|
|
64
59
|
of baseline features that are frequently useful for interactive fiction. [Inform](http://inform7.com/)
|
|
65
60
|
developers should find it similar to Inform's Standard Rules. It defines common
|
|
66
61
|
components like Rooms and Characters, along with in-game commands like `GO`,
|
|
67
62
|
`GET`, and `DROP` to enable basic interactivity.
|
|
68
63
|
|
|
69
|
-
`script` is where you write the story itself. In the starter project,
|
|
70
|
-
the only thing in the script is an introductory message.
|
|
71
|
-
|
|
72
64
|
### Modifying the Script
|
|
73
65
|
|
|
74
66
|
Replace the contents of `plot.rb` with the following:
|
|
@@ -76,23 +68,16 @@ Replace the contents of `plot.rb` with the following:
|
|
|
76
68
|
```ruby
|
|
77
69
|
module Example
|
|
78
70
|
class Plot < Gamefic::Plot
|
|
79
|
-
|
|
71
|
+
include Shared
|
|
80
72
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
@bedroom = make Room, name: 'bedroom', description: 'This is your bedroom.'
|
|
86
|
-
connect @living_room, @bedroom, 'north'
|
|
87
|
-
@backpack = make Room, name: 'backpack', description: 'Your trusty backpack.', parent: @bedroom
|
|
88
|
-
@book = make Room, name: 'book', description: 'Your favorite novel.', parent: @living_room
|
|
89
|
-
end
|
|
73
|
+
construct :living_room, Room, name: 'living room', description: 'This is your living room.'
|
|
74
|
+
construct :bedroom, Room, name: 'bedroom', description: 'This is your bedroom.', south: living_room
|
|
75
|
+
construct :backpack, Item, name: 'backpack', description: 'Your trusty backpack.', parent: bedroom
|
|
76
|
+
construct :book, Item, name: 'book', description: 'Your favorite novel.', parent: living_room
|
|
90
77
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
actor.tell "You're in your house."
|
|
95
|
-
end
|
|
78
|
+
introduction do |actor|
|
|
79
|
+
actor.parent = living_room
|
|
80
|
+
actor.tell "You're in your house."
|
|
96
81
|
end
|
|
97
82
|
end
|
|
98
83
|
end
|
|
@@ -126,7 +111,7 @@ $ rake web:build
|
|
|
126
111
|
```
|
|
127
112
|
|
|
128
113
|
The game's HTML file and related assets will be generated in the
|
|
129
|
-
`web/build` directory. The SDK uses
|
|
114
|
+
`web/build` directory. The SDK uses [Opal](https://github.com/opal/opal)
|
|
130
115
|
to compile Ruby code to JavaScript, so the web build does not require a
|
|
131
116
|
Ruby interpreter. Open `index.html` in a browser to play the game.
|
|
132
117
|
|
data/Rakefile
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
require
|
|
2
|
-
require
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
require 'bundler/setup'
|
|
2
|
+
require 'bundler/gem_tasks'
|
|
3
|
+
require 'rspec/core/rake_task'
|
|
4
|
+
|
|
5
|
+
RSpec::Core::RakeTask.new(:spec)
|
|
6
|
+
|
|
7
|
+
task default: :spec
|
data/gamefic-sdk.gemspec
CHANGED
|
@@ -28,19 +28,21 @@ Gem::Specification.new do |spec|
|
|
|
28
28
|
|
|
29
29
|
spec.required_ruby_version = '>= 2.7.0'
|
|
30
30
|
|
|
31
|
-
spec.add_runtime_dependency 'gamefic', '~>
|
|
32
|
-
spec.add_runtime_dependency 'gamefic-standard', '~>
|
|
33
|
-
spec.add_runtime_dependency 'gamefic-tty', '~>
|
|
31
|
+
spec.add_runtime_dependency 'gamefic', '~> 4.0', '>= 4.0.1'
|
|
32
|
+
spec.add_runtime_dependency 'gamefic-standard', '~> 4.0'
|
|
33
|
+
spec.add_runtime_dependency 'gamefic-tty', '~> 4.0'
|
|
34
34
|
spec.add_runtime_dependency 'listen', '~> 3.0'
|
|
35
35
|
spec.add_runtime_dependency 'opal', '~> 1.1'
|
|
36
|
+
spec.add_runtime_dependency 'opal-rspec', '~> 1.0'
|
|
37
|
+
spec.add_runtime_dependency 'opal-sprockets', '~> 1.0'
|
|
36
38
|
spec.add_runtime_dependency 'puma', '~> 6'
|
|
39
|
+
spec.add_runtime_dependency 'rake', '~> 13.0'
|
|
40
|
+
spec.add_runtime_dependency 'rspec', '~> 3.0'
|
|
37
41
|
spec.add_runtime_dependency 'sinatra', '~> 2'
|
|
38
42
|
spec.add_runtime_dependency 'thor', '~> 1.0'
|
|
39
43
|
|
|
40
44
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
|
41
45
|
spec.add_development_dependency 'capybara', '~> 3.3'
|
|
42
|
-
spec.add_development_dependency 'rake', '~> 13.0'
|
|
43
|
-
spec.add_development_dependency 'rspec', '~> 3.0'
|
|
44
46
|
spec.add_development_dependency 'selenium-webdriver', '~> 4.2'
|
|
45
47
|
spec.add_development_dependency 'simplecov', '~> 0.14'
|
|
46
48
|
end
|
data/lib/gamefic-sdk/scaffold.rb
CHANGED
|
@@ -21,6 +21,18 @@ module Gamefic
|
|
|
21
21
|
def get_binding
|
|
22
22
|
binding
|
|
23
23
|
end
|
|
24
|
+
|
|
25
|
+
def render_autoloader
|
|
26
|
+
if name.include?('-')
|
|
27
|
+
<<~CODE
|
|
28
|
+
Gamefic::Autoload.setup(__dir__) do |loader|
|
|
29
|
+
loader.inflector.inflect('#{name}' => '#{camelcase(name)}')
|
|
30
|
+
end
|
|
31
|
+
CODE
|
|
32
|
+
else
|
|
33
|
+
'Gamefic::Autoload.setup(__dir__)'
|
|
34
|
+
end
|
|
35
|
+
end
|
|
24
36
|
end
|
|
25
37
|
|
|
26
38
|
module_function
|
data/lib/gamefic-sdk/shell.rb
CHANGED
|
@@ -4,7 +4,7 @@ module Gamefic
|
|
|
4
4
|
module Sdk
|
|
5
5
|
class Shell < Thor
|
|
6
6
|
map %w[--version -v] => :version
|
|
7
|
-
map [
|
|
7
|
+
map %i[create new init] => :project
|
|
8
8
|
|
|
9
9
|
desc "--version, -v", "Print the version"
|
|
10
10
|
def version
|
|
@@ -12,30 +12,18 @@ module Gamefic
|
|
|
12
12
|
puts "gamefic #{Gamefic::VERSION}"
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
desc '
|
|
16
|
-
option :gem, type: :boolean, aliases: [:g, :library, :rubygem], desc: 'Make a gem project'
|
|
15
|
+
desc 'project DIRECTORY_NAME', 'Create a new project in DIRECTORY_NAME'
|
|
17
16
|
option :specs, type: :boolean, desc: 'Add RSpec and Opal::RSpec test suites', default: true
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
Gamefic::Sdk::Scaffold.build
|
|
17
|
+
option :autoloader, type: :boolean, desc: 'Include autoloader', default: true
|
|
18
|
+
def project(directory_name)
|
|
19
|
+
Gamefic::Sdk::Scaffold.build 'project', directory_name, **options
|
|
21
20
|
puts "Gamefic project initialized at #{File.realpath(directory_name)}"
|
|
22
21
|
end
|
|
23
22
|
|
|
24
|
-
desc '
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
format.
|
|
29
|
-
|
|
30
|
-
The diagram types are entities, rooms, actions, verbs, syntaxes, and commands.
|
|
31
|
-
)
|
|
32
|
-
option :directory, type: :string, aliases: :d, desc: 'The project directory', default: '.'
|
|
33
|
-
def diagram type
|
|
34
|
-
main = Pathname.new(options[:directory]).join('main.rb').realpath.to_s
|
|
35
|
-
require_relative main
|
|
36
|
-
plot = Gamefic::Plot.new
|
|
37
|
-
diagram = Gamefic::Sdk::Diagram.new(plot)
|
|
38
|
-
puts diagram.get(type).to_json
|
|
23
|
+
desc 'library DIRECTORY_NAME', 'Create a new library in DIRECTORY_NAME'
|
|
24
|
+
def library(directory_name)
|
|
25
|
+
Gamefic::Sdk::Scaffold.build 'library', directory_name
|
|
26
|
+
puts "Gamefic library initialized at #{FIle.realpath(directory_name)}"
|
|
39
27
|
end
|
|
40
28
|
end
|
|
41
29
|
end
|
|
@@ -11,7 +11,7 @@ module Gamefic
|
|
|
11
11
|
module Common
|
|
12
12
|
attr_reader :directory
|
|
13
13
|
|
|
14
|
-
def initialize
|
|
14
|
+
def initialize(directory = '.')
|
|
15
15
|
@directory = directory
|
|
16
16
|
end
|
|
17
17
|
|
|
@@ -23,7 +23,7 @@ module Gamefic
|
|
|
23
23
|
GAMEFIC_PLOT_CLASS
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
-
def string_to_constant
|
|
26
|
+
def string_to_constant(string)
|
|
27
27
|
space = Object
|
|
28
28
|
string.split('::').each do |part|
|
|
29
29
|
space = space.const_get(part)
|
|
@@ -44,25 +44,27 @@ module Gamefic
|
|
|
44
44
|
|
|
45
45
|
private
|
|
46
46
|
|
|
47
|
-
def append_gem
|
|
47
|
+
def append_gem(name)
|
|
48
48
|
result = {}
|
|
49
49
|
# @type [Gem::Specification]
|
|
50
50
|
spec = Gem::Specification.find_by_name(name)
|
|
51
51
|
spec.lib_files.each do |path|
|
|
52
52
|
full = File.join(spec.full_gem_path, path)
|
|
53
53
|
raise LoadError, "Unable to package gem file `#{path}`" unless File.file?(full)
|
|
54
|
-
|
|
54
|
+
|
|
55
|
+
rel = full.sub(%r{^(#{spec.load_paths.join('|')})/}, '')
|
|
55
56
|
result[rel] = full
|
|
56
57
|
end
|
|
57
58
|
result
|
|
58
59
|
end
|
|
59
60
|
|
|
60
|
-
def relativize
|
|
61
|
-
return { path[absolute_path.length+1..-1] => path } if path.start_with?(absolute_path)
|
|
61
|
+
def relativize(path)
|
|
62
|
+
return { path[absolute_path.length + 1..-1] => path } if path.start_with?(absolute_path)
|
|
63
|
+
|
|
62
64
|
# @param spec [Gem::Specification]
|
|
63
65
|
Gem::Specification.each do |spec|
|
|
64
66
|
spec.load_paths.each do |lib_path|
|
|
65
|
-
return { path[lib_path.length+1..-1] => path } if path.start_with?(lib_path)
|
|
67
|
+
return { path[lib_path.length + 1..-1] => path } if path.start_with?(lib_path)
|
|
66
68
|
end
|
|
67
69
|
end
|
|
68
70
|
raise LoadError, "Unable to package loaded path `#{path}`"
|
|
@@ -12,15 +12,38 @@ module Gamefic
|
|
|
12
12
|
|
|
13
13
|
# Generate a web app using NPM.
|
|
14
14
|
#
|
|
15
|
-
def generate
|
|
15
|
+
def generate(version = nil)
|
|
16
|
+
version ||= '@latest'
|
|
16
17
|
puts "Node version #{check_for_npm} detected. Preparing the web app..."
|
|
17
18
|
web_path = File.join(absolute_path, 'web')
|
|
18
19
|
FileUtils.mkdir_p web_path
|
|
19
20
|
Dir.chdir web_path do
|
|
20
|
-
name
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
system 'npx', '-y', "react-gamefic#{version}", '--name', File.basename(absolute_path),
|
|
22
|
+
'--class', 'GAMEFIC_PLOT_CLASS', '--path', '../lib'
|
|
23
|
+
end
|
|
24
|
+
autoload
|
|
25
|
+
puts 'The web app is ready.', 'Run `rake web:run` to start the app in dev mode.'
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Generate the autoload.rb file for Opal builds.
|
|
29
|
+
#
|
|
30
|
+
def autoload
|
|
31
|
+
require_relative File.join(absolute_path, 'main')
|
|
32
|
+
if defined?(Gamefic::Autoload)
|
|
33
|
+
require 'gamefic-autoload'
|
|
34
|
+
puts 'Generating autoload.rb file for Opal'
|
|
35
|
+
autoload_path = File.join(absolute_path, 'autoload.rb')
|
|
36
|
+
autoload_file = <<~FILE
|
|
37
|
+
# frozen_string_literal: true
|
|
38
|
+
|
|
39
|
+
# This file is automatically generated by the Gamefic SDK. Opal uses it to build
|
|
40
|
+
# the project in accordance with its Gamefic::Autoload configuration.
|
|
41
|
+
|
|
42
|
+
#{Gamefic::Autoload.encode_all.join("\n")}
|
|
43
|
+
FILE
|
|
44
|
+
File.write(autoload_path, autoload_file)
|
|
45
|
+
else
|
|
46
|
+
puts 'Skipping autoload.rb (Gamefic::Autoload is not enabled)'
|
|
24
47
|
end
|
|
25
48
|
end
|
|
26
49
|
|
|
@@ -28,6 +51,7 @@ module Gamefic
|
|
|
28
51
|
#
|
|
29
52
|
def run
|
|
30
53
|
check_for_web_build
|
|
54
|
+
autoload
|
|
31
55
|
Dir.chdir File.join(absolute_path, 'web') do
|
|
32
56
|
system 'npm start'
|
|
33
57
|
end
|
|
@@ -37,6 +61,7 @@ module Gamefic
|
|
|
37
61
|
#
|
|
38
62
|
def build
|
|
39
63
|
check_for_web_build
|
|
64
|
+
autoload
|
|
40
65
|
Dir.chdir File.join(absolute_path, 'web') do
|
|
41
66
|
system 'npm run build'
|
|
42
67
|
end
|
data/lib/gamefic-sdk/tasks.rb
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
require 'bundler'
|
|
1
2
|
require 'rubygems'
|
|
2
3
|
require 'gamefic-sdk'
|
|
3
4
|
require 'rake'
|
|
5
|
+
require 'rspec/core/rake_task'
|
|
6
|
+
require 'opal/rspec/rake_task'
|
|
4
7
|
|
|
5
8
|
module Gamefic::Sdk::Tasks
|
|
6
9
|
autoload :Common, 'gamefic-sdk/tasks/common'
|
|
@@ -9,7 +12,12 @@ module Gamefic::Sdk::Tasks
|
|
|
9
12
|
|
|
10
13
|
module_function
|
|
11
14
|
|
|
12
|
-
def
|
|
15
|
+
def define_all_tasks
|
|
16
|
+
define_build_tasks
|
|
17
|
+
define_spec_tasks
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def define_build_tasks
|
|
13
21
|
define_task 'ruby:run', 'Run a Ruby CLI app' do
|
|
14
22
|
Ruby.new.run
|
|
15
23
|
end
|
|
@@ -28,6 +36,24 @@ module Gamefic::Sdk::Tasks
|
|
|
28
36
|
define_task 'web:build', 'Build a distributable web app' do
|
|
29
37
|
Web.new.build
|
|
30
38
|
end
|
|
39
|
+
|
|
40
|
+
define_task 'web:autoload', 'Generate autoload.rb for Opal' do
|
|
41
|
+
Web.new.autoload
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def define_spec_tasks
|
|
46
|
+
RSpec::Core::RakeTask.new(:spec)
|
|
47
|
+
|
|
48
|
+
Opal::RSpec::RakeTask.new(:opal) do |_, config|
|
|
49
|
+
Bundler.definition
|
|
50
|
+
.dependencies_for([:default])
|
|
51
|
+
.each { |dep| Opal.use_gem dep.name }
|
|
52
|
+
Opal.append_path '.'
|
|
53
|
+
Opal.append_path File.join('.', 'lib')
|
|
54
|
+
config.pattern = 'spec/**/*_spec.rb'
|
|
55
|
+
config.requires = ['spec/opal_helper']
|
|
56
|
+
end.rake_task.prerequisites.push 'web:autoload'
|
|
31
57
|
end
|
|
32
58
|
|
|
33
59
|
def define_task(name, desc, &block)
|
data/lib/gamefic-sdk/version.rb
CHANGED
|
@@ -3,19 +3,8 @@
|
|
|
3
3
|
require 'bundler'
|
|
4
4
|
require 'bundler/setup'
|
|
5
5
|
require 'gamefic-sdk'
|
|
6
|
-
require 'opal/rspec/rake_task'
|
|
7
6
|
|
|
8
7
|
# Add the default Gamefic tasks for building and running games
|
|
9
8
|
# Run `rake --tasks` for a list of commands and descriptions
|
|
10
|
-
Gamefic::Sdk::Tasks.
|
|
11
|
-
|
|
12
|
-
Opal::RSpec::RakeTask.new(:opal) do |_, config|
|
|
13
|
-
Bundler.definition
|
|
14
|
-
.dependencies_for([:default])
|
|
15
|
-
.each { |dep| Opal.use_gem dep.name }
|
|
16
|
-
Opal.append_path File.join(__dir__, 'lib')
|
|
17
|
-
config.default_path = 'spec'
|
|
18
|
-
config.pattern = 'spec/**/*_spec.rb'
|
|
19
|
-
config.requires = ['opal_helper']
|
|
20
|
-
end
|
|
21
|
-
<% end %>
|
|
9
|
+
Gamefic::Sdk::Tasks.define_build_tasks
|
|
10
|
+
<%- if specs -%>Gamefic::Sdk::Tasks.define_spec_tasks<% end %>
|
|
@@ -2,12 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
require 'gamefic'
|
|
4
4
|
require 'gamefic-standard'
|
|
5
|
+
<% if autoloader -%>require 'gamefic-autoload'<% end %>
|
|
6
|
+
<% if autoloader -%>require 'autoload' if RUBY_ENGINE == 'opal'<% end %>
|
|
5
7
|
|
|
6
8
|
module <%= camelcase(name) %>
|
|
7
9
|
UUID = '<%= SecureRandom.uuid %>'
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
<% if autoloader -%>
|
|
12
|
+
<%= render_autoloader %>
|
|
13
|
+
<% else -%>
|
|
14
|
+
require '<%= name %>/shared'
|
|
10
15
|
require '<%= name %>/chapter'
|
|
11
16
|
require '<%= name %>/plot'
|
|
12
17
|
require '<%= name %>/subplot'
|
|
18
|
+
<% end -%>
|
|
13
19
|
end
|
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:
|
|
4
|
+
version: 4.0.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:
|
|
11
|
+
date: 2025-01-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: gamefic
|
|
@@ -16,42 +16,48 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '4.0'
|
|
20
|
+
- - ">="
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: 4.0.1
|
|
20
23
|
type: :runtime
|
|
21
24
|
prerelease: false
|
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
26
|
requirements:
|
|
24
27
|
- - "~>"
|
|
25
28
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
29
|
+
version: '4.0'
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: 4.0.1
|
|
27
33
|
- !ruby/object:Gem::Dependency
|
|
28
34
|
name: gamefic-standard
|
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
|
30
36
|
requirements:
|
|
31
37
|
- - "~>"
|
|
32
38
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
39
|
+
version: '4.0'
|
|
34
40
|
type: :runtime
|
|
35
41
|
prerelease: false
|
|
36
42
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
43
|
requirements:
|
|
38
44
|
- - "~>"
|
|
39
45
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
46
|
+
version: '4.0'
|
|
41
47
|
- !ruby/object:Gem::Dependency
|
|
42
48
|
name: gamefic-tty
|
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
|
44
50
|
requirements:
|
|
45
51
|
- - "~>"
|
|
46
52
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
53
|
+
version: '4.0'
|
|
48
54
|
type: :runtime
|
|
49
55
|
prerelease: false
|
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
57
|
requirements:
|
|
52
58
|
- - "~>"
|
|
53
59
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
60
|
+
version: '4.0'
|
|
55
61
|
- !ruby/object:Gem::Dependency
|
|
56
62
|
name: listen
|
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -80,6 +86,34 @@ dependencies:
|
|
|
80
86
|
- - "~>"
|
|
81
87
|
- !ruby/object:Gem::Version
|
|
82
88
|
version: '1.1'
|
|
89
|
+
- !ruby/object:Gem::Dependency
|
|
90
|
+
name: opal-rspec
|
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
|
92
|
+
requirements:
|
|
93
|
+
- - "~>"
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
version: '1.0'
|
|
96
|
+
type: :runtime
|
|
97
|
+
prerelease: false
|
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - "~>"
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '1.0'
|
|
103
|
+
- !ruby/object:Gem::Dependency
|
|
104
|
+
name: opal-sprockets
|
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - "~>"
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '1.0'
|
|
110
|
+
type: :runtime
|
|
111
|
+
prerelease: false
|
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
113
|
+
requirements:
|
|
114
|
+
- - "~>"
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: '1.0'
|
|
83
117
|
- !ruby/object:Gem::Dependency
|
|
84
118
|
name: puma
|
|
85
119
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -95,89 +129,89 @@ dependencies:
|
|
|
95
129
|
- !ruby/object:Gem::Version
|
|
96
130
|
version: '6'
|
|
97
131
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name:
|
|
132
|
+
name: rake
|
|
99
133
|
requirement: !ruby/object:Gem::Requirement
|
|
100
134
|
requirements:
|
|
101
135
|
- - "~>"
|
|
102
136
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: '
|
|
137
|
+
version: '13.0'
|
|
104
138
|
type: :runtime
|
|
105
139
|
prerelease: false
|
|
106
140
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
141
|
requirements:
|
|
108
142
|
- - "~>"
|
|
109
143
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: '
|
|
144
|
+
version: '13.0'
|
|
111
145
|
- !ruby/object:Gem::Dependency
|
|
112
|
-
name:
|
|
146
|
+
name: rspec
|
|
113
147
|
requirement: !ruby/object:Gem::Requirement
|
|
114
148
|
requirements:
|
|
115
149
|
- - "~>"
|
|
116
150
|
- !ruby/object:Gem::Version
|
|
117
|
-
version: '
|
|
151
|
+
version: '3.0'
|
|
118
152
|
type: :runtime
|
|
119
153
|
prerelease: false
|
|
120
154
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
155
|
requirements:
|
|
122
156
|
- - "~>"
|
|
123
157
|
- !ruby/object:Gem::Version
|
|
124
|
-
version: '
|
|
158
|
+
version: '3.0'
|
|
125
159
|
- !ruby/object:Gem::Dependency
|
|
126
|
-
name:
|
|
160
|
+
name: sinatra
|
|
127
161
|
requirement: !ruby/object:Gem::Requirement
|
|
128
162
|
requirements:
|
|
129
163
|
- - "~>"
|
|
130
164
|
- !ruby/object:Gem::Version
|
|
131
|
-
version: '2
|
|
132
|
-
type: :
|
|
165
|
+
version: '2'
|
|
166
|
+
type: :runtime
|
|
133
167
|
prerelease: false
|
|
134
168
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
169
|
requirements:
|
|
136
170
|
- - "~>"
|
|
137
171
|
- !ruby/object:Gem::Version
|
|
138
|
-
version: '2
|
|
172
|
+
version: '2'
|
|
139
173
|
- !ruby/object:Gem::Dependency
|
|
140
|
-
name:
|
|
174
|
+
name: thor
|
|
141
175
|
requirement: !ruby/object:Gem::Requirement
|
|
142
176
|
requirements:
|
|
143
177
|
- - "~>"
|
|
144
178
|
- !ruby/object:Gem::Version
|
|
145
|
-
version: '
|
|
146
|
-
type: :
|
|
179
|
+
version: '1.0'
|
|
180
|
+
type: :runtime
|
|
147
181
|
prerelease: false
|
|
148
182
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
183
|
requirements:
|
|
150
184
|
- - "~>"
|
|
151
185
|
- !ruby/object:Gem::Version
|
|
152
|
-
version: '
|
|
186
|
+
version: '1.0'
|
|
153
187
|
- !ruby/object:Gem::Dependency
|
|
154
|
-
name:
|
|
188
|
+
name: bundler
|
|
155
189
|
requirement: !ruby/object:Gem::Requirement
|
|
156
190
|
requirements:
|
|
157
191
|
- - "~>"
|
|
158
192
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: '
|
|
193
|
+
version: '2.0'
|
|
160
194
|
type: :development
|
|
161
195
|
prerelease: false
|
|
162
196
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
197
|
requirements:
|
|
164
198
|
- - "~>"
|
|
165
199
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: '
|
|
200
|
+
version: '2.0'
|
|
167
201
|
- !ruby/object:Gem::Dependency
|
|
168
|
-
name:
|
|
202
|
+
name: capybara
|
|
169
203
|
requirement: !ruby/object:Gem::Requirement
|
|
170
204
|
requirements:
|
|
171
205
|
- - "~>"
|
|
172
206
|
- !ruby/object:Gem::Version
|
|
173
|
-
version: '3.
|
|
207
|
+
version: '3.3'
|
|
174
208
|
type: :development
|
|
175
209
|
prerelease: false
|
|
176
210
|
version_requirements: !ruby/object:Gem::Requirement
|
|
177
211
|
requirements:
|
|
178
212
|
- - "~>"
|
|
179
213
|
- !ruby/object:Gem::Version
|
|
180
|
-
version: '3.
|
|
214
|
+
version: '3.3'
|
|
181
215
|
- !ruby/object:Gem::Dependency
|
|
182
216
|
name: selenium-webdriver
|
|
183
217
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -248,8 +282,8 @@ files:
|
|
|
248
282
|
- scaffolds/project/Rakefile.gf.erb
|
|
249
283
|
- scaffolds/project/lib/__name__.rb.gf.erb
|
|
250
284
|
- scaffolds/project/lib/__name__/chapter.rb.gf.erb
|
|
251
|
-
- scaffolds/project/lib/__name__/common.rb.gf.erb
|
|
252
285
|
- scaffolds/project/lib/__name__/plot.rb.gf.erb
|
|
286
|
+
- scaffolds/project/lib/__name__/shared.rb.gf.erb
|
|
253
287
|
- scaffolds/project/lib/__name__/subplot.rb.gf.erb
|
|
254
288
|
- scaffolds/project/main.rb.gf.erb
|
|
255
289
|
- scaffolds/project/spec/__name__/plot_spec.rb.gf.erb
|