inform-runtime 1.0.4 → 1.2.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.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -12
  3. data/Rakefile +26 -16
  4. data/lib/{runtime → story_teller}/articles.rb +14 -10
  5. data/lib/{runtime → story_teller}/builtins.rb +50 -22
  6. data/lib/{runtime → story_teller}/color.rb +8 -8
  7. data/lib/{runtime → story_teller}/command.rb +26 -28
  8. data/lib/{runtime → story_teller}/context.rb +23 -24
  9. data/lib/story_teller/core.rb +38 -0
  10. data/lib/{runtime → story_teller}/daemon.rb +35 -36
  11. data/lib/story_teller/engine.rb +151 -0
  12. data/lib/story_teller/ephemeral_adapter.rb +42 -0
  13. data/lib/{runtime → story_teller}/events.rb +8 -9
  14. data/lib/{runtime → story_teller}/experimental/handler_dsl.rb +7 -18
  15. data/lib/story_teller/experimental/reverse_engineer_class.rb +37 -0
  16. data/lib/{runtime → story_teller}/grammar_parser.rb +24 -40
  17. data/lib/{runtime → story_teller}/helpers.rb +21 -7
  18. data/lib/{runtime → story_teller}/history.rb +5 -5
  19. data/lib/{runtime → story_teller}/inflector.rb +4 -5
  20. data/lib/story_teller/inform/base.rb +160 -0
  21. data/lib/{runtime → story_teller/inform/ephemeral}/link.rb +27 -45
  22. data/lib/{runtime → story_teller/inform/ephemeral}/module.rb +17 -58
  23. data/lib/story_teller/inform/ephemeral/object.rb +329 -0
  24. data/lib/{runtime → story_teller/inform/ephemeral}/tag.rb +54 -81
  25. data/lib/story_teller/inform/models.rb +25 -0
  26. data/lib/{runtime → story_teller}/io.rb +10 -10
  27. data/lib/{runtime → story_teller}/kernel.rb +21 -31
  28. data/lib/story_teller/library/bootstrap.rb +66 -0
  29. data/lib/story_teller/library/declarations.rb +53 -0
  30. data/lib/story_teller/library/directives.rb +91 -0
  31. data/lib/story_teller/library/loader.rb +104 -0
  32. data/lib/story_teller/library/location.rb +73 -0
  33. data/lib/{runtime → story_teller}/library.rb +27 -12
  34. data/lib/{runtime → story_teller}/logging.rb +47 -24
  35. data/lib/{runtime → story_teller}/mixins.rb +6 -6
  36. data/lib/story_teller/model_adapter.rb +132 -0
  37. data/lib/{runtime → story_teller}/plurals.rb +11 -11
  38. data/lib/{runtime → story_teller}/prototype.rb +11 -10
  39. data/lib/{runtime → story_teller}/publication.rb +9 -9
  40. data/lib/{runtime → story_teller}/session.rb +6 -8
  41. data/lib/{runtime → story_teller}/stdlib.rb +13 -11
  42. data/lib/{runtime → story_teller}/subscription.rb +8 -8
  43. data/lib/{runtime → story_teller}/tree.rb +6 -6
  44. data/lib/{runtime → story_teller}/version.rb +16 -6
  45. data/lib/story_teller/world_tree.rb +54 -0
  46. data/lib/story_teller.rb +26 -0
  47. metadata +59 -99
  48. data/config/database.yml +0 -37
  49. data/exe/inform.rb +0 -6
  50. data/game/config.yml +0 -5
  51. data/game/example.inf +0 -76
  52. data/game/example.rb +0 -90
  53. data/game/forms/example_form.rb +0 -2
  54. data/game/grammar/game_grammar.inf.rb +0 -11
  55. data/game/languages/english.rb +0 -2
  56. data/game/models/example_model.rb +0 -2
  57. data/game/modules/example_module.rb +0 -9
  58. data/game/rules/example_state.rb +0 -2
  59. data/game/scripts/example_script.rb +0 -2
  60. data/game/topics/example_topic.rb +0 -2
  61. data/game/verbs/game_verbs.rb +0 -15
  62. data/game/verbs/metaverbs.rb +0 -2028
  63. data/lib/runtime/config.rb +0 -48
  64. data/lib/runtime/database.rb +0 -500
  65. data/lib/runtime/game.rb +0 -74
  66. data/lib/runtime/game_loader.rb +0 -132
  67. data/lib/runtime/library_loader.rb +0 -135
  68. data/lib/runtime/object.rb +0 -761
  69. data/lib/runtime/options.rb +0 -104
  70. data/lib/runtime/persistence.rb +0 -292
  71. data/lib/runtime/runtime.rb +0 -321
  72. data/lib/runtime/world_tree.rb +0 -69
  73. data/lib/runtime.rb +0 -35
@@ -1,69 +0,0 @@
1
- # encoding: utf-8
2
- # frozen_string_literal: false
3
-
4
- # Copyright Nels Nelson 2008-2023 but freely usable (see license)
5
- #
6
- # This file is part of the Inform Runtime.
7
- #
8
- # The Inform Runtime is free software: you can redistribute it and/or
9
- # modify it under the terms of the GNU General Public License as published
10
- # by the Free Software Foundation, either version 3 of the License, or
11
- # (at your option) any later version.
12
- #
13
- # The Inform Runtime is distributed in the hope that it will be useful,
14
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
15
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
- # GNU General Public License for more details.
17
- #
18
- # You should have received a copy of the GNU General Public License
19
- # along with the Inform Runtime. If not, see <http://www.gnu.org/licenses/>.
20
-
21
- require_relative 'object'
22
- require_relative 'link'
23
- require_relative 'tag'
24
- require_relative 'module'
25
- require_relative 'tree'
26
- require_relative 'daemon'
27
-
28
- # The Inform module to include additional
29
- # modules with Inform::Object, Inform::System::Object,
30
- # and Inform::Event
31
- module Inform
32
- # The Inform::Object functionality
33
- class Object
34
- include Inform
35
- include Inform::IO if defined?(Inform::IO)
36
- include Inform::Events if defined?(Inform::Events)
37
- include Inform::Publisher if defined?(Inform::Publisher)
38
- include Inform::Prototypical if defined?(Inform::Prototypical)
39
- include Inform::Linkable
40
- include Inform::Taggable
41
- include Inform::Modular
42
- include Inform::Genealogical
43
- include Inform::Daemons
44
- end
45
-
46
- # The Inform::Event class
47
- class Event
48
- include Inform::Publisher
49
- end
50
-
51
- # The Inform::System module to be used as
52
- # a namespace differentiator from the Inform::Object
53
- module System
54
- # The Inform::System::Object functionality
55
- class Object
56
- include Inform
57
- include Inform::IO if defined?(Inform::IO)
58
- include Inform::Events if defined?(Inform::Events)
59
- include Inform::Publisher if defined?(Inform::Publisher)
60
- # TODO: I don't think there is any legitimate reason for
61
- # System::Object instances to have prototypical functionality.
62
- include Inform::Prototypical if defined?(Inform::Prototypical)
63
- include Inform::Linkable
64
- include Inform::Taggable
65
- include Inform::Genealogical
66
- include Inform::Daemons
67
- end
68
- end
69
- end
data/lib/runtime.rb DELETED
@@ -1,35 +0,0 @@
1
- # encoding: utf-8
2
- # frozen_string_literal: false
3
-
4
- # Copyright Nels Nelson 2008-2023 but freely usable (see license)
5
- #
6
- # This file is part of the Inform Runtime.
7
- #
8
- # The Inform Runtime is free software: you can redistribute it and/or
9
- # modify it under the terms of the GNU General Public License as published
10
- # by the Free Software Foundation, either version 3 of the License, or
11
- # (at your option) any later version.
12
- #
13
- # The Inform Runtime is distributed in the hope that it will be useful,
14
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
15
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
- # GNU General Public License for more details.
17
- #
18
- # You should have received a copy of the GNU General Public License
19
- # along with the Inform Runtime. If not, see <http://www.gnu.org/licenses/>.
20
-
21
- require_relative 'runtime/builtins'
22
- require_relative 'runtime/stdlib'
23
- require_relative 'runtime/logging'
24
- require_relative 'runtime/prototype'
25
- require_relative 'runtime/command'
26
- require_relative 'runtime/runtime'
27
- require_relative 'runtime/persistence'
28
- require_relative 'runtime/history'
29
- require_relative 'runtime/events'
30
- require_relative 'runtime/grammar_parser'
31
- require_relative 'runtime/kernel'
32
- require_relative 'runtime/mixins'
33
- require_relative 'runtime/helpers'
34
- require_relative 'runtime/io'
35
- require_relative 'runtime/publication'