gamefic-sdk 3.4.1 → 4.0.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 +5 -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 +9 -5
- 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 +57 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 66928c52768935fd573b3197ef5cab278caab9be2a9403b6757e1cafaba447eb
|
4
|
+
data.tar.gz: 97cf597c70e442ae729775f78eee9ded4ce96584d2d3b1d6f26cbc225313ca84
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4fc8a13d6275eea7f4bab96943c696429b8424e018bbb3e0f17e333c221fe6622e32a5b2c128b5010d336dba5c8211a58d5be135a1b2573009bcb29576b6852a
|
7
|
+
data.tar.gz: 5b405dc2386134af6827546b7feb2d837e2f647cc66263ca2504e609a92b80ed470296787c78d86ce72156f510588aa2a3b4c3fd09c484e9113573ba2fbe02b7
|
data/CHANGELOG.md
CHANGED
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'
|
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
@@ -1,13 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
source
|
3
|
+
source 'https://rubygems.org'
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
base = 'D:/fsnyd/Documents/code/gamefic'
|
6
|
+
|
7
|
+
gem 'gamefic', path: "#{base}/gamefic"
|
8
|
+
gem 'gamefic-standard', path: "#{base}/gamefic-standard"
|
9
|
+
gem 'gamefic-what', path: "#{base}/gamefic-what" # @todo Remove this line
|
10
|
+
<% if autoloader -%>gem 'gamefic-autoload', path: "#{base}/gamefic-autoload"<% end %>
|
7
11
|
|
8
12
|
group :development do
|
9
|
-
gem 'gamefic-sdk'
|
10
|
-
gem 'gamefic-tty'
|
13
|
+
gem 'gamefic-sdk', path: "#{base}/gamefic-sdk"
|
14
|
+
gem 'gamefic-tty', path: "#{base}/gamefic-tty"
|
11
15
|
<% if specs -%>
|
12
16
|
gem 'opal-rspec'
|
13
17
|
gem 'opal-sprockets'
|
@@ -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.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:
|
11
|
+
date: 2025-01-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gamefic
|
@@ -16,42 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '4.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '4.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: gamefic-standard
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '4.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '4.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: gamefic-tty
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '4.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '4.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: listen
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,6 +80,34 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '1.1'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: opal-rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: opal-sprockets
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '1.0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '1.0'
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: puma
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -95,89 +123,89 @@ dependencies:
|
|
95
123
|
- !ruby/object:Gem::Version
|
96
124
|
version: '6'
|
97
125
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
126
|
+
name: rake
|
99
127
|
requirement: !ruby/object:Gem::Requirement
|
100
128
|
requirements:
|
101
129
|
- - "~>"
|
102
130
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
131
|
+
version: '13.0'
|
104
132
|
type: :runtime
|
105
133
|
prerelease: false
|
106
134
|
version_requirements: !ruby/object:Gem::Requirement
|
107
135
|
requirements:
|
108
136
|
- - "~>"
|
109
137
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
138
|
+
version: '13.0'
|
111
139
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
140
|
+
name: rspec
|
113
141
|
requirement: !ruby/object:Gem::Requirement
|
114
142
|
requirements:
|
115
143
|
- - "~>"
|
116
144
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
145
|
+
version: '3.0'
|
118
146
|
type: :runtime
|
119
147
|
prerelease: false
|
120
148
|
version_requirements: !ruby/object:Gem::Requirement
|
121
149
|
requirements:
|
122
150
|
- - "~>"
|
123
151
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
152
|
+
version: '3.0'
|
125
153
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
154
|
+
name: sinatra
|
127
155
|
requirement: !ruby/object:Gem::Requirement
|
128
156
|
requirements:
|
129
157
|
- - "~>"
|
130
158
|
- !ruby/object:Gem::Version
|
131
|
-
version: '2
|
132
|
-
type: :
|
159
|
+
version: '2'
|
160
|
+
type: :runtime
|
133
161
|
prerelease: false
|
134
162
|
version_requirements: !ruby/object:Gem::Requirement
|
135
163
|
requirements:
|
136
164
|
- - "~>"
|
137
165
|
- !ruby/object:Gem::Version
|
138
|
-
version: '2
|
166
|
+
version: '2'
|
139
167
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
168
|
+
name: thor
|
141
169
|
requirement: !ruby/object:Gem::Requirement
|
142
170
|
requirements:
|
143
171
|
- - "~>"
|
144
172
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
146
|
-
type: :
|
173
|
+
version: '1.0'
|
174
|
+
type: :runtime
|
147
175
|
prerelease: false
|
148
176
|
version_requirements: !ruby/object:Gem::Requirement
|
149
177
|
requirements:
|
150
178
|
- - "~>"
|
151
179
|
- !ruby/object:Gem::Version
|
152
|
-
version: '
|
180
|
+
version: '1.0'
|
153
181
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
182
|
+
name: bundler
|
155
183
|
requirement: !ruby/object:Gem::Requirement
|
156
184
|
requirements:
|
157
185
|
- - "~>"
|
158
186
|
- !ruby/object:Gem::Version
|
159
|
-
version: '
|
187
|
+
version: '2.0'
|
160
188
|
type: :development
|
161
189
|
prerelease: false
|
162
190
|
version_requirements: !ruby/object:Gem::Requirement
|
163
191
|
requirements:
|
164
192
|
- - "~>"
|
165
193
|
- !ruby/object:Gem::Version
|
166
|
-
version: '
|
194
|
+
version: '2.0'
|
167
195
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
196
|
+
name: capybara
|
169
197
|
requirement: !ruby/object:Gem::Requirement
|
170
198
|
requirements:
|
171
199
|
- - "~>"
|
172
200
|
- !ruby/object:Gem::Version
|
173
|
-
version: '3.
|
201
|
+
version: '3.3'
|
174
202
|
type: :development
|
175
203
|
prerelease: false
|
176
204
|
version_requirements: !ruby/object:Gem::Requirement
|
177
205
|
requirements:
|
178
206
|
- - "~>"
|
179
207
|
- !ruby/object:Gem::Version
|
180
|
-
version: '3.
|
208
|
+
version: '3.3'
|
181
209
|
- !ruby/object:Gem::Dependency
|
182
210
|
name: selenium-webdriver
|
183
211
|
requirement: !ruby/object:Gem::Requirement
|
@@ -248,8 +276,8 @@ files:
|
|
248
276
|
- scaffolds/project/Rakefile.gf.erb
|
249
277
|
- scaffolds/project/lib/__name__.rb.gf.erb
|
250
278
|
- scaffolds/project/lib/__name__/chapter.rb.gf.erb
|
251
|
-
- scaffolds/project/lib/__name__/common.rb.gf.erb
|
252
279
|
- scaffolds/project/lib/__name__/plot.rb.gf.erb
|
280
|
+
- scaffolds/project/lib/__name__/shared.rb.gf.erb
|
253
281
|
- scaffolds/project/lib/__name__/subplot.rb.gf.erb
|
254
282
|
- scaffolds/project/main.rb.gf.erb
|
255
283
|
- scaffolds/project/spec/__name__/plot_spec.rb.gf.erb
|