pack_api 1.0.0 → 1.0.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.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -28
  3. data/README.md +20 -7
  4. data/lib/pack_api/version.rb +1 -1
  5. data/lib/pack_api.rb +46 -49
  6. metadata +50 -54
  7. data/lib/pack_api/config/dry_types_initializer.rb +0 -1
  8. /data/lib/pack_api/{models/internal_error.rb → internal_error.rb} +0 -0
  9. /data/lib/pack_api/{models/mapping → mapping}/abstract_transformer.rb +0 -0
  10. /data/lib/pack_api/{models/mapping → mapping}/api_to_model_attributes_transformer.rb +0 -0
  11. /data/lib/pack_api/{models/mapping → mapping}/attribute_hash_transformer.rb +0 -0
  12. /data/lib/pack_api/{models/mapping → mapping}/attribute_map.rb +0 -0
  13. /data/lib/pack_api/{models/mapping → mapping}/attribute_map_registry.rb +0 -0
  14. /data/lib/pack_api/{models/mapping → mapping}/error_hash_to_api_attributes_transformer.rb +0 -0
  15. /data/lib/pack_api/{models/mapping → mapping}/filter_map.rb +0 -0
  16. /data/lib/pack_api/{models/mapping → mapping}/model_to_api_attributes_transformer.rb +0 -0
  17. /data/lib/pack_api/{models/mapping → mapping}/normalized_api_attribute.rb +0 -0
  18. /data/lib/pack_api/{models/mapping → mapping}/null_transformer.rb +0 -0
  19. /data/lib/pack_api/{models/mapping → mapping}/value_object_factory.rb +0 -0
  20. /data/lib/pack_api/{models/pagination → pagination}/opaque_token_v2.rb +0 -0
  21. /data/lib/pack_api/{models/pagination → pagination}/paginator.rb +0 -0
  22. /data/lib/pack_api/{models/pagination → pagination}/paginator_builder.rb +0 -0
  23. /data/lib/pack_api/{models/pagination → pagination}/paginator_cursor.rb +0 -0
  24. /data/lib/pack_api/{models/pagination → pagination}/snapshot_paginator.rb +0 -0
  25. /data/lib/pack_api/{models/querying → querying}/abstract_boolean_filter.rb +0 -0
  26. /data/lib/pack_api/{models/querying → querying}/abstract_enum_filter.rb +0 -0
  27. /data/lib/pack_api/{models/querying → querying}/abstract_filter.rb +0 -0
  28. /data/lib/pack_api/{models/querying → querying}/abstract_numeric_filter.rb +0 -0
  29. /data/lib/pack_api/{models/querying → querying}/abstract_range_filter.rb +0 -0
  30. /data/lib/pack_api/{models/querying → querying}/attribute_filter.rb +0 -0
  31. /data/lib/pack_api/{models/querying → querying}/attribute_filter_factory.rb +0 -0
  32. /data/lib/pack_api/{models/querying → querying}/collection_query.rb +0 -0
  33. /data/lib/pack_api/{models/querying → querying}/composable_query.rb +0 -0
  34. /data/lib/pack_api/{models/querying → querying}/default_filter.rb +0 -0
  35. /data/lib/pack_api/{models/querying → querying}/discoverable_filter.rb +0 -0
  36. /data/lib/pack_api/{models/querying → querying}/dynamic_enum_filter.rb +0 -0
  37. /data/lib/pack_api/{models/querying → querying}/filter_factory.rb +0 -0
  38. /data/lib/pack_api/{models/querying → querying}/sort_hash.rb +0 -0
  39. /data/lib/pack_api/{models/types → types}/aggregate_type.rb +0 -0
  40. /data/lib/pack_api/{models/types → types}/base_type.rb +0 -0
  41. /data/lib/pack_api/{models/types → types}/boolean_filter_definition.rb +0 -0
  42. /data/lib/pack_api/{models/types → types}/collection_result_metadata.rb +0 -0
  43. /data/lib/pack_api/{models/types → types}/custom_filter_definition.rb +0 -0
  44. /data/lib/pack_api/{models/types → types}/enum_filter_definition.rb +0 -0
  45. /data/lib/pack_api/{models/types → types}/filter_option.rb +0 -0
  46. /data/lib/pack_api/{models/types → types}/globally_identifiable.rb +0 -0
  47. /data/lib/pack_api/{models/types → types}/numeric_filter_definition.rb +0 -0
  48. /data/lib/pack_api/{models/types → types}/range_filter_definition.rb +0 -0
  49. /data/lib/pack_api/{models/types → types}/result.rb +0 -0
  50. /data/lib/pack_api/{models/types → types}/simple_filter_definition.rb +0 -0
  51. /data/lib/pack_api/{models/values_in_background_batches.rb → values_in_background_batches.rb} +0 -0
  52. /data/lib/pack_api/{models/values_in_batches.rb → values_in_batches.rb} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 97d36561d79762a67e842fc092ff22d1d66de8c230e1abcb6adff3bedc86edf7
4
- data.tar.gz: e4145510ed3cb11d94340c8b48d21dd454037dd8906ac00004f5bbbdc0b43d55
3
+ metadata.gz: f48730065ece9a8f8e18749b49d15d4f312c997148e86447f09ba8779bd5958d
4
+ data.tar.gz: 5670802d6da87396caf59e961240dd2bb2d4dcc5b7bf5dafcc4ba83a196add72
5
5
  SHA512:
6
- metadata.gz: e0f38e85af2248f3898ebbf99fa534133fbc5c2e10c6e8958aa7919b75174150a1ad005f4a31ed267c1674d56f02c1ad0e58c484db523f83e486c695a38e0207
7
- data.tar.gz: 1c5ab5ad08af202d504550d3266c539a65836f210e434caa9330dee911b2285f6fabb2b9d4507ff3bbcab33976f67f5b8ecd226c3f31f115222acac64aba0435
6
+ metadata.gz: 2aaf0603ed13870e685757e6f17d8e3e98db880bb2bf0c31785940b0333eb1720cd84c5e15eb54854e6dce2dceb3d5d8780b91ef0c361fa14a498701928ee72f
7
+ data.tar.gz: af308e82aee39b175b46e19c2ecaafab1a7eb12bb87cd072d2fd33bce808863c003f2b9796cf82329ebd3301cfb20ffd7b4f83145be72f6546a4d707d678037e
data/CHANGELOG.md CHANGED
@@ -5,35 +5,15 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [Unreleased]
8
+ ## [1.0.1] - 2025-11-11
9
9
 
10
- ## [0.1.0] - 2025-11-10
10
+ ### Fixed
11
+
12
+ - Improved README to clarify motivations, features, and usage examples
13
+ - Using Zeitwerk to autoload Gem modules
14
+
15
+ ## [1.0.0] - 2025-11-11
11
16
 
12
17
  ### Added
13
18
 
14
- - Initial release of PackAPI gem
15
- - Mapping module for transforming data between domain models and API representations
16
- - AttributeMap for defining bidirectional mappings
17
- - AttributeMapRegistry for centralized mapping management
18
- - ModelToAPIAttributesTransformer and APIToModelAttributesTransformer
19
- - ValueObjectFactory for creating value objects
20
- - Querying module for building flexible query interfaces
21
- - ComposableQuery and CollectionQuery
22
- - Filter implementations (boolean, enum, numeric, range)
23
- - FilterFactory for dynamic filter creation
24
- - SortHash for handling sorting parameters
25
- - Pagination module with multiple strategies
26
- - Paginator for standard pagination
27
- - SnapshotPaginator for consistent results
28
- - PaginatorBuilder for custom configurations
29
- - OpaqueTokenV2 for secure cursor tokens
30
- - Types module with dry-types integration
31
- - BaseType and AggregateType
32
- - Result and CollectionResultMetadata
33
- - Filter definition types
34
- - Batch operation utilities
35
- - ValuesInBatches for synchronous batch processing
36
- - ValuesInBackgroundBatches for asynchronous batch processing
37
-
38
- [Unreleased]: https://github.com/flytedesk/pack_api/compare/v0.1.0...HEAD
39
- [0.1.0]: https://github.com/flytedesk/pack_api/releases/tag/v0.1.0
19
+ - Initial release of PackAPI gem
data/README.md CHANGED
@@ -12,6 +12,18 @@ PackAPI provides a comprehensive set of tools for building robust API layers on
12
12
  - **Query building** - Elements for building query endpoints based on user inputs (sort, filter, pagination)
13
13
  - **Batch operations** - Elements for retrieving multiple pages of data from other query endpoints
14
14
 
15
+ ## Motivation
16
+
17
+ Separation of concerns and information hiding within the module.
18
+
19
+ In order to separate the public interface from the (private) implementation of our subsystems (modules), we needed to
20
+ create an API that did not depend on our ActiveRecord models. We chose to implement this separation using value objects
21
+ (built using dry-types, but could have been built using Ruby Data type). Beyond the API methods, the public interface
22
+ definition is then captured in the explicit attribute list of these value objects.
23
+
24
+ However, building the mapping between the domain models and the API value objects can be tedious and error-prone. We
25
+ created this gem to provide reusable building blocks to make this mapping easier to define and maintain.
26
+
15
27
  ## Installation
16
28
 
17
29
  Add this line to your application's Gemfile:
@@ -55,11 +67,11 @@ The mapping module provides tools for transforming data between domain models an
55
67
  Build flexible query interfaces with support for filtering, sorting, and pagination:
56
68
 
57
69
  - `ComposableQuery` - Build complex queries from simpler components
58
- - `CollectionQuery` - Query collections with filtering and sorting
70
+ - `CollectionQuery` - Query ActiveRecord collections based on arguments for pagination, filtering and sorting
59
71
  - `AbstractFilter` - Base class for custom filters
60
- - Filter implementations for boolean, enum, numeric, and range filters
61
72
  - `FilterFactory` - Create filters dynamically based on query method arguments
62
73
  - `SortHash` - Handle sorting parameters
74
+ - Base class filter implementations for boolean, enum, numeric, and range filters
63
75
 
64
76
  ### Pagination
65
77
 
@@ -67,16 +79,15 @@ Enable paginated access to resources across the API:
67
79
 
68
80
  - `Paginator` - Standard pagination implementation
69
81
  - `PaginatorBuilder` - Build paginators with custom configurations
70
- - `SnapshotPaginator` - Enable record iteration (one by one) across results in a page,
71
- even when the underlying records change state (and may no longer be at the same position in the result set)
82
+ - `SnapshotPaginator` - Enable record iteration (one by one) across results in a page, even when the underlying records change state (and may no longer be at the same position in the result set)
72
83
 
73
84
  ### Types
74
85
 
75
86
  Type definitions and validation using dry-types:
76
87
 
77
- - `BaseType` - Base type for API models
88
+ - `BaseType` - Base type for value objects
78
89
  - `CollectionResultMetadata` - Metadata for paginated collections
79
- - `Result` - Generic result type
90
+ - `Result` - Generic result type to be returned from your API methods
80
91
  - `AggregateType` - Composite types made of attributes from other types
81
92
  - Filter definition types for various data types
82
93
 
@@ -174,7 +185,9 @@ end
174
185
 
175
186
  ```
176
187
 
177
- 3. Implement a query endpoint using the attribute map:
188
+ 3. Implement filters.
189
+
190
+ 4. Implement a query endpoint using the attribute map:
178
191
 
179
192
  ```ruby
180
193
  def query_blog_posts(cursor = nil, search = nil, sort = nil, page_size = 50, filters = {}, optional_attributes = [])
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PackAPI
4
- VERSION = "1.0.0"
4
+ VERSION = "1.0.1"
5
5
  end
data/lib/pack_api.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
-
3
2
  require "active_model"
4
3
  require "active_record"
5
4
  require "dry-types"
@@ -8,65 +7,63 @@ require "brotli"
8
7
 
9
8
  require_relative "types"
10
9
  require_relative "pack_api/version"
11
- require_relative "pack_api/config/dry_types_initializer"
12
10
 
13
- # Load in dependency order
14
11
  module PackAPI
15
- autoload :InternalError, "pack_api/models/internal_error"
16
- autoload :ValuesInBatches, "pack_api/models/values_in_batches"
17
- autoload :ValuesInBackgroundBatches, "pack_api/models/values_in_background_batches"
12
+ autoload :InternalError, "pack_api/internal_error"
13
+ autoload :ValuesInBatches, "pack_api/values_in_batches"
14
+ autoload :ValuesInBackgroundBatches, "pack_api/values_in_background_batches"
18
15
 
19
16
  module Mapping
20
- autoload :AbstractTransformer, "pack_api/models/mapping/abstract_transformer"
21
- autoload :AttributeHashTransformer, "pack_api/models/mapping/attribute_hash_transformer"
22
- autoload :NullTransformer, "pack_api/models/mapping/null_transformer"
23
- autoload :APIToModelAttributesTransformer, "pack_api/models/mapping/api_to_model_attributes_transformer"
24
- autoload :ModelToAPIAttributesTransformer, "pack_api/models/mapping/model_to_api_attributes_transformer"
25
- autoload :ErrorHashToAPIAttributesTransformer, "pack_api/models/mapping/error_hash_to_api_attributes_transformer"
26
- autoload :NormalizedAPIAttribute, "pack_api/models/mapping/normalized_api_attribute"
27
- autoload :AttributeMap, "pack_api/models/mapping/attribute_map"
28
- autoload :AttributeMapRegistry, "pack_api/models/mapping/attribute_map_registry"
29
- autoload :FilterMap, "pack_api/models/mapping/filter_map"
30
- autoload :ValueObjectFactory, "pack_api/models/mapping/value_object_factory"
17
+ autoload :AbstractTransformer, "pack_api/mapping/abstract_transformer"
18
+ autoload :AttributeHashTransformer, "pack_api/mapping/attribute_hash_transformer"
19
+ autoload :NullTransformer, "pack_api/mapping/null_transformer"
20
+ autoload :APIToModelAttributesTransformer, "pack_api/mapping/api_to_model_attributes_transformer"
21
+ autoload :ModelToAPIAttributesTransformer, "pack_api/mapping/model_to_api_attributes_transformer"
22
+ autoload :ErrorHashToAPIAttributesTransformer, "pack_api/mapping/error_hash_to_api_attributes_transformer"
23
+ autoload :NormalizedAPIAttribute, "pack_api/mapping/normalized_api_attribute"
24
+ autoload :AttributeMap, "pack_api/mapping/attribute_map"
25
+ autoload :AttributeMapRegistry, "pack_api/mapping/attribute_map_registry"
26
+ autoload :FilterMap, "pack_api/mapping/filter_map"
27
+ autoload :ValueObjectFactory, "pack_api/mapping/value_object_factory"
31
28
  end
32
29
 
33
30
  module Pagination
34
- autoload :OpaqueTokenV2, "pack_api/models/pagination/opaque_token_v2"
35
- autoload :PaginatorCursor, "pack_api/models/pagination/paginator_cursor"
36
- autoload :Paginator, "pack_api/models/pagination/paginator"
37
- autoload :PaginatorBuilder, "pack_api/models/pagination/paginator_builder"
38
- autoload :SnapshotPaginator, "pack_api/models/pagination/snapshot_paginator"
31
+ autoload :OpaqueTokenV2, "pack_api/pagination/opaque_token_v2"
32
+ autoload :PaginatorCursor, "pack_api/pagination/paginator_cursor"
33
+ autoload :Paginator, "pack_api/pagination/paginator"
34
+ autoload :PaginatorBuilder, "pack_api/pagination/paginator_builder"
35
+ autoload :SnapshotPaginator, "pack_api/pagination/snapshot_paginator"
39
36
  end
40
37
 
41
38
  module Querying
42
- autoload :AbstractFilter, "pack_api/models/querying/abstract_filter"
43
- autoload :AbstractBooleanFilter, "pack_api/models/querying/abstract_boolean_filter"
44
- autoload :AbstractEnumFilter, "pack_api/models/querying/abstract_enum_filter"
45
- autoload :AbstractNumericFilter, "pack_api/models/querying/abstract_numeric_filter"
46
- autoload :AbstractRangeFilter, "pack_api/models/querying/abstract_range_filter"
47
- autoload :DefaultFilter, "pack_api/models/querying/default_filter"
48
- autoload :DiscoverableFilter, "pack_api/models/querying/discoverable_filter"
49
- autoload :DynamicEnumFilter, "pack_api/models/querying/dynamic_enum_filter"
50
- autoload :AttributeFilter, "pack_api/models/querying/attribute_filter"
51
- autoload :AttributeFilterFactory, "pack_api/models/querying/attribute_filter_factory"
52
- autoload :FilterFactory, "pack_api/models/querying/filter_factory"
53
- autoload :ComposableQuery, "pack_api/models/querying/composable_query"
54
- autoload :CollectionQuery, "pack_api/models/querying/collection_query"
55
- autoload :SortHash, "pack_api/models/querying/sort_hash"
39
+ autoload :AbstractFilter, "pack_api/querying/abstract_filter"
40
+ autoload :AbstractBooleanFilter, "pack_api/querying/abstract_boolean_filter"
41
+ autoload :AbstractEnumFilter, "pack_api/querying/abstract_enum_filter"
42
+ autoload :AbstractNumericFilter, "pack_api/querying/abstract_numeric_filter"
43
+ autoload :AbstractRangeFilter, "pack_api/querying/abstract_range_filter"
44
+ autoload :DefaultFilter, "pack_api/querying/default_filter"
45
+ autoload :DiscoverableFilter, "pack_api/querying/discoverable_filter"
46
+ autoload :DynamicEnumFilter, "pack_api/querying/dynamic_enum_filter"
47
+ autoload :AttributeFilter, "pack_api/querying/attribute_filter"
48
+ autoload :AttributeFilterFactory, "pack_api/querying/attribute_filter_factory"
49
+ autoload :FilterFactory, "pack_api/querying/filter_factory"
50
+ autoload :ComposableQuery, "pack_api/querying/composable_query"
51
+ autoload :CollectionQuery, "pack_api/querying/collection_query"
52
+ autoload :SortHash, "pack_api/querying/sort_hash"
56
53
  end
57
54
 
58
55
  module Types
59
- autoload :BaseType, "pack_api/models/types/base_type"
60
- autoload :AggregateType, "pack_api/models/types/aggregate_type"
61
- autoload :GloballyIdentifiable, "pack_api/models/types/globally_identifiable"
62
- autoload :Result, "pack_api/models/types/result"
63
- autoload :CollectionResultMetadata, "pack_api/models/types/collection_result_metadata"
64
- autoload :FilterOption, "pack_api/models/types/filter_option"
65
- autoload :SimpleFilterDefinition, "pack_api/models/types/simple_filter_definition"
66
- autoload :BooleanFilterDefinition, "pack_api/models/types/boolean_filter_definition"
67
- autoload :EnumFilterDefinition, "pack_api/models/types/enum_filter_definition"
68
- autoload :NumericFilterDefinition, "pack_api/models/types/numeric_filter_definition"
69
- autoload :RangeFilterDefinition, "pack_api/models/types/range_filter_definition"
70
- autoload :CustomFilterDefinition, "pack_api/models/types/custom_filter_definition"
56
+ autoload :BaseType, "pack_api/types/base_type"
57
+ autoload :AggregateType, "pack_api/types/aggregate_type"
58
+ autoload :GloballyIdentifiable, "pack_api/types/globally_identifiable"
59
+ autoload :Result, "pack_api/types/result"
60
+ autoload :CollectionResultMetadata, "pack_api/types/collection_result_metadata"
61
+ autoload :FilterOption, "pack_api/types/filter_option"
62
+ autoload :SimpleFilterDefinition, "pack_api/types/simple_filter_definition"
63
+ autoload :BooleanFilterDefinition, "pack_api/types/boolean_filter_definition"
64
+ autoload :EnumFilterDefinition, "pack_api/types/enum_filter_definition"
65
+ autoload :NumericFilterDefinition, "pack_api/types/numeric_filter_definition"
66
+ autoload :RangeFilterDefinition, "pack_api/types/range_filter_definition"
67
+ autoload :CustomFilterDefinition, "pack_api/types/custom_filter_definition"
71
68
  end
72
- end
69
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pack_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Flytedesk
@@ -185,13 +185,10 @@ dependencies:
185
185
  - - "<"
186
186
  - !ruby/object:Gem::Version
187
187
  version: '9.0'
188
- description: |
189
- Building blocks used to implement an API around a domain pack. Includes:
190
- - elements for passing data out of the API
191
- - elements for describing the filters supported by query endpoints in the API
192
- - elements for building the mapping between domain models and API models
193
- - elements for building the query endpoints themselves, based on user inputs (sort, filter, pagination)
194
- - elements for retrieving multiple pages of data from other query endpoints
188
+ description: "Building blocks used to implement an API around a domain pack. Includes
189
+ tools for data transformation, \ndiscoverable filters, building ActiveRecord queries
190
+ from API arguments, breaking query results across pages, and\nfetching data from
191
+ API endpoints.\n"
195
192
  email:
196
193
  - dev@flytedesk.com
197
194
  executables: []
@@ -202,52 +199,51 @@ files:
202
199
  - LICENSE.txt
203
200
  - README.md
204
201
  - lib/pack_api.rb
205
- - lib/pack_api/config/dry_types_initializer.rb
206
- - lib/pack_api/models/internal_error.rb
207
- - lib/pack_api/models/mapping/abstract_transformer.rb
208
- - lib/pack_api/models/mapping/api_to_model_attributes_transformer.rb
209
- - lib/pack_api/models/mapping/attribute_hash_transformer.rb
210
- - lib/pack_api/models/mapping/attribute_map.rb
211
- - lib/pack_api/models/mapping/attribute_map_registry.rb
212
- - lib/pack_api/models/mapping/error_hash_to_api_attributes_transformer.rb
213
- - lib/pack_api/models/mapping/filter_map.rb
214
- - lib/pack_api/models/mapping/model_to_api_attributes_transformer.rb
215
- - lib/pack_api/models/mapping/normalized_api_attribute.rb
216
- - lib/pack_api/models/mapping/null_transformer.rb
217
- - lib/pack_api/models/mapping/value_object_factory.rb
218
- - lib/pack_api/models/pagination/opaque_token_v2.rb
219
- - lib/pack_api/models/pagination/paginator.rb
220
- - lib/pack_api/models/pagination/paginator_builder.rb
221
- - lib/pack_api/models/pagination/paginator_cursor.rb
222
- - lib/pack_api/models/pagination/snapshot_paginator.rb
223
- - lib/pack_api/models/querying/abstract_boolean_filter.rb
224
- - lib/pack_api/models/querying/abstract_enum_filter.rb
225
- - lib/pack_api/models/querying/abstract_filter.rb
226
- - lib/pack_api/models/querying/abstract_numeric_filter.rb
227
- - lib/pack_api/models/querying/abstract_range_filter.rb
228
- - lib/pack_api/models/querying/attribute_filter.rb
229
- - lib/pack_api/models/querying/attribute_filter_factory.rb
230
- - lib/pack_api/models/querying/collection_query.rb
231
- - lib/pack_api/models/querying/composable_query.rb
232
- - lib/pack_api/models/querying/default_filter.rb
233
- - lib/pack_api/models/querying/discoverable_filter.rb
234
- - lib/pack_api/models/querying/dynamic_enum_filter.rb
235
- - lib/pack_api/models/querying/filter_factory.rb
236
- - lib/pack_api/models/querying/sort_hash.rb
237
- - lib/pack_api/models/types/aggregate_type.rb
238
- - lib/pack_api/models/types/base_type.rb
239
- - lib/pack_api/models/types/boolean_filter_definition.rb
240
- - lib/pack_api/models/types/collection_result_metadata.rb
241
- - lib/pack_api/models/types/custom_filter_definition.rb
242
- - lib/pack_api/models/types/enum_filter_definition.rb
243
- - lib/pack_api/models/types/filter_option.rb
244
- - lib/pack_api/models/types/globally_identifiable.rb
245
- - lib/pack_api/models/types/numeric_filter_definition.rb
246
- - lib/pack_api/models/types/range_filter_definition.rb
247
- - lib/pack_api/models/types/result.rb
248
- - lib/pack_api/models/types/simple_filter_definition.rb
249
- - lib/pack_api/models/values_in_background_batches.rb
250
- - lib/pack_api/models/values_in_batches.rb
202
+ - lib/pack_api/internal_error.rb
203
+ - lib/pack_api/mapping/abstract_transformer.rb
204
+ - lib/pack_api/mapping/api_to_model_attributes_transformer.rb
205
+ - lib/pack_api/mapping/attribute_hash_transformer.rb
206
+ - lib/pack_api/mapping/attribute_map.rb
207
+ - lib/pack_api/mapping/attribute_map_registry.rb
208
+ - lib/pack_api/mapping/error_hash_to_api_attributes_transformer.rb
209
+ - lib/pack_api/mapping/filter_map.rb
210
+ - lib/pack_api/mapping/model_to_api_attributes_transformer.rb
211
+ - lib/pack_api/mapping/normalized_api_attribute.rb
212
+ - lib/pack_api/mapping/null_transformer.rb
213
+ - lib/pack_api/mapping/value_object_factory.rb
214
+ - lib/pack_api/pagination/opaque_token_v2.rb
215
+ - lib/pack_api/pagination/paginator.rb
216
+ - lib/pack_api/pagination/paginator_builder.rb
217
+ - lib/pack_api/pagination/paginator_cursor.rb
218
+ - lib/pack_api/pagination/snapshot_paginator.rb
219
+ - lib/pack_api/querying/abstract_boolean_filter.rb
220
+ - lib/pack_api/querying/abstract_enum_filter.rb
221
+ - lib/pack_api/querying/abstract_filter.rb
222
+ - lib/pack_api/querying/abstract_numeric_filter.rb
223
+ - lib/pack_api/querying/abstract_range_filter.rb
224
+ - lib/pack_api/querying/attribute_filter.rb
225
+ - lib/pack_api/querying/attribute_filter_factory.rb
226
+ - lib/pack_api/querying/collection_query.rb
227
+ - lib/pack_api/querying/composable_query.rb
228
+ - lib/pack_api/querying/default_filter.rb
229
+ - lib/pack_api/querying/discoverable_filter.rb
230
+ - lib/pack_api/querying/dynamic_enum_filter.rb
231
+ - lib/pack_api/querying/filter_factory.rb
232
+ - lib/pack_api/querying/sort_hash.rb
233
+ - lib/pack_api/types/aggregate_type.rb
234
+ - lib/pack_api/types/base_type.rb
235
+ - lib/pack_api/types/boolean_filter_definition.rb
236
+ - lib/pack_api/types/collection_result_metadata.rb
237
+ - lib/pack_api/types/custom_filter_definition.rb
238
+ - lib/pack_api/types/enum_filter_definition.rb
239
+ - lib/pack_api/types/filter_option.rb
240
+ - lib/pack_api/types/globally_identifiable.rb
241
+ - lib/pack_api/types/numeric_filter_definition.rb
242
+ - lib/pack_api/types/range_filter_definition.rb
243
+ - lib/pack_api/types/result.rb
244
+ - lib/pack_api/types/simple_filter_definition.rb
245
+ - lib/pack_api/values_in_background_batches.rb
246
+ - lib/pack_api/values_in_batches.rb
251
247
  - lib/pack_api/version.rb
252
248
  - lib/types.rb
253
249
  homepage: https://github.com/flytedesk/pack_api
@@ -1 +0,0 @@
1
- require_relative '../../types'
File without changes
File without changes