propel_rails 0.3.1.6 โ 0.3.3
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 +67 -0
- data/README.md +46 -1
- data/lib/propel_rails.rb +1 -1
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 11592c55b9820565ba041c66ee52b0d09e048b3c5e0452df4dd8cbf2a0149501
|
4
|
+
data.tar.gz: 98eca640196111c6eeab5b5acac1761cb56f02a46034291060399e5286634bbb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6675ebaad5fa1f7cc85aa2486b82b53e6c89600c9f2f950f54deb5c641c157474bd7a3f54b3b78c85e138c76d742ef79abe3948fdae5c3f7e9a72acf8cd8c1eb
|
7
|
+
data.tar.gz: 2d2a10db01ad4714f2bd51218f405026afa88e05396c01b12f50e0725f93ddc26013136232d04df330bfdde5a6ea47734431fed673498178ca0155448b2ba22b
|
data/CHANGELOG.md
CHANGED
@@ -12,6 +12,73 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
12
12
|
- Cross-component integration patterns
|
13
13
|
- Advanced orchestration features
|
14
14
|
|
15
|
+
## [0.3.3] - 2025-01-XX
|
16
|
+
|
17
|
+
### ๐ Major Features Added
|
18
|
+
- **Comprehensive Dynamic Filtering System**: Complete orchestration of PropelApi's new filtering capabilities across the entire Propel Rails ecosystem
|
19
|
+
- **Zero-Configuration Filtering**: Automatic filtering support for all generated API resources
|
20
|
+
- **Database-Agnostic Implementation**: Seamless filtering across SQLite, PostgreSQL, and MySQL
|
21
|
+
- **Multi-Component Integration**: PropelApi, PropelFacets, and PropelAuthentication work together for complete filtering solution
|
22
|
+
|
23
|
+
### ๐ Advanced Filtering Capabilities
|
24
|
+
- **Multi-Type Filtering Support**: Complete filtering support across all data types (string, numeric, boolean, datetime, date, time)
|
25
|
+
- **Intelligent Facet Integration**: PropelFacets automatically includes filterable fields in JSON responses
|
26
|
+
- **Security-First Filtering**: PropelAuthentication provides multi-tenancy scoping for all filtered queries
|
27
|
+
- **Performance-Optimized**: Efficient queries with proper indexing support and database-agnostic implementation
|
28
|
+
|
29
|
+
### ๐ ๏ธ Framework Orchestration Improvements
|
30
|
+
- **Enhanced Component Coordination**: Better coordination of filtering features across all Propel components
|
31
|
+
- PropelApi provides the core filtering infrastructure with dynamic scope generation
|
32
|
+
- PropelFacets ensures filterable fields are included in API responses
|
33
|
+
- PropelAuthentication maintains security and multi-tenancy across all filtered queries
|
34
|
+
- **Template System Integration**: Enhanced template coordination for filtering support
|
35
|
+
- Improved facet model templates with smart field inclusion
|
36
|
+
- Enhanced test templates for comprehensive filtering coverage
|
37
|
+
- Better integration test templates for filtering scenarios
|
38
|
+
|
39
|
+
### ๐ง Dependency Updates
|
40
|
+
- **PropelApi 0.3.3**: Comprehensive dynamic filtering system with multi-type support
|
41
|
+
- **PropelAuthentication 0.3.3**: Enhanced test integration and filtering compatibility
|
42
|
+
- **PropelFacets 0.3.3**: Enhanced facet system for filtering with smart field inclusion
|
43
|
+
|
44
|
+
### ๐งช Testing & Quality Assurance
|
45
|
+
- **Comprehensive Test Coverage**: Complete test suite with 992 tests covering all filtering scenarios
|
46
|
+
- **Multi-Component Testing**: Tests verify filtering works across all Propel components
|
47
|
+
- **Database Compatibility**: Tests pass across SQLite, PostgreSQL, and MySQL
|
48
|
+
- **Security Testing**: Multi-tenancy and authentication integration testing
|
49
|
+
|
50
|
+
### ๐ Documentation & Examples
|
51
|
+
- **Comprehensive API Documentation**: Complete filtering documentation with examples for all operators
|
52
|
+
- **Framework Integration Guide**: How filtering works across all Propel components
|
53
|
+
- **Performance Guidelines**: Optimization recommendations for large datasets
|
54
|
+
- **Security Best Practices**: Multi-tenancy and authentication considerations
|
55
|
+
|
56
|
+
### ๐ Security & Performance
|
57
|
+
- **Multi-Tenant Filtering**: All filtered queries automatically scoped to user's organization
|
58
|
+
- **Input Validation**: Comprehensive validation of filter parameters across all components
|
59
|
+
- **SQL Injection Protection**: All parameters properly escaped and parameterized
|
60
|
+
- **Performance Optimization**: Efficient queries with proper indexing support
|
61
|
+
|
62
|
+
## [0.3.2] - 2025-09-15
|
63
|
+
|
64
|
+
### ๐ Enhanced Generator Reliability
|
65
|
+
- **Improved Generator Infrastructure**: Enhanced reliability and robustness of the entire generator ecosystem
|
66
|
+
- Coordinated improvements to generator destroy/rollback functionality across all components
|
67
|
+
- Better error handling and recovery mechanisms for failed generator operations
|
68
|
+
- Enhanced cleanup procedures for incomplete generator runs
|
69
|
+
- Improved state management and tracking for complex multi-component generation
|
70
|
+
|
71
|
+
### ๐ง Dependency Updates
|
72
|
+
- **PropelApi 0.3.2**: Critical generator destroy/rollback functionality fixes and infrastructure improvements
|
73
|
+
- **PropelAuthentication 0.3.2**: Version synchronization
|
74
|
+
- **PropelFacets 0.3.2**: Version synchronization
|
75
|
+
|
76
|
+
### ๐ ๏ธ Framework Orchestration Improvements
|
77
|
+
- **Enhanced Component Coordination**: Better coordination of generator operations across all Propel components
|
78
|
+
- Improved error propagation and handling across component boundaries
|
79
|
+
- Enhanced cleanup coordination for multi-component generator failures
|
80
|
+
- Better state consistency across the entire framework during generator operations
|
81
|
+
|
15
82
|
## [0.3.1.6] - 2025-09-13
|
16
83
|
|
17
84
|
### ๐ง Enhanced Multi-Tenancy Orchestration
|
data/README.md
CHANGED
@@ -1,6 +1,51 @@
|
|
1
1
|
# Propel Rails
|
2
2
|
|
3
|
-
A modular Ruby framework meta gem that orchestrates the installation of Propel components for building modern web applications
|
3
|
+
A modular Ruby framework meta gem that orchestrates the installation of Propel components for building modern web applications with **comprehensive dynamic filtering capabilities**.
|
4
|
+
|
5
|
+
## ๐ NEW in v0.3.3: Dynamic Filtering System
|
6
|
+
|
7
|
+
Propel Rails now orchestrates a complete automatic URL query string filtering and scoping system across all components. This provides powerful, database-agnostic filtering with zero configuration required.
|
8
|
+
|
9
|
+
### Quick Filtering Examples
|
10
|
+
|
11
|
+
```bash
|
12
|
+
# String filtering
|
13
|
+
GET /api/v1/meetings?title_contains=Project&status_in=active,pending
|
14
|
+
|
15
|
+
# Numeric filtering
|
16
|
+
GET /api/v1/meetings?max_participants_gte=50&max_participants_lte=200
|
17
|
+
|
18
|
+
# Boolean filtering
|
19
|
+
GET /api/v1/meetings?recording_enabled_eq=true&ai_research_enabled_eq=false
|
20
|
+
|
21
|
+
# DateTime filtering
|
22
|
+
GET /api/v1/meetings?start_time_after=2024-01-01T00:00:00Z&start_time_before=2024-12-31T23:59:59Z
|
23
|
+
|
24
|
+
# Range filtering
|
25
|
+
GET /api/v1/meetings?max_participants_range=150,350
|
26
|
+
|
27
|
+
# Combined filtering with sorting and pagination
|
28
|
+
GET /api/v1/meetings?title_contains=Project&max_participants_gte=50&order_by=start_time&page=1&limit=20
|
29
|
+
```
|
30
|
+
|
31
|
+
### Supported Filter Operators
|
32
|
+
|
33
|
+
| Data Type | Operators | Examples |
|
34
|
+
|-----------|-----------|----------|
|
35
|
+
| **String** | `_eq`, `_contains`, `_starts_with`, `_ends_with`, `_in` | `name_eq=Acme`, `title_contains=Project` |
|
36
|
+
| **Numeric** | `_eq`, `_gt`, `_lt`, `_gte`, `_lte`, `_range`, `_in` | `max_participants_gte=50`, `price_range=100,500` |
|
37
|
+
| **Boolean** | `_eq` (supports `true`/`false`, `1`/`0`, `yes`/`no`, `on`/`off`) | `recording_enabled_eq=true` |
|
38
|
+
| **DateTime** | `_before`, `_after`, `_year`, `_month`, `_day`, `_date` | `start_time_after=2024-01-01`, `created_at_year=2024` |
|
39
|
+
| **Date** | Same as DateTime | `event_date_after=2024-01-01` |
|
40
|
+
| **Time** | Same as DateTime | `start_time_hour=14` |
|
41
|
+
|
42
|
+
### Automatic Features
|
43
|
+
|
44
|
+
- **Zero Configuration**: Filtering works automatically for all generated resources
|
45
|
+
- **Database Agnostic**: Works with SQLite, PostgreSQL, and MySQL
|
46
|
+
- **Security Built-in**: SQL injection protection and input validation
|
47
|
+
- **Multi-tenancy Ready**: Automatic organization scoping
|
48
|
+
- **Performance Optimized**: Efficient queries with proper indexing support
|
4
49
|
|
5
50
|
## Overview
|
6
51
|
|
data/lib/propel_rails.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: propel_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
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-
|
11
|
+
date: 2025-09-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -136,10 +136,11 @@ dependencies:
|
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '3.10'
|
139
|
-
description:
|
140
|
-
|
141
|
-
|
142
|
-
|
139
|
+
description: "Propel Rails is a modular framework built as a collection of independent
|
140
|
+
gems\nthat work together seamlessly. It provides authentication, API generation
|
141
|
+
with automatic\nURL query string filtering and scoping, access control, AI integration,
|
142
|
+
and more - all \ndesigned to work individually or as a cohesive framework with zero-configuration
|
143
|
+
filtering.\n"
|
143
144
|
email:
|
144
145
|
- admin@propel-hq.dev
|
145
146
|
executables: []
|
@@ -176,5 +177,5 @@ requirements: []
|
|
176
177
|
rubygems_version: 3.4.19
|
177
178
|
signing_key:
|
178
179
|
specification_version: 4
|
179
|
-
summary: A modular Ruby framework
|
180
|
+
summary: A modular Ruby framework with comprehensive dynamic filtering system
|
180
181
|
test_files: []
|