unitsdb 0.1.1 → 2.1.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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/dependent-repos.json +5 -0
  3. data/.github/workflows/depenedent-gems.yml +16 -0
  4. data/.gitmodules +3 -0
  5. data/.rspec +2 -1
  6. data/.rubocop_todo.yml +88 -12
  7. data/Gemfile +2 -2
  8. data/README.adoc +697 -1
  9. data/exe/unitsdb +7 -0
  10. data/lib/unitsdb/cli.rb +81 -0
  11. data/lib/unitsdb/commands/_modify.rb +22 -0
  12. data/lib/unitsdb/commands/base.rb +52 -0
  13. data/lib/unitsdb/commands/check_si.rb +124 -0
  14. data/lib/unitsdb/commands/get.rb +133 -0
  15. data/lib/unitsdb/commands/normalize.rb +81 -0
  16. data/lib/unitsdb/commands/release.rb +112 -0
  17. data/lib/unitsdb/commands/search.rb +219 -0
  18. data/lib/unitsdb/commands/si_formatter.rb +485 -0
  19. data/lib/unitsdb/commands/si_matcher.rb +470 -0
  20. data/lib/unitsdb/commands/si_ttl_parser.rb +100 -0
  21. data/lib/unitsdb/commands/si_updater.rb +212 -0
  22. data/lib/unitsdb/commands/validate/identifiers.rb +40 -0
  23. data/lib/unitsdb/commands/validate/references.rb +316 -0
  24. data/lib/unitsdb/commands/validate/si_references.rb +115 -0
  25. data/lib/unitsdb/commands/validate.rb +40 -0
  26. data/lib/unitsdb/config.rb +19 -0
  27. data/lib/unitsdb/database.rb +661 -0
  28. data/lib/unitsdb/dimension.rb +19 -25
  29. data/lib/unitsdb/dimension_details.rb +20 -0
  30. data/lib/unitsdb/dimension_reference.rb +8 -0
  31. data/lib/unitsdb/dimensions.rb +3 -6
  32. data/lib/unitsdb/errors.rb +13 -0
  33. data/lib/unitsdb/external_reference.rb +14 -0
  34. data/lib/unitsdb/identifier.rb +8 -0
  35. data/lib/unitsdb/localized_string.rb +17 -0
  36. data/lib/unitsdb/prefix.rb +11 -12
  37. data/lib/unitsdb/prefix_reference.rb +10 -0
  38. data/lib/unitsdb/prefixes.rb +3 -6
  39. data/lib/unitsdb/quantities.rb +3 -27
  40. data/lib/unitsdb/quantity.rb +12 -24
  41. data/lib/unitsdb/quantity_reference.rb +4 -7
  42. data/lib/unitsdb/root_unit_reference.rb +14 -0
  43. data/lib/unitsdb/scale.rb +17 -0
  44. data/lib/unitsdb/scale_properties.rb +12 -0
  45. data/lib/unitsdb/scale_reference.rb +10 -0
  46. data/lib/unitsdb/scales.rb +11 -0
  47. data/lib/unitsdb/si_derived_base.rb +13 -14
  48. data/lib/unitsdb/symbol_presentations.rb +14 -0
  49. data/lib/unitsdb/unit.rb +20 -26
  50. data/lib/unitsdb/unit_reference.rb +5 -8
  51. data/lib/unitsdb/unit_system.rb +8 -10
  52. data/lib/unitsdb/unit_system_reference.rb +10 -0
  53. data/lib/unitsdb/unit_systems.rb +3 -16
  54. data/lib/unitsdb/units.rb +3 -6
  55. data/lib/unitsdb/utils.rb +84 -0
  56. data/lib/unitsdb/version.rb +1 -1
  57. data/lib/unitsdb.rb +13 -10
  58. data/unitsdb.gemspec +6 -1
  59. metadata +112 -12
  60. data/lib/unitsdb/dimension_quantity.rb +0 -28
  61. data/lib/unitsdb/dimension_symbol.rb +0 -22
  62. data/lib/unitsdb/prefix_symbol.rb +0 -12
  63. data/lib/unitsdb/root_unit.rb +0 -17
  64. data/lib/unitsdb/root_units.rb +0 -20
  65. data/lib/unitsdb/symbol.rb +0 -17
  66. data/lib/unitsdb/unit_symbol.rb +0 -15
  67. data/lib/unitsdb/unitsdb.rb +0 -6
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "thor"
4
+
5
+ module Unitsdb
6
+ module Commands
7
+ class ValidateCommand < Thor
8
+ desc "references", "Validate that all references exist"
9
+ option :debug_registry, type: :boolean, desc: "Show registry contents for debugging"
10
+ option :database, type: :string, required: true, aliases: "-d",
11
+ desc: "Path to UnitsDB database (required)"
12
+ option :print_valid, type: :boolean, default: false, desc: "Print valid references too"
13
+ def references
14
+ require_relative "validate/references"
15
+
16
+ Commands::References.new(options).run
17
+ end
18
+
19
+ desc "identifiers", "Check for uniqueness of identifier fields"
20
+ option :database, type: :string, required: true, aliases: "-d",
21
+ desc: "Path to UnitsDB database (required)"
22
+
23
+ def identifiers
24
+ require_relative "validate/identifiers"
25
+
26
+ Commands::Identifiers.new(options).run
27
+ end
28
+
29
+ desc "si_references", "Validate that each SI digital framework reference is unique per entity type"
30
+ option :database, type: :string, required: true, aliases: "-d",
31
+ desc: "Path to UnitsDB database (required)"
32
+
33
+ def si_references
34
+ require_relative "validate/si_references"
35
+
36
+ Validate::SiReferences.new(options).run
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Unitsdb
4
+ class Config
5
+ class << self
6
+ def models
7
+ @models ||= {}
8
+ end
9
+
10
+ def models=(user_models)
11
+ models.merge!(user_models)
12
+ end
13
+
14
+ def model_for(model_name)
15
+ models[model_name]
16
+ end
17
+ end
18
+ end
19
+ end