propel_facets 0.3.2 โ†’ 0.3.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: da3798ceda996c042d703e962aecc3bba9ac91ffcf435aac6d8c6fc2618abb12
4
- data.tar.gz: c4c4c73415bcc88953f130ce02dd7317c98584271ebc1e0f821d6366a41fce9b
3
+ metadata.gz: 88c6d11753df3c4d5ecbe30ca78e68d6862ad7ce87e85c0a7a9c5f0fd20b6392
4
+ data.tar.gz: 6600bf6f1e037130a1e6ac9aae8b4601ed7b80eb4113add9766d208a8772e4d0
5
5
  SHA512:
6
- metadata.gz: 165a482696f060341c2a223a4c9630b863d857af5e25fc49efba9277cfc70fadca384e2be5ac251513de1d8aff3372522e84cffc5ccd87aa666eb852aa45d1e5
7
- data.tar.gz: fc955038f57f9cdbd7db57ba1bcf0f7fae63549ad409a51c7b13517ac88586f3dabbe9e0a57e6717ef63b8853c6dace6e87cb126c40f8da9356981f96b6ffee1
6
+ metadata.gz: 7d69b0b38e917c1fbbb5195b745b14570dc812a6f841b4c823a2ac726530f9110a64de7de789e738e9a457e2d96b330ed004ed51e3ae080cd9aa28b6a1e799d9
7
+ data.tar.gz: c3eacdb2c54207072c151d7bd9bf505212e5b5101aef18dd180d890b9d64f46401bc702ed26abeb3d92ad6ac0c61af5c4f1c438b36900c40920af57c82f566df
data/CHANGELOG.md CHANGED
@@ -14,6 +14,68 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
14
14
  - Metadata inclusion (pagination, counts, etc.)
15
15
  - Performance logging and optimization tools
16
16
 
17
+ ## [0.3.4] - 2025-09-29
18
+
19
+ ### Changed
20
+ - **Version Synchronization**: Updated version to maintain consistency with `propel_api` 0.3.4. No functional changes in this release.
21
+
22
+ ## [0.3.3] - 2025-01-XX
23
+
24
+ ### ๐ŸŽ‰ Major Features Added
25
+ - **Enhanced Facet System for Filtering**: Comprehensive improvements to support PropelApi's new dynamic filtering system
26
+ - **Smart Field Inclusion**: Automatic inclusion of boolean and datetime fields in `:short` facets for filtering compatibility
27
+ - **Exclusion List Support**: Configurable exclusion of specific fields (e.g., `created_at`, `updated_at`, `internal_flag`)
28
+ - **Filtering-Optimized Facets**: Facets now include all filterable fields to ensure API responses support client-side filtering
29
+
30
+ ### ๐Ÿ” Filtering Integration Enhancements
31
+ - **Boolean Field Support**: Enhanced facet templates to include boolean fields in `:short` facets
32
+ - Automatic detection and inclusion of boolean fields for filtering
33
+ - Configurable exclusion list for sensitive or internal boolean fields
34
+ - Consistent boolean field rendering across all model types
35
+ - **DateTime Field Support**: Improved datetime field handling in facets
36
+ - Automatic inclusion of datetime, date, and time fields in `:short` facets
37
+ - Configurable exclusion of timestamp fields (`created_at`, `updated_at`, `confirmed_at`)
38
+ - Better datetime field serialization for filtering operations
39
+
40
+ ### ๐Ÿ› ๏ธ Template System Improvements
41
+ - **Enhanced Facet Model Template**: Improved `facet_model_template.rb.tt` with filtering support
42
+ - Smart field inclusion logic for boolean and datetime fields
43
+ - Exclusion list configuration for sensitive fields
44
+ - Better template logic using `next` instead of `return` in select blocks
45
+ - **Improved Test Templates**: Enhanced test template generation for filtering compatibility
46
+ - Better boolean field testing in model, controller, and integration tests
47
+ - Improved datetime field testing patterns
48
+ - Enhanced fixture generation for filtering test scenarios
49
+
50
+ ### ๐Ÿ”ง Configuration & Customization
51
+ - **Flexible Field Exclusion**: Easy configuration of fields to exclude from facets
52
+ - `excluded_boolean_fields` list for sensitive boolean fields
53
+ - `excluded_datetime_fields` list for timestamp fields
54
+ - Template-based configuration for easy customization
55
+ - **Backward Compatibility**: Existing facet definitions continue to work without changes
56
+ - No breaking changes to existing facet configurations
57
+ - Enhanced functionality available through template updates
58
+
59
+ ### ๐Ÿงช Testing & Quality Assurance
60
+ - **Comprehensive Test Coverage**: Enhanced test templates for filtering scenarios
61
+ - Better boolean field testing patterns
62
+ - Improved datetime field testing coverage
63
+ - Enhanced integration test templates for filtering compatibility
64
+ - **Template Validation**: Improved template syntax and logic validation
65
+ - Fixed ERB template syntax issues with `next` vs `return` statements
66
+ - Better error handling in template generation
67
+ - Enhanced template consistency across all generators
68
+
69
+ ### ๐Ÿ”’ Security & Performance
70
+ - **Sensitive Field Protection**: Automatic exclusion of sensitive fields from public facets
71
+ - Password fields, tokens, and secrets automatically excluded
72
+ - Configurable exclusion lists for additional sensitive fields
73
+ - Better security for public API responses
74
+ - **Performance Optimization**: Efficient facet rendering for filtering operations
75
+ - Optimized field selection for filtering scenarios
76
+ - Better association handling for filtered queries
77
+ - Enhanced serialization performance
78
+
17
79
  ## [0.3.2] - 2025-09-15
18
80
 
19
81
  ### ๐Ÿ”ง Version Synchronization
@@ -2,6 +2,9 @@
2
2
 
3
3
  class ApplicationRecord < ActiveRecord::Base
4
4
  include ModelFacet
5
+
6
+ # Include PropelApi filtering if available
7
+ include PropelModelFiltersConcern if defined?(PropelModelFiltersConcern)
5
8
 
6
9
  primary_abstract_class
7
10
 
data/lib/propel_facets.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module PropelFacets
2
- VERSION = "0.3.2"
2
+ VERSION = "0.3.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: propel_facets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Propel Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-09-15 00:00:00.000000000 Z
11
+ date: 2025-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails