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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b6724535e5c600a5e86b993fff074b81e7ca69ef47c2e567fae0cb2168fe754e
4
- data.tar.gz: 31832d5ad5de7d98c15e71e9cb37f240a6221a67e1d5bf9b11cb07f05c357da6
3
+ metadata.gz: 0351ddd6d00666fc2b3e29d69bab832a3d84abbcb880fe8ef08d720e47ab1267
4
+ data.tar.gz: e42efcccf4bc11fd20f34119494fdc2ed1c8ea071184ed5079cedbe85852ab57
5
5
  SHA512:
6
- metadata.gz: 7af5ca16d5031458c11779056fa863f99fd8590680865d4c65066339104595a1a0513f7da703758d59d6045c5a8c0c37252bf34e97af9f8ce8f64d960d08dbbd
7
- data.tar.gz: 288de06cb0c448613ec71e637e076bc77fb57eecea54fa048c2cd52ad8af7b9c04cd8ae76cfec2a19f8cede65ba55d92b4f8cb3638ba338cbf39daed3d810bae
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
- UUID = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
46
+ include Shared
47
47
 
48
- include Gamefic::Standard
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
- `UUID` is a globally unique identifier. It can be useful if you want to
60
- add your game to online catalogs, such as the [Interactive Fiction Database](https://ifdb.tads.org/),
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
- ['gamefic-standard'](https://github.com/castwide/gamefic-standard) is a collection
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
- UUID = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
71
+ include Shared
80
72
 
81
- include Gamefic::Standard
82
-
83
- seed do
84
- @living_room = make Room, name: 'living room', description: 'This is your living room.'
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
- script do
92
- introduction do |actor|
93
- actor.parent = @living_room
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 opal](https://github.com/opal/opal)
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 "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
-
4
- RSpec::Core::RakeTask.new(:spec)
5
-
6
- task :default => :spec
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', '~> 3.4'
32
- spec.add_runtime_dependency 'gamefic-standard', '~> 3.0'
33
- spec.add_runtime_dependency 'gamefic-tty', '~> 3.0'
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
@@ -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
@@ -4,7 +4,7 @@ module Gamefic
4
4
  module Sdk
5
5
  class Shell < Thor
6
6
  map %w[--version -v] => :version
7
- map [:create, :new] => :init
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 'init DIRECTORY_NAME', 'Create a new project in DIRECTORY_NAME'
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
- def init(directory_name)
19
- scaffold = options[:gem] ? 'library' : 'project'
20
- Gamefic::Sdk::Scaffold.build scaffold, directory_name, specs: options[:specs]
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 'diagram TYPE', 'Get diagram data'
25
- long_desc %(
26
- SDK "diagrams" are datasets that can be used in analysis tools and
27
- graphical data representations. The dataset is provided in JSON
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 directory = '.'
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 string
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 name
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
- rel = full.sub(/^(#{spec.load_paths.join('|')})\//, '')
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 path
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 version = '@1.6.1'
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 = File.basename(absolute_path)
21
- system 'npx', '-y', "react-gamefic#{version}", '--name', name, '--class', 'GAMEFIC_PLOT_CLASS', '--path', '../lib'
22
- puts 'The web app is ready.'
23
- puts 'Run `rake web:run` to start the app in dev mode.'
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
@@ -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 define_all
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)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Gamefic
4
4
  module Sdk
5
- VERSION = '3.4.1'
5
+ VERSION = '4.0.1'
6
6
  end
7
7
  end
@@ -1,9 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- source "https://rubygems.org"
3
+ source 'https://rubygems.org'
4
4
 
5
5
  gem 'gamefic'
6
6
  gem 'gamefic-standard'
7
+ <% if autoloader -%>gem 'gamefic-autoload'<% end %>
7
8
 
8
9
  group :development do
9
10
  gem 'gamefic-sdk'
@@ -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.define_all
11
- <% if specs %>
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 %>
@@ -7,6 +7,6 @@ module <%= camelcase(name) %>
7
7
  # the plot.
8
8
  #
9
9
  class Chapter < Gamefic::Chapter
10
- include Common
10
+ include Shared
11
11
  end
12
12
  end
@@ -4,7 +4,7 @@ module <%= camelcase(name) %>
4
4
  # The main plot.
5
5
  #
6
6
  class Plot < Gamefic::Plot
7
- include Common
7
+ include Shared
8
8
 
9
9
  introduction do |actor|
10
10
  actor.tell "Hello, world!"
@@ -4,7 +4,7 @@ module <%= camelcase(name) %>
4
4
  # A single container for modules that are shared among plots, chapters, and
5
5
  # subplots.
6
6
  #
7
- module Common
7
+ module Shared
8
8
  extend Gamefic::Scriptable
9
9
 
10
10
  include Gamefic::Standard
@@ -7,6 +7,6 @@ module <%= camelcase(name) %>
7
7
  # branch.
8
8
  #
9
9
  class Subplot < Gamefic::Subplot
10
- include Common
10
+ include Shared
11
11
  end
12
12
  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
- require '<%= name %>/common'
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: 3.4.1
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: 2024-10-20 00:00:00.000000000 Z
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: '3.4'
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: '3.4'
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: '3.0'
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: '3.0'
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: '3.0'
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: '3.0'
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: sinatra
132
+ name: rake
99
133
  requirement: !ruby/object:Gem::Requirement
100
134
  requirements:
101
135
  - - "~>"
102
136
  - !ruby/object:Gem::Version
103
- version: '2'
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: '2'
144
+ version: '13.0'
111
145
  - !ruby/object:Gem::Dependency
112
- name: thor
146
+ name: rspec
113
147
  requirement: !ruby/object:Gem::Requirement
114
148
  requirements:
115
149
  - - "~>"
116
150
  - !ruby/object:Gem::Version
117
- version: '1.0'
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: '1.0'
158
+ version: '3.0'
125
159
  - !ruby/object:Gem::Dependency
126
- name: bundler
160
+ name: sinatra
127
161
  requirement: !ruby/object:Gem::Requirement
128
162
  requirements:
129
163
  - - "~>"
130
164
  - !ruby/object:Gem::Version
131
- version: '2.0'
132
- type: :development
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.0'
172
+ version: '2'
139
173
  - !ruby/object:Gem::Dependency
140
- name: capybara
174
+ name: thor
141
175
  requirement: !ruby/object:Gem::Requirement
142
176
  requirements:
143
177
  - - "~>"
144
178
  - !ruby/object:Gem::Version
145
- version: '3.3'
146
- type: :development
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: '3.3'
186
+ version: '1.0'
153
187
  - !ruby/object:Gem::Dependency
154
- name: rake
188
+ name: bundler
155
189
  requirement: !ruby/object:Gem::Requirement
156
190
  requirements:
157
191
  - - "~>"
158
192
  - !ruby/object:Gem::Version
159
- version: '13.0'
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: '13.0'
200
+ version: '2.0'
167
201
  - !ruby/object:Gem::Dependency
168
- name: rspec
202
+ name: capybara
169
203
  requirement: !ruby/object:Gem::Requirement
170
204
  requirements:
171
205
  - - "~>"
172
206
  - !ruby/object:Gem::Version
173
- version: '3.0'
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.0'
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