chione 0.11.0 → 0.12.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: f4fbb881162307d0260024d3e3e50c8119f8bae76921031e4c86289c21d4414c
4
- data.tar.gz: 17452be31e3f369356b1568700308f6a4bfa1bdc39e0c143e75f05ce66593733
3
+ metadata.gz: 65941d4d625d148139535bd3c077aec588aa9dbd5c9fad66884eb229e6195520
4
+ data.tar.gz: 9fa26b600b4e64c18b13bc153aad2832d59d42a6c821f82d4037371742f7f4a5
5
5
  SHA512:
6
- metadata.gz: f59016fa488a6c0846d552ab261ef0d377ae45bd92626a085b671f5a26d06f0aff30c26576a35d45886e51f394c0fde741e652ca76f2756f0440169593e95d74
7
- data.tar.gz: df42f4c2f6c0aabf6939a754c5c52d4760b12373092d4ad499635b8d41b6dec7461dfd525623559fd650302afb8d24319444252975623eedd1f5ccd513193383
6
+ metadata.gz: a660e498460868d70eeb9202bdd590face727d5227d0354f3605b23b048936119b462fd62c438cc2c47f99ea094445e17422a13722ed2c8e8917a8986a1a5f0d
7
+ data.tar.gz: 8ce18d5f02c61ef814919b8a2ee4849b0bd1cb7d9b3e725d1150e920ca1e488f2387dbb62e6bbe6653c313356ca9bd3866c0953243da8b5866e1950de21cdf8e
checksums.yaml.gz.sig CHANGED
Binary file
data/History.md CHANGED
@@ -1,6 +1,13 @@
1
1
  # Release History for chione
2
2
 
3
3
  ---
4
+ ## v0.12.0 [2023-05-10] Michael Granger <ged@faeriemud.org>
5
+
6
+ Enhancements:
7
+
8
+ - Add fields to inherited component classes
9
+ - Update for Ruby 3
10
+
4
11
 
5
12
  ## v0.11.0 [2020-03-03] Michael Granger <ged@FaerieMUD.org>
6
13
 
data/README.md CHANGED
@@ -28,7 +28,7 @@ for making it better via email or whatever.
28
28
 
29
29
  ## Prerequisites
30
30
 
31
- * Ruby 2.5
31
+ * Ruby 3.0+
32
32
 
33
33
 
34
34
  ## Installation
@@ -45,6 +45,7 @@ Articles/posts on ECS:
45
45
  * <http://www.richardlord.net/blog/what-is-an-entity-framework>
46
46
  * <http://www.richardlord.net/blog/why-use-an-entity-framework>
47
47
  * <http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/>
48
+ * <https://dzone.com/articles/entity-component-systems-in-elixir>
48
49
 
49
50
  Other ECS Frameworks:
50
51
 
@@ -78,7 +79,7 @@ and generate the API documentation.
78
79
 
79
80
  ## License
80
81
 
81
- Copyright (c) 2015-2020, Michael Granger
82
+ Copyright (c) 2015-2023, Michael Granger
82
83
  All rights reserved.
83
84
 
84
85
  Redistribution and use in source and binary forms, with or without
@@ -108,5 +109,5 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
108
109
 
109
110
 
110
111
  [github]: https://github.com/ged/chione
111
- [sourcehut]: https://hg.sr.ht/~ged/chione
112
+ [sourcehut]: https://sr.ht/~ged/chione
112
113
 
@@ -1,5 +1,4 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
3
2
 
4
3
  require 'pluggability'
5
4
  require 'loggability'
data/lib/chione/aspect.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
3
2
 
4
3
  require 'set'
5
4
  require 'loggability'
@@ -1,5 +1,4 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
3
2
 
4
3
  # Replaced by chione/archetype
5
4
  require 'chione/archetype'
@@ -1,5 +1,4 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
3
2
 
4
3
  require 'rspec'
5
4
  require 'chione'
@@ -7,7 +6,7 @@ require 'chione'
7
6
 
8
7
  RSpec.shared_examples "a Chione Component" do |args|
9
8
 
10
- if args.key?( :with_fields )
9
+ if args&.key?( :with_fields )
11
10
 
12
11
  args[:with_fields].each do |field|
13
12
 
@@ -1,5 +1,4 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
3
2
 
4
3
  require 'loggability'
5
4
  require 'pluggability'
@@ -28,6 +27,15 @@ class Chione::Component
28
27
  singleton_attr_accessor :fields
29
28
 
30
29
 
30
+ ### Inheritance callback -- add some default instance variable values to
31
+ ### subclasses.
32
+ def self::inherited( subclass )
33
+ super
34
+
35
+ subclass.fields ||= {}
36
+ end
37
+
38
+
31
39
  ### Declare a field for the component named +name+, with a default value of
32
40
  ### +default+. If the optional +process_block+ is provided, it will be called
33
41
  ### with the new value being assigned to the field before it is set, and the
data/lib/chione/entity.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
3
2
 
4
3
  require 'deprecatable'
5
4
  require 'loggability'
@@ -1,5 +1,4 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
3
2
 
4
3
  require 'faker'
5
4
 
@@ -1,5 +1,4 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
3
2
 
4
3
  require 'chione'
5
4
  require 'chione/system'
@@ -1,5 +1,4 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
3
2
 
4
3
  require 'pluggability'
5
4
  require 'loggability'
data/lib/chione/mixins.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
3
2
 
4
3
  require 'tempfile'
5
4
  require 'chione' unless defined?( Chione )
data/lib/chione/system.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
3
2
 
4
3
  require 'pluggability'
5
4
  require 'loggability'
data/lib/chione/world.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
3
2
 
4
3
  require 'set'
5
4
  require 'loggability'
data/lib/chione.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
3
2
 
4
3
  require 'uuid'
5
4
  require 'loggability'
@@ -12,7 +11,7 @@ module Chione
12
11
  extend Loggability
13
12
 
14
13
  # Gem version
15
- VERSION = '0.11.0'
14
+ VERSION = '0.12.0'
16
15
 
17
16
 
18
17
  # Loggability API -- set up a log host
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
3
2
 
4
3
  require 'pathname'
5
4
  require 'simplecov' if ENV['COVERAGE']
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,18 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chione
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Granger
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIENDCCApygAwIBAgIBATANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQDDBdnZWQv
14
- REM9RmFlcmllTVVEL0RDPW9yZzAeFw0xOTEwMDkwMDM2NTdaFw0yMDEwMDgwMDM2
15
- NTdaMCIxIDAeBgNVBAMMF2dlZC9EQz1GYWVyaWVNVUQvREM9b3JnMIIBojANBgkq
13
+ MIID+DCCAmCgAwIBAgIBBTANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQDDBdnZWQv
14
+ REM9RmFlcmllTVVEL0RDPW9yZzAeFw0yMzAxMTYxNzE2MDlaFw0yNDAxMTYxNzE2
15
+ MDlaMCIxIDAeBgNVBAMMF2dlZC9EQz1GYWVyaWVNVUQvREM9b3JnMIIBojANBgkq
16
16
  hkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAvyVhkRzvlEs0fe7145BYLfN6njX9ih5H
17
17
  L60U0p0euIurpv84op9CNKF9tx+1WKwyQvQP7qFGuZxkSUuWcP/sFhDXL1lWUuIl
18
18
  M4uHbGCRmOshDrF4dgnBeOvkHr1fIhPlJm5FO+Vew8tSQmlDsosxLUx+VB7DrVFO
@@ -21,20 +21,19 @@ cert_chain:
21
21
  vQ66lts4alKC69TE5cuKasWBm+16A4aEe3XdZBRNmtOu/g81gvwA7fkJHKllJuaI
22
22
  dXzdHqq+zbGZVSQ7pRYHYomD0IiDe1DbIouFnPWmagaBnGHwXkDT2bKKP+s2v21m
23
23
  ozilJg4aar2okb/RA6VS87o+d7g6LpDDMMQjH4G9OPnJENLdhu8KnPw/ivSVvQw7
24
- N2I4L/ZOIe2DIVuYH7aLHfjZDQv/mNgpAgMBAAGjdTBzMAkGA1UdEwQCMAAwCwYD
25
- VR0PBAQDAgSwMB0GA1UdDgQWBBRyjf55EbrHagiRLqt5YAd3yb8k4DAcBgNVHREE
26
- FTATgRFnZWRARmFlcmllTVVELm9yZzAcBgNVHRIEFTATgRFnZWRARmFlcmllTVVE
27
- Lm9yZzANBgkqhkiG9w0BAQsFAAOCAYEAFqsr6o0SvQRgjQVmhbQvExRnCMCoW1yb
28
- FJiN7A5RA2Iy2E61OG1Ul5nGmaDmx/PNB/6JIbIV3B9Uq8aTZx4uOjK7r8vMl1/t
29
- ZfY7r6HejJfXlcO2m6JDMbpdyEVv916LncBkzZRz6vnnNCx+31f15FKddxujpAFd
30
- qpn3JRQY+oj7ZkoccL/IUiDpxQWeS3oOoz9qr2kVTp8R50InZimt79FqCl/1m66W
31
- kdOuf+wM3DDx7Rt4IVNHrhGlyfMr7xjKW1Q3gll+pMN1DT6Ajx/t3JDSEg7BnnEW
32
- r7AciSO6J4ApUdqyG+coLFlGdtgFTgRHv7ihbQtDI7Z/LV7A4Spn1j2PK3j0Omri
33
- kSl1hPVigRytfgdVGiLXzvkkrkgj9EknCaj5UHbac7XvVBrljXj9hsnnqTANaKsg
34
- jBZSA+N+xUTgUWpXjjwsLZjzJkhWATJWq+krNXcqpwXo6HsjmdUxoFMt63RBb+sI
35
- XrxOxp8o0uOkU7FdLSGsyqJ2LzsR4obN
24
+ N2I4L/ZOIe2DIVuYH7aLHfjZDQv/mNgpAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYD
25
+ VR0PBAQDAgSwMB0GA1UdDgQWBBRyjf55EbrHagiRLqt5YAd3yb8k4DANBgkqhkiG
26
+ 9w0BAQsFAAOCAYEARYCeUVBWARNKqF0cvNnLJvFf4hdW2+Rtc7NfC5jQvX9a1oom
27
+ sfVvS96eER/9cbrphu+vc59EELw4zT+RY3/IesnoE7CaX6zIOFmSmG7K61OHsSLR
28
+ KqMygcWwyuPXT2JG7JsGHuxbzgaRWe29HbSjBbLYxiMH8Zxh4tKutxzKF7jb0Ggq
29
+ KAf9MH5LwG8IHVIfV5drT14PvgR3tcvmrn1timPyJl+eZ3LNnm9ofOCweuZCq1cy
30
+ 4Q8LV3vP2Cofy9q+az3DHdaUGlmMiZZZqKixDr1KSS9nvh0ZrKMOUL1sWj/IaxrQ
31
+ RV3y6td14q49t+xnbj00hPlbW7uE2nLJLt2NAoXiE1Nonndz1seB2c6HL79W9fps
32
+ E/O12pQjCp/aPUZMt8/8tKW31RIy/KP8XO6OTJNWA8A/oNEI0g5p/LmmEtJKWYr1
33
+ WmEdESlpWhzFECctefIF2lsN9vaOuof57RM77t2otrtcscDtNarIqjZsIyqtDvtL
34
+ DttITiit0Vwz7bY0
36
35
  -----END CERTIFICATE-----
37
- date: 2020-03-04 00:00:00.000000000 Z
36
+ date: 2023-05-10 00:00:00.000000000 Z
38
37
  dependencies:
39
38
  - !ruby/object:Gem::Dependency
40
39
  name: loggability
@@ -112,42 +111,42 @@ dependencies:
112
111
  requirements:
113
112
  - - "~>"
114
113
  - !ruby/object:Gem::Version
115
- version: '0.8'
114
+ version: '0.11'
116
115
  type: :runtime
117
116
  prerelease: false
118
117
  version_requirements: !ruby/object:Gem::Requirement
119
118
  requirements:
120
119
  - - "~>"
121
120
  - !ruby/object:Gem::Version
122
- version: '0.8'
121
+ version: '0.11'
123
122
  - !ruby/object:Gem::Dependency
124
123
  name: faker
125
124
  requirement: !ruby/object:Gem::Requirement
126
125
  requirements:
127
126
  - - "~>"
128
127
  - !ruby/object:Gem::Version
129
- version: '1.8'
128
+ version: '3.2'
130
129
  type: :runtime
131
130
  prerelease: false
132
131
  version_requirements: !ruby/object:Gem::Requirement
133
132
  requirements:
134
133
  - - "~>"
135
134
  - !ruby/object:Gem::Version
136
- version: '1.8'
135
+ version: '3.2'
137
136
  - !ruby/object:Gem::Dependency
138
137
  name: rake-deveiate
139
138
  requirement: !ruby/object:Gem::Requirement
140
139
  requirements:
141
140
  - - "~>"
142
141
  - !ruby/object:Gem::Version
143
- version: '0.11'
142
+ version: '0.22'
144
143
  type: :development
145
144
  prerelease: false
146
145
  version_requirements: !ruby/object:Gem::Requirement
147
146
  requirements:
148
147
  - - "~>"
149
148
  - !ruby/object:Gem::Version
150
- version: '0.11'
149
+ version: '0.22'
151
150
  - !ruby/object:Gem::Dependency
152
151
  name: simplecov
153
152
  requirement: !ruby/object:Gem::Requirement
@@ -163,19 +162,19 @@ dependencies:
163
162
  - !ruby/object:Gem::Version
164
163
  version: '0.12'
165
164
  - !ruby/object:Gem::Dependency
166
- name: rdoc-generator-fivefish
165
+ name: rdoc-generator-sixfish
167
166
  requirement: !ruby/object:Gem::Requirement
168
167
  requirements:
169
168
  - - "~>"
170
169
  - !ruby/object:Gem::Version
171
- version: '0.4'
170
+ version: '0.3'
172
171
  type: :development
173
172
  prerelease: false
174
173
  version_requirements: !ruby/object:Gem::Requirement
175
174
  requirements:
176
175
  - - "~>"
177
176
  - !ruby/object:Gem::Version
178
- version: '0.4'
177
+ version: '0.3'
179
178
  description: An Entity/Component System framework inspired by Artemis.
180
179
  email:
181
180
  - ged@faeriemud.org
@@ -223,7 +222,7 @@ metadata:
223
222
  documentation_uri: https://faelidth.org/chione/docs
224
223
  source_uri: https://hg.sr.ht/~ged/chione
225
224
  bug_tracker_uri: https://todo.sr.ht/~ged/chione
226
- post_install_message:
225
+ post_install_message:
227
226
  rdoc_options: []
228
227
  require_paths:
229
228
  - lib
@@ -238,8 +237,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
238
237
  - !ruby/object:Gem::Version
239
238
  version: '0'
240
239
  requirements: []
241
- rubygems_version: 3.1.2
242
- signing_key:
240
+ rubygems_version: 3.4.12
241
+ signing_key:
243
242
  specification_version: 4
244
243
  summary: An Entity/Component System framework inspired by Artemis.
245
244
  test_files: []
metadata.gz.sig CHANGED
Binary file