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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -28
- data/README.md +20 -7
- data/lib/pack_api/version.rb +1 -1
- data/lib/pack_api.rb +46 -49
- metadata +50 -54
- data/lib/pack_api/config/dry_types_initializer.rb +0 -1
- /data/lib/pack_api/{models/internal_error.rb → internal_error.rb} +0 -0
- /data/lib/pack_api/{models/mapping → mapping}/abstract_transformer.rb +0 -0
- /data/lib/pack_api/{models/mapping → mapping}/api_to_model_attributes_transformer.rb +0 -0
- /data/lib/pack_api/{models/mapping → mapping}/attribute_hash_transformer.rb +0 -0
- /data/lib/pack_api/{models/mapping → mapping}/attribute_map.rb +0 -0
- /data/lib/pack_api/{models/mapping → mapping}/attribute_map_registry.rb +0 -0
- /data/lib/pack_api/{models/mapping → mapping}/error_hash_to_api_attributes_transformer.rb +0 -0
- /data/lib/pack_api/{models/mapping → mapping}/filter_map.rb +0 -0
- /data/lib/pack_api/{models/mapping → mapping}/model_to_api_attributes_transformer.rb +0 -0
- /data/lib/pack_api/{models/mapping → mapping}/normalized_api_attribute.rb +0 -0
- /data/lib/pack_api/{models/mapping → mapping}/null_transformer.rb +0 -0
- /data/lib/pack_api/{models/mapping → mapping}/value_object_factory.rb +0 -0
- /data/lib/pack_api/{models/pagination → pagination}/opaque_token_v2.rb +0 -0
- /data/lib/pack_api/{models/pagination → pagination}/paginator.rb +0 -0
- /data/lib/pack_api/{models/pagination → pagination}/paginator_builder.rb +0 -0
- /data/lib/pack_api/{models/pagination → pagination}/paginator_cursor.rb +0 -0
- /data/lib/pack_api/{models/pagination → pagination}/snapshot_paginator.rb +0 -0
- /data/lib/pack_api/{models/querying → querying}/abstract_boolean_filter.rb +0 -0
- /data/lib/pack_api/{models/querying → querying}/abstract_enum_filter.rb +0 -0
- /data/lib/pack_api/{models/querying → querying}/abstract_filter.rb +0 -0
- /data/lib/pack_api/{models/querying → querying}/abstract_numeric_filter.rb +0 -0
- /data/lib/pack_api/{models/querying → querying}/abstract_range_filter.rb +0 -0
- /data/lib/pack_api/{models/querying → querying}/attribute_filter.rb +0 -0
- /data/lib/pack_api/{models/querying → querying}/attribute_filter_factory.rb +0 -0
- /data/lib/pack_api/{models/querying → querying}/collection_query.rb +0 -0
- /data/lib/pack_api/{models/querying → querying}/composable_query.rb +0 -0
- /data/lib/pack_api/{models/querying → querying}/default_filter.rb +0 -0
- /data/lib/pack_api/{models/querying → querying}/discoverable_filter.rb +0 -0
- /data/lib/pack_api/{models/querying → querying}/dynamic_enum_filter.rb +0 -0
- /data/lib/pack_api/{models/querying → querying}/filter_factory.rb +0 -0
- /data/lib/pack_api/{models/querying → querying}/sort_hash.rb +0 -0
- /data/lib/pack_api/{models/types → types}/aggregate_type.rb +0 -0
- /data/lib/pack_api/{models/types → types}/base_type.rb +0 -0
- /data/lib/pack_api/{models/types → types}/boolean_filter_definition.rb +0 -0
- /data/lib/pack_api/{models/types → types}/collection_result_metadata.rb +0 -0
- /data/lib/pack_api/{models/types → types}/custom_filter_definition.rb +0 -0
- /data/lib/pack_api/{models/types → types}/enum_filter_definition.rb +0 -0
- /data/lib/pack_api/{models/types → types}/filter_option.rb +0 -0
- /data/lib/pack_api/{models/types → types}/globally_identifiable.rb +0 -0
- /data/lib/pack_api/{models/types → types}/numeric_filter_definition.rb +0 -0
- /data/lib/pack_api/{models/types → types}/range_filter_definition.rb +0 -0
- /data/lib/pack_api/{models/types → types}/result.rb +0 -0
- /data/lib/pack_api/{models/types → types}/simple_filter_definition.rb +0 -0
- /data/lib/pack_api/{models/values_in_background_batches.rb → values_in_background_batches.rb} +0 -0
- /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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f48730065ece9a8f8e18749b49d15d4f312c997148e86447f09ba8779bd5958d
|
|
4
|
+
data.tar.gz: 5670802d6da87396caf59e961240dd2bb2d4dcc5b7bf5dafcc4ba83a196add72
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
-
## [
|
|
8
|
+
## [1.0.1] - 2025-11-11
|
|
9
9
|
|
|
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
|
|
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
|
|
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
|
|
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 = [])
|
data/lib/pack_api/version.rb
CHANGED
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/
|
|
16
|
-
autoload :ValuesInBatches, "pack_api/
|
|
17
|
-
autoload :ValuesInBackgroundBatches, "pack_api/
|
|
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/
|
|
21
|
-
autoload :AttributeHashTransformer, "pack_api/
|
|
22
|
-
autoload :NullTransformer, "pack_api/
|
|
23
|
-
autoload :APIToModelAttributesTransformer, "pack_api/
|
|
24
|
-
autoload :ModelToAPIAttributesTransformer, "pack_api/
|
|
25
|
-
autoload :ErrorHashToAPIAttributesTransformer, "pack_api/
|
|
26
|
-
autoload :NormalizedAPIAttribute, "pack_api/
|
|
27
|
-
autoload :AttributeMap, "pack_api/
|
|
28
|
-
autoload :AttributeMapRegistry, "pack_api/
|
|
29
|
-
autoload :FilterMap, "pack_api/
|
|
30
|
-
autoload :ValueObjectFactory, "pack_api/
|
|
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/
|
|
35
|
-
autoload :PaginatorCursor, "pack_api/
|
|
36
|
-
autoload :Paginator, "pack_api/
|
|
37
|
-
autoload :PaginatorBuilder, "pack_api/
|
|
38
|
-
autoload :SnapshotPaginator, "pack_api/
|
|
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/
|
|
43
|
-
autoload :AbstractBooleanFilter, "pack_api/
|
|
44
|
-
autoload :AbstractEnumFilter, "pack_api/
|
|
45
|
-
autoload :AbstractNumericFilter, "pack_api/
|
|
46
|
-
autoload :AbstractRangeFilter, "pack_api/
|
|
47
|
-
autoload :DefaultFilter, "pack_api/
|
|
48
|
-
autoload :DiscoverableFilter, "pack_api/
|
|
49
|
-
autoload :DynamicEnumFilter, "pack_api/
|
|
50
|
-
autoload :AttributeFilter, "pack_api/
|
|
51
|
-
autoload :AttributeFilterFactory, "pack_api/
|
|
52
|
-
autoload :FilterFactory, "pack_api/
|
|
53
|
-
autoload :ComposableQuery, "pack_api/
|
|
54
|
-
autoload :CollectionQuery, "pack_api/
|
|
55
|
-
autoload :SortHash, "pack_api/
|
|
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/
|
|
60
|
-
autoload :AggregateType, "pack_api/
|
|
61
|
-
autoload :GloballyIdentifiable, "pack_api/
|
|
62
|
-
autoload :Result, "pack_api/
|
|
63
|
-
autoload :CollectionResultMetadata, "pack_api/
|
|
64
|
-
autoload :FilterOption, "pack_api/
|
|
65
|
-
autoload :SimpleFilterDefinition, "pack_api/
|
|
66
|
-
autoload :BooleanFilterDefinition, "pack_api/
|
|
67
|
-
autoload :EnumFilterDefinition, "pack_api/
|
|
68
|
-
autoload :NumericFilterDefinition, "pack_api/
|
|
69
|
-
autoload :RangeFilterDefinition, "pack_api/
|
|
70
|
-
autoload :CustomFilterDefinition, "pack_api/
|
|
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.
|
|
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
|
-
|
|
190
|
-
|
|
191
|
-
|
|
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/
|
|
206
|
-
- lib/pack_api/
|
|
207
|
-
- lib/pack_api/
|
|
208
|
-
- lib/pack_api/
|
|
209
|
-
- lib/pack_api/
|
|
210
|
-
- lib/pack_api/
|
|
211
|
-
- lib/pack_api/
|
|
212
|
-
- lib/pack_api/
|
|
213
|
-
- lib/pack_api/
|
|
214
|
-
- lib/pack_api/
|
|
215
|
-
- lib/pack_api/
|
|
216
|
-
- lib/pack_api/
|
|
217
|
-
- lib/pack_api/
|
|
218
|
-
- lib/pack_api/
|
|
219
|
-
- lib/pack_api/
|
|
220
|
-
- lib/pack_api/
|
|
221
|
-
- lib/pack_api/
|
|
222
|
-
- lib/pack_api/
|
|
223
|
-
- lib/pack_api/
|
|
224
|
-
- lib/pack_api/
|
|
225
|
-
- lib/pack_api/
|
|
226
|
-
- lib/pack_api/
|
|
227
|
-
- lib/pack_api/
|
|
228
|
-
- lib/pack_api/
|
|
229
|
-
- lib/pack_api/
|
|
230
|
-
- lib/pack_api/
|
|
231
|
-
- lib/pack_api/
|
|
232
|
-
- lib/pack_api/
|
|
233
|
-
- lib/pack_api/
|
|
234
|
-
- lib/pack_api/
|
|
235
|
-
- lib/pack_api/
|
|
236
|
-
- lib/pack_api/
|
|
237
|
-
- lib/pack_api/
|
|
238
|
-
- lib/pack_api/
|
|
239
|
-
- lib/pack_api/
|
|
240
|
-
- lib/pack_api/
|
|
241
|
-
- lib/pack_api/
|
|
242
|
-
- lib/pack_api/
|
|
243
|
-
- lib/pack_api/
|
|
244
|
-
- lib/pack_api/
|
|
245
|
-
- lib/pack_api/
|
|
246
|
-
- lib/pack_api/
|
|
247
|
-
- lib/pack_api/
|
|
248
|
-
- lib/pack_api/
|
|
249
|
-
- lib/pack_api/
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/data/lib/pack_api/{models/values_in_background_batches.rb → values_in_background_batches.rb}
RENAMED
|
File without changes
|
|
File without changes
|