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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +67 -0
  3. data/README.md +46 -1
  4. data/lib/propel_rails.rb +1 -1
  5. metadata +8 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 973f752a5d7fd0ac7527861b1a2b10825b77b0f1fbd579773a453932c722b11b
4
- data.tar.gz: c7d33e541b06f8f584afffb38dfaffc18b3d7343bb74ab1323eeb3c5a21f2657
3
+ metadata.gz: 11592c55b9820565ba041c66ee52b0d09e048b3c5e0452df4dd8cbf2a0149501
4
+ data.tar.gz: 98eca640196111c6eeab5b5acac1761cb56f02a46034291060399e5286634bbb
5
5
  SHA512:
6
- metadata.gz: 3b56f237dbbbc78c3bcc500a51660d334e75737fa33696f90ea9485eaa67c98b5f44400bc09d81f3aaee3da800a898b51f9abbb552afd7df317ab05b6af3ca8d
7
- data.tar.gz: e40315373193f661862de48e2025c5e9fb7b33d20a0b5eabcbbb217b5a4a8614cf913b10c28d07b1b62f67f02e0b76f7b1a6af54fc27beb9a31b556cbfe61bd2
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
@@ -4,7 +4,7 @@ require "pathname"
4
4
 
5
5
  module Propel
6
6
  module Rails
7
- VERSION = "0.3.1.6"
7
+ VERSION = "0.3.3"
8
8
 
9
9
  class Error < StandardError; end
10
10
 
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.1.6
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-13 00:00:00.000000000 Z
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
- Propel Rails is a modular framework built as a collection of independent gems
141
- that work together seamlessly. It provides authentication, API generation, access control,
142
- AI integration, and more - all designed to work individually or as a cohesive framework.
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 for building modern web applications
180
+ summary: A modular Ruby framework with comprehensive dynamic filtering system
180
181
  test_files: []