diff --git a/.gitignore b/.gitignore index bf65b63..3a20835 100644 --- a/.gitignore +++ b/.gitignore @@ -53,7 +53,9 @@ Thumbs.db .netrwhist *.un~ -# Ruby # -######## -*.gem -/.yardoc/ +# YARD Related # +################ +# doc/ is the generated documentation for Yard, which can easily be generated +# locally with yardoc +# .yardoc/ is yard metadata, not necessary to be uploaded to GH +.yardoc/ diff --git a/.ruby-version b/.ruby-version deleted file mode 100644 index 951d42f..0000000 --- a/.ruby-version +++ /dev/null @@ -1 +0,0 @@ -ruby-2.4.2 diff --git a/Gemfile b/Gemfile index b8028e2..f52d7ba 100644 --- a/Gemfile +++ b/Gemfile @@ -1,21 +1,12 @@ # frozen_string_literal: true -source 'https://rubygems.org' +source "https://rubygems.org" -ruby '2.4.2' +# Documentation +gem "rdoc" +gem "redcarpet" +gem "thor" +gem "yard" +gem "yard-ghpages" -gem 'thor' - -group :documentation do - gem 'rdoc' - gem 'redcarpet' - gem 'yard' - gem 'yard-ghpages' -end - -group :test do - gem 'rubocop' -end - -group :web do - gem 'rack' -end +# Testing +gem "rubocop" diff --git a/Gemfile.lock b/Gemfile.lock index a13aa84..bd564d0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -6,7 +6,6 @@ GEM parser (2.4.0.0) ast (~> 2.2) powerpack (0.1.1) - rack (2.0.3) rainbow (2.2.2) rake rake (11.3.0) @@ -31,7 +30,6 @@ PLATFORMS ruby DEPENDENCIES - rack rdoc redcarpet rubocop @@ -39,8 +37,5 @@ DEPENDENCIES yard yard-ghpages -RUBY VERSION - ruby 2.4.2p198 - BUNDLED WITH - 1.15.4 + 1.14.6 diff --git a/lib/sapling.rb b/lib/sapling.rb index 721455a..901094b 100644 --- a/lib/sapling.rb +++ b/lib/sapling.rb @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -# frozen string literal: true -require 'rack' require 'thor' require 'yaml' @@ -9,7 +7,6 @@ Dir[File.join(__dir__, 'sapling', '*.rb')].each { |file| require file } # The main Sapling interface. class Sapling < Thor - # CLI-based options desc 'read TREE', 'Load and traverse the TREE' def read(file) puts 'Welcome to Sapling, a Dialogue Tree Utility.' @@ -33,16 +30,10 @@ class Sapling < Thor gardner.plant end - # Web-based options desc 'serve TREE', 'Load TREE in a web-based interface' - def serve(file) - exit unless verify_tree(file) - tree = Gardner::Plot.new(YAML.load_file(file)) - Rack::Server.new( - app: Greenhouse.new(tree), - server: 'webrick', - Port: 9000 - ).start + def serve(tree) + exit unless verify_tree(tree) + puts 'Sinatra will be cool.' end desc 'export TREE', 'Save a portable HTML version of TREE' @@ -50,15 +41,4 @@ class Sapling < Thor exit unless verify_tree(tree) puts 'Cool feature, bro!' end - - # Miscellaneous options - desc 'example', 'Play Example Quest!' - def example - file = File.join(__dir__, '..', 'var', 'trees', 'example_quest.yaml') - puts 'Welcome to Sapling, a Dialogue Tree Utility.' - exit unless verify_tree(file) - tree = Gardner::Plot.new(YAML.load_file(file)) - speaker = Dialogue::Speaker.new(tree, false) - speaker.conversation - end end diff --git a/lib/sapling/greenhouse.rb b/lib/sapling/greenhouse.rb deleted file mode 100644 index cf88e19..0000000 --- a/lib/sapling/greenhouse.rb +++ /dev/null @@ -1,15 +0,0 @@ -require 'erb' - -# The rack application -class Greenhouse - attr_reader :tree - - def initialize(file) - @tree = file - @response = ERB.new(File.read('lib/sapling/index.erb')).result(binding) - end - - def call(_env) - ['200', { 'Content-Type' => 'text/html' }, [@response]] - end -end diff --git a/lib/sapling/index.erb b/lib/sapling/index.erb deleted file mode 100644 index 949984a..0000000 --- a/lib/sapling/index.erb +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - Sapling: Adventure Awaits! - - -
-

Sapling

-
- GitHub -
-
-
- <%= @tree.trunk %> - - diff --git a/sapling-dialogue.gemspec b/sapling-dialogue.gemspec index ad7550a..3aebab3 100644 --- a/sapling-dialogue.gemspec +++ b/sapling-dialogue.gemspec @@ -7,9 +7,7 @@ Gem::Specification.new do |s| s.description = 'Create, edit, and traverse dialogue trees' s.authors = ['Bill Niblock'] s.email = 'azulien@gmail.com' - s.files = Dir['lib/**/*.rb'] + - Dir['bin/*'] + - Dir['var/trees/*'] + s.files = Dir['lib/**/*.rb'] + Dir['bin/*'] s.homepage = 'http://www.theinternetvagabond.com/sapling/' s.license = 'MIT' end