edoxen 0.1.2 → 0.3.1
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 +4 -4
- data/CLAUDE.md +234 -0
- data/README.adoc +153 -498
- data/lib/edoxen/_metadata.rb.deprecated +57 -0
- data/lib/edoxen/action.rb +4 -25
- data/lib/edoxen/approval.rb +5 -16
- data/lib/edoxen/cli.rb +137 -129
- data/lib/edoxen/consideration.rb +4 -18
- data/lib/edoxen/enums.rb +43 -0
- data/lib/edoxen/error.rb +37 -0
- data/lib/edoxen/localization.rb +18 -0
- data/lib/edoxen/meeting_identifier.rb +2 -11
- data/lib/edoxen/resolution.rb +32 -36
- data/lib/edoxen/resolution_collection.rb +10 -0
- data/lib/edoxen/resolution_date.rb +5 -11
- data/lib/edoxen/resolution_metadata.rb +16 -0
- data/lib/edoxen/resolution_relation.rb +5 -45
- data/lib/edoxen/schema_validator.rb +158 -262
- data/lib/edoxen/source_url.rb +12 -0
- data/lib/edoxen/structured_identifier.rb +12 -0
- data/lib/edoxen/url.rb +2 -9
- data/lib/edoxen/version.rb +1 -1
- data/lib/edoxen.rb +37 -14
- data/schema/edoxen.yaml +300 -339
- metadata +11 -3
- data/lib/edoxen/metadata.rb +0 -27
data/lib/edoxen.rb
CHANGED
|
@@ -1,23 +1,46 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "lutaml/model"
|
|
4
|
-
require_relative "edoxen/version"
|
|
5
4
|
|
|
6
|
-
# Configure lutaml-model
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
# Configure the lutaml-model serialization framework used throughout the
|
|
6
|
+
# Edoxen information-model gem.
|
|
7
|
+
Lutaml::Model::Config.configure do |c|
|
|
8
|
+
c.yaml_adapter_type = :standard_yaml
|
|
9
|
+
c.json_adapter_type = :standard_json
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
module Edoxen
|
|
13
|
-
|
|
13
|
+
# Autoload every constant defined under the Edoxen namespace from its
|
|
14
|
+
# native `lib/edoxen/<name>.rb` file. This is the only place where file
|
|
15
|
+
# paths are tied to constants; everywhere else, models reference each
|
|
16
|
+
# other by class name (resolved lazily by Ruby).
|
|
17
|
+
#
|
|
18
|
+
# There are intentionally NO `require_relative` calls in this gem —
|
|
19
|
+
# autoload keeps load-order semantics clean and lets us tolerate the
|
|
20
|
+
# extensive cross-references between model classes
|
|
21
|
+
# (Resolution <-> Localization, ResolutionMetadata <-> Localization, etc.).
|
|
22
|
+
autoload :VERSION, "edoxen/version"
|
|
23
|
+
autoload :Error, "edoxen/error"
|
|
24
|
+
autoload :ValidationError, "edoxen/error"
|
|
25
|
+
autoload :Enums, "edoxen/enums"
|
|
14
26
|
|
|
15
|
-
#
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
27
|
+
# Information-model classes (one per file, one concept per class).
|
|
28
|
+
# Names mirror ../edoxen-model/models/*.lutaml.
|
|
29
|
+
autoload :StructuredIdentifier, "edoxen/structured_identifier"
|
|
30
|
+
autoload :MeetingIdentifier, "edoxen/meeting_identifier"
|
|
31
|
+
autoload :ResolutionDate, "edoxen/resolution_date"
|
|
32
|
+
autoload :Action, "edoxen/action"
|
|
33
|
+
autoload :Approval, "edoxen/approval"
|
|
34
|
+
autoload :Consideration, "edoxen/consideration"
|
|
35
|
+
autoload :SourceUrl, "edoxen/source_url"
|
|
36
|
+
autoload :Localization, "edoxen/localization"
|
|
37
|
+
autoload :Url, "edoxen/url"
|
|
38
|
+
autoload :ResolutionRelation, "edoxen/resolution_relation"
|
|
39
|
+
autoload :Resolution, "edoxen/resolution"
|
|
40
|
+
autoload :ResolutionMetadata, "edoxen/resolution_metadata"
|
|
41
|
+
autoload :ResolutionCollection, "edoxen/resolution_collection"
|
|
42
|
+
|
|
43
|
+
# Services.
|
|
44
|
+
autoload :SchemaValidator, "edoxen/schema_validator"
|
|
45
|
+
autoload :Cli, "edoxen/cli"
|
|
23
46
|
end
|