chione 0.4.0 → 0.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ef14891907c37d8047d88177ab303208f073f8e0e33e940cbf56989a1e45e3ac
4
- data.tar.gz: 35eaace97f89719cd01ba69fa437baed47bdfc8bcb84f918ba4c7e0ce08c512e
3
+ metadata.gz: 942a44dbe1220f53a15e2677191e58b9a76105e786f35798120dc8d3d3a22312
4
+ data.tar.gz: e15195e1c3d30184b3f1ee0fde4ec572da7171dd957674099d5b5ec1446afe75
5
5
  SHA512:
6
- metadata.gz: a2d8877f54851147ce6760c041e302fce3e1e1a55b6d64eaa0122c173b13b61b188d47d3bac630438bac81d25bf5b32b26d9b206ee6129b4513e459564183309
7
- data.tar.gz: b085ac2e31c52eeeaee5f9776a1049ba6172c1d05927ea72b8229f8476c080a93cc732e9ab17c12cabc940630a056908c5a48277cb89785e44bf816b31245867
6
+ metadata.gz: a17c48a8a466bc5e734f98d2b6d6ec393e785671ba415cd1ae45b637bc1896a6526cd64b309a9c16db48b8d541f1a2eef47f3517c1ff054a5e6bd20536d28e16
7
+ data.tar.gz: 7d5afadc0db038a8ff866fb10a237672c2687ea29c49a41f0faf24ee382df690626970336d78da88c3292410f41a38fa87d44dffd9fe3db5833e43d22a58dbff
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/ChangeLog CHANGED
@@ -1,3 +1,151 @@
1
+ 2018-06-02 Michael Granger <ged@FaerieMUD.org>
2
+
3
+ * .hgtags:
4
+ Added tag v0.5.0 for changeset 1fb4fb6761f2
5
+ [4a799c04f87f] [tip]
6
+
7
+ * .hgsigs:
8
+ Added signature for changeset 8b19a6b5fb12
9
+ [1fb4fb6761f2] [v0.5.0]
10
+
11
+ * History.md, chione.gemspec, lib/chione.rb:
12
+ Bump the minor version, update history.
13
+ [8b19a6b5fb12]
14
+
15
+ * README.md, Rakefile, chione.gemspec:
16
+ Update URLs, copyright dates
17
+ [349fe4d64ec7]
18
+
19
+ * lib/chione/archetype.rb, lib/chione/system.rb:
20
+ Fix blank archetype inspect details
21
+ [c64a0a142f5e]
22
+
23
+ * lib/chione/world.rb, spec/chione/world_spec.rb:
24
+ Update configuration to use chione namespace
25
+ [27a0eec7c366]
26
+
27
+ 2017-12-11 Michael Granger <ged@FaerieMUD.org>
28
+
29
+ * .hgtags:
30
+ Added tag v0.4.0 for changeset 61536d84d951
31
+ [e23f5a4ba13d]
32
+
33
+ * .hgsigs:
34
+ Added signature for changeset b86a9cde058d
35
+ [61536d84d951] [v0.4.0]
36
+
37
+ * History.md, chione.gemspec, lib/chione.rb:
38
+ Bump the minor version, update history.
39
+ [b86a9cde058d]
40
+
41
+ * .ruby-version, lib/chione/system.rb, lib/chione/world.rb,
42
+ spec/chione/system_spec.rb:
43
+ Refactor tick and timing events.
44
+
45
+ COMPAT: the arguments passed to System.every_tick blocks are now
46
+ only the delta and the tick count.
47
+ [38c42eb46418]
48
+
49
+ 2017-10-04 Michael Granger <ged@FaerieMUD.org>
50
+
51
+ * lib/chione/world.rb:
52
+ Normalize entity IDs in the World API
53
+ [d5736d289092]
54
+
55
+ * lib/chione/entity.rb, lib/chione/world.rb,
56
+ spec/chione/entity_spec.rb:
57
+ Pass init args through Component.add_component
58
+ [ba43a21631c5]
59
+
60
+ * lib/chione/system.rb:
61
+ Fix API docs for Chione::System::on
62
+ [7ee9fc0c0c8e]
63
+
64
+ * certs/ged.pem:
65
+ Update gem-signing cert
66
+ [e7986014f2c2]
67
+
68
+ 2017-07-21 Michael Granger <ged@FaerieMUD.org>
69
+
70
+ * chione.gemspec, lib/chione.rb, lib/chione/archetype.rb,
71
+ lib/chione/aspect.rb, lib/chione/component.rb, lib/chione/system.rb,
72
+ lib/chione/world.rb, spec/chione/archetype_spec.rb,
73
+ spec/chione/component_spec.rb, spec/chione/system_spec.rb:
74
+ Work on System execution and Component construction
75
+
76
+ - Add constructor arguments to component-creation paths
77
+ - Add Aspect#archetype and Archetype.from_aspect
78
+ - Add a processing block to Component field declaration
79
+ [e0452d211146]
80
+
81
+ 2017-07-12 Michael Granger <ged@FaerieMUD.org>
82
+
83
+ * chione.gemspec, lib/chione.rb, lib/chione/component.rb:
84
+ Add the entity ID to Component's inspect output
85
+ [7f1190b563a6]
86
+
87
+ * spec/chione/component_spec.rb:
88
+ Add coverage for Component #inspect.
89
+ [2de145d530d5]
90
+
91
+ * lib/chione/aspect.rb, lib/chione/system.rb, lib/chione/world.rb,
92
+ spec/chione/aspect_spec.rb, spec/chione/system_spec.rb:
93
+ Add caching and #inserted/#removed callbacks for aspect-membership
94
+ to Systems.
95
+ [6eed9e4055be]
96
+
97
+ 2017-07-11 Michael Granger <ged@FaerieMUD.org>
98
+
99
+ * .gems, Manifest.txt, Rakefile, chione.gemspec,
100
+ lib/chione/archetype.rb, lib/chione/aspect.rb, lib/chione/entity.rb,
101
+ lib/chione/fixtures.rb, lib/chione/fixtures/entities.rb,
102
+ lib/chione/iterating_system.rb, lib/chione/system.rb,
103
+ lib/chione/world.rb, spec/chione/aspect_spec.rb,
104
+ spec/chione/iterating_system_spec.rb, spec/chione/system_spec.rb,
105
+ spec/chione/world_spec.rb, spec/spec_helper.rb:
106
+ Start adding system execution strategies
107
+
108
+ - Add fixtures collection
109
+ - Add Aspect#matches? to match individual entities
110
+ - Rename some component-API methods on the World for clarity (with
111
+ aliases to the old methods)
112
+ - Add Chione::IteratingSystem
113
+ - Add stubs for System#inserted and #removed
114
+ [783c4a657041]
115
+
116
+ 2017-07-07 Michael Granger <ged@FaerieMUD.org>
117
+
118
+ * lib/chione/component.rb, lib/chione/world.rb,
119
+ spec/chione/component_spec.rb:
120
+ Add the entity ID to components on registration
121
+ [cf37f1305ad2]
122
+
123
+ * lib/chione/system.rb, spec/chione/system_spec.rb:
124
+ Remove aspects from event handler declarations.
125
+ [a8f3ac7113c3]
126
+
127
+ * lib/chione/system.rb, spec/chione/aspect_spec.rb,
128
+ spec/chione/system_spec.rb:
129
+ Checkpoint before undoing experimental event-based system execution
130
+ model
131
+ [f89f24dfb25c]
132
+
133
+ 2017-07-05 Michael Granger <ged@FaerieMUD.org>
134
+
135
+ * lib/chione/system.rb, lib/chione/world.rb,
136
+ spec/chione/system_spec.rb:
137
+ Add execution models to Systems
138
+ [c9e80cf737e7]
139
+
140
+ 2017-06-30 Michael Granger <ged@FaerieMUD.org>
141
+
142
+ * README.md, lib/chione/archetype.rb, lib/chione/aspect.rb,
143
+ lib/chione/entity.rb, lib/chione/system.rb, lib/chione/world.rb,
144
+ spec/chione/aspect_spec.rb, spec/chione/entity_spec.rb,
145
+ spec/chione/system_spec.rb, spec/chione/world_spec.rb:
146
+ Refactor for thinner entities and systems with named aspects
147
+ [d69678296749]
148
+
1
149
  2017-06-06 Michael Granger <ged@FaerieMUD.org>
2
150
 
3
151
  * lib/chione/aspect.rb, lib/chione/component.rb, lib/chione/entity.rb,
@@ -5,7 +153,7 @@
5
153
  Pull up common #inspect functionality into a mixin
6
154
 
7
155
  ...and use it everywhere.
8
- [0eb1e6c25953] [tip]
156
+ [0eb1e6c25953]
9
157
 
10
158
  * lib/chione/world.rb, spec/chione/world_spec.rb:
11
159
  Added World#remove_system and _manager; publish the instance of
@@ -16,7 +164,7 @@
16
164
 
17
165
  * .hgtags:
18
166
  Added tag v0.3.0 for changeset c91f71b3d7d9
19
- [06fdcde9eb00] [github/master]
167
+ [06fdcde9eb00]
20
168
 
21
169
  * .hgsigs:
22
170
  Added signature for changeset 0d453cae95c3
data/History.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## v0.5.0 [2018-06-02] Michael Granger <ged@FaerieMUD.org>
2
+
3
+ Bugfixes:
4
+
5
+ - Fix blank archetype inspect details
6
+
7
+ Changes:
8
+
9
+ - Update configuration to use chione namespace. The `gameworld` config section
10
+ is now `world` under the `chione` section.
11
+
12
+
1
13
  ## v0.4.0 [2017-12-11] Michael Granger <ged@FaerieMUD.org>
2
14
 
3
15
  Enhancements:
@@ -11,7 +23,8 @@ Enhancements:
11
23
  - Add the entity ID to Component's inspect output
12
24
  - Add Chione::IteratingSystem
13
25
  - Entities are thinner and systems make better use of named aspects
14
- - Added World#remove_system and _manager; publish the instance of /added and /removed events
26
+ - Added World#remove_system and _manager; publish the instance of /added and
27
+ /removed events
15
28
  - Pull up common #inspect functionality into a mixin and use it everywhere.
16
29
 
17
30
  Changes:
@@ -19,7 +32,8 @@ Changes:
19
32
  - The `every_tick` callback is now only passed the delta and the tick count
20
33
  - Init arguments are passed through to Component.add_component
21
34
  - Add a processing block to Component field declaration
22
- - Rename some component-API methods on the World for clarity (with aliases to the old methods)
35
+ - Rename some component-API methods on the World for clarity (with aliases to
36
+ the old methods)
23
37
  - Add the entity ID to components on registration
24
38
  - Event handler declarations no longer include an aspect.
25
39
 
data/README.md CHANGED
@@ -73,7 +73,7 @@ and generate the API documentation.
73
73
 
74
74
  ## License
75
75
 
76
- Copyright (c) 2015-2017, Michael Granger
76
+ Copyright (c) 2015-2018, Michael Granger
77
77
  All rights reserved.
78
78
 
79
79
  Redistribution and use in source and binary forms, with or without
data/Rakefile CHANGED
@@ -23,10 +23,10 @@ hoespec = Hoe.spec 'chione' do |spec|
23
23
  spec.extra_rdoc_files = FileList[ '*.rdoc', '*.md' ]
24
24
  spec.license 'BSD-3-Clause'
25
25
  spec.urls = {
26
- home: 'http://deveiate.org/projects/LinguaThauma',
27
- code: 'http://repo.deveiate.org/LinguaThauma',
28
- docs: 'http://deveiate.org/code/LinguaThauma',
29
- github: 'http://github.com/ged/LinguaThauma',
26
+ home: 'http://deveiate.org/projects/chione',
27
+ code: 'http://repo.deveiate.org/chione',
28
+ docs: 'http://deveiate.org/code/chione',
29
+ github: 'http://github.com/ged/chione',
30
30
  }
31
31
 
32
32
  spec.developer 'Michael Granger', 'ged@FaerieMUD.org'
data/lib/chione.rb CHANGED
@@ -12,7 +12,7 @@ module Chione
12
12
  extend Loggability
13
13
 
14
14
  # Gem version
15
- VERSION = '0.4.0'
15
+ VERSION = '0.5.0'
16
16
 
17
17
 
18
18
  # Loggability API -- set up a log host
@@ -105,9 +105,10 @@ module Chione::Archetype
105
105
  def inspect_details
106
106
  if self.from_aspect
107
107
  return "Chione::Archetype from %p" % [ self.from_aspect ]
108
+ elsif !self.components.empty?
109
+ return "Chione::Archetype for creating entities with %p" % [ self.components.keys ]
108
110
  else
109
- return "Chione::Archetype for creating entities with %s" %
110
- [ self.components.keys.map( &:name ).join(', ') ]
111
+ return "blank Chione::Archetype"
111
112
  end
112
113
  end
113
114
 
data/lib/chione/system.rb CHANGED
@@ -96,6 +96,7 @@ class Chione::System
96
96
 
97
97
  ### Create a new Chione::System for the specified +world+.
98
98
  def initialize( world, * )
99
+ self.log.debug "Setting up %p" % [ self.class ]
99
100
  @world = world
100
101
  @aspect_entities = self.class.aspects.each_with_object( {} ) do |(aspect_name, aspect), hash|
101
102
  matching_set = world.entities_with( aspect )
data/lib/chione/world.rb CHANGED
@@ -18,8 +18,8 @@ class Chione::World
18
18
  # Loggability API -- send logs to the Chione logger
19
19
  log_to :chione
20
20
 
21
- # Configurability API -- use the 'gameworld' section of the config
22
- configurability :gameworld do
21
+ # Configurability API -- use the 'world' section of the config
22
+ configurability 'chione.world' do
23
23
 
24
24
  ##
25
25
  # :singleton-method:
@@ -94,15 +94,12 @@ describe Chione::World do
94
94
  describe "configuration" do
95
95
 
96
96
  it "is done via the Configurability API" do
97
- new_stop_wait = Chione::World::CONFIG_DEFAULTS[:max_stop_wait] + 10
98
97
  config = Configurability.default_config
99
- config.gameworld = {
100
- max_stop_wait: new_stop_wait
101
- }
98
+ config.chione.world.max_stop_wait = 15
102
99
 
103
- config.install
104
-
105
- expect( described_class.max_stop_wait ).to eq( new_stop_wait )
100
+ expect {
101
+ config.install
102
+ }.to change { described_class.max_stop_wait }.to( 15 )
106
103
  end
107
104
 
108
105
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chione
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Granger
@@ -35,7 +35,7 @@ cert_chain:
35
35
  X0qdrKi+2aZZ0NGuFj9AItBsVmAvkBGIpX4TEKQp5haEbPpmaqO5nIIhV26PXmyT
36
36
  OMKv6pWsoS81vw5KAGBmfX8nht/Py90DQrbRvakATGI=
37
37
  -----END CERTIFICATE-----
38
- date: 2017-12-12 00:00:00.000000000 Z
38
+ date: 2018-06-02 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: loggability
@@ -284,7 +284,7 @@ files:
284
284
  - spec/chione/world_spec.rb
285
285
  - spec/chione_spec.rb
286
286
  - spec/spec_helper.rb
287
- homepage: http://deveiate.org/projects/LinguaThauma
287
+ homepage: http://deveiate.org/projects/chione
288
288
  licenses:
289
289
  - BSD-3-Clause
290
290
  metadata: {}
@@ -306,7 +306,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
306
306
  version: '0'
307
307
  requirements: []
308
308
  rubyforge_project:
309
- rubygems_version: 2.6.14
309
+ rubygems_version: 2.7.7
310
310
  signing_key:
311
311
  specification_version: 4
312
312
  summary: An Entity/Component System framework inspired by Artemis
metadata.gz.sig CHANGED
Binary file