graphiti 2.0.2 → 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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/docs.yml +7 -0
  3. data/CHANGELOG.md +13 -0
  4. data/bin/cut-docs-version +24 -0
  5. data/lib/generators/graphiti/generator_mixin.rb +1 -1
  6. data/lib/generators/graphiti/templates/application_resource.rb.erb +5 -5
  7. data/lib/graphiti/adapters/abstract.rb +8 -0
  8. data/lib/graphiti/adapters/active_record.rb +8 -0
  9. data/lib/graphiti/adapters/persistence/associations.rb +6 -1
  10. data/lib/graphiti/audit/report.rb +3 -1
  11. data/lib/graphiti/audit.rb +14 -1
  12. data/lib/graphiti/errors.rb +36 -0
  13. data/lib/graphiti/query.rb +7 -0
  14. data/lib/graphiti/request_validators/validator.rb +10 -1
  15. data/lib/graphiti/resource/configuration.rb +124 -4
  16. data/lib/graphiti/resource/dsl.rb +47 -0
  17. data/lib/graphiti/resource/interface.rb +39 -0
  18. data/lib/graphiti/resource/persistence.rb +29 -0
  19. data/lib/graphiti/resource/sideloading.rb +2 -0
  20. data/lib/graphiti/resource.rb +4 -0
  21. data/lib/graphiti/resource_proxy.rb +6 -3
  22. data/lib/graphiti/runner.rb +3 -1
  23. data/lib/graphiti/schema.rb +4 -0
  24. data/lib/graphiti/schema_diff.rb +5 -0
  25. data/lib/graphiti/scope.rb +8 -0
  26. data/lib/graphiti/scoping/default_filter.rb +2 -0
  27. data/lib/graphiti/scoping/filter.rb +79 -20
  28. data/lib/graphiti/scoping/sort.rb +1 -1
  29. data/lib/graphiti/sideload/belongs_to.rb +52 -8
  30. data/lib/graphiti/sideload/has_many.rb +33 -2
  31. data/lib/graphiti/sideload/many_to_many.rb +3 -3
  32. data/lib/graphiti/sideload.rb +25 -1
  33. data/lib/graphiti/stats/payload.rb +20 -3
  34. data/lib/graphiti/util/internal_param.rb +16 -0
  35. data/lib/graphiti/util/link.rb +10 -3
  36. data/lib/graphiti/util/persistence.rb +1 -1
  37. data/lib/graphiti/util/public_id_block.rb +15 -0
  38. data/lib/graphiti/util/public_id_map.rb +34 -0
  39. data/lib/graphiti/util/public_id_sources.rb +27 -0
  40. data/lib/graphiti/util/serializer_relationships.rb +5 -3
  41. data/lib/graphiti/version.rb +1 -1
  42. data/lib/graphiti.rb +16 -0
  43. metadata +6 -1
@@ -1,3 +1,3 @@
1
1
  module Graphiti
2
- VERSION = "2.0.2"
2
+ VERSION = "2.1.0"
3
3
  end
data/lib/graphiti.rb CHANGED
@@ -92,6 +92,18 @@ module Graphiti
92
92
  @resources ||= []
93
93
  end
94
94
 
95
+ def self.public_id_sources
96
+ @public_id_sources ||= Util::PublicIdSources.new
97
+ end
98
+
99
+ def self.public_ids_declared?
100
+ !!@public_ids_declared
101
+ end
102
+
103
+ def self.public_ids_declared=(value)
104
+ @public_ids_declared = value
105
+ end
106
+
95
107
  # Every guarded relationship, e.g. ["EmployeeResource.positions"]
96
108
  def self.guarded_relationships
97
109
  ::Rails.application.eager_load! if defined?(::Rails) && ::Rails.respond_to?(:application) && ::Rails.application
@@ -226,6 +238,10 @@ require "graphiti/util/sideload"
226
238
  require "graphiti/util/simple_errors"
227
239
  require "graphiti/util/transaction_hooks_recorder"
228
240
  require "graphiti/util/attribute_check"
241
+ require "graphiti/util/internal_param"
242
+ require "graphiti/util/public_id_block"
243
+ require "graphiti/util/public_id_map"
244
+ require "graphiti/util/public_id_sources"
229
245
  require "graphiti/util/serializer_attributes"
230
246
  require "graphiti/util/serializer_relationships"
231
247
  require "graphiti/util/class"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphiti
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lee Richmond
@@ -275,6 +275,7 @@ files:
275
275
  - UPGRADING.md
276
276
  - bin/appraisal
277
277
  - bin/console
278
+ - bin/cut-docs-version
278
279
  - bin/rspec
279
280
  - bin/setup
280
281
  - exe/graphiti
@@ -397,8 +398,12 @@ files:
397
398
  - lib/graphiti/util/field_params.rb
398
399
  - lib/graphiti/util/hash.rb
399
400
  - lib/graphiti/util/include_params.rb
401
+ - lib/graphiti/util/internal_param.rb
400
402
  - lib/graphiti/util/link.rb
401
403
  - lib/graphiti/util/persistence.rb
404
+ - lib/graphiti/util/public_id_block.rb
405
+ - lib/graphiti/util/public_id_map.rb
406
+ - lib/graphiti/util/public_id_sources.rb
402
407
  - lib/graphiti/util/relationship_payload.rb
403
408
  - lib/graphiti/util/remote_params.rb
404
409
  - lib/graphiti/util/remote_serializer.rb