chione 0.11.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
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