propel_rails 0.1.3 → 0.1.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 +4 -4
- data/CHANGELOG.md +63 -0
- data/lib/propel_rails.rb +20 -14
- metadata +3 -44
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a25c80c408b2fc42b63e30876293bfb69f0157712de03458ff71df9fd2a174d5
|
4
|
+
data.tar.gz: a42acddc0fda2cabb5fb50568dfdfd5ee8a235a576e67fed74b2325107bd3b31
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 635e6dbaccc78b6e811ecb0d6ec1bb026cb71c6563bbb07d86684c7ebb25f258e8b8711b360c851d006a4f9becfbb23d72765b2bde329e39ddc0af6317a58686
|
7
|
+
data.tar.gz: 38a6c033d121aaacf10b1cecca13bec69d6a61492523fd28a4e6d1a149c89b1bb8fb584076ea0c52fe98eed38aeb58b88bf45f1f63eeeec6be1e3d88d138b822
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
All notable changes to this project will be documented in this file.
|
4
|
+
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
|
+
|
8
|
+
## [Unreleased]
|
9
|
+
|
10
|
+
### Planned Features
|
11
|
+
- Additional component gems (propel-access, propel-ai, propel-forms)
|
12
|
+
- Cross-component integration patterns
|
13
|
+
- Advanced orchestration features
|
14
|
+
|
15
|
+
## [0.1.4] - 2025-01-23
|
16
|
+
|
17
|
+
### Fixed
|
18
|
+
- **Generator extraction system** - Critical infrastructure fixes across all components
|
19
|
+
- PropelAuthentication: Fixed core configuration methods extraction
|
20
|
+
- PropelAPI: Enhanced unpack system for complete standalone operation
|
21
|
+
- PropelFacets: Improved generator infrastructure extraction
|
22
|
+
- **Framework orchestration** - Better component coordination and installation
|
23
|
+
- **Test environment** - ActionCable configuration and comprehensive test coverage
|
24
|
+
|
25
|
+
### Improved
|
26
|
+
- **"No black box" policy** - Complete implementation across all components
|
27
|
+
- **Component independence** - Each gem works standalone after extraction
|
28
|
+
- **Rails conventions** - Better adherence to Rails patterns throughout framework
|
29
|
+
|
30
|
+
## [0.1.3] - 2025-01-XX
|
31
|
+
|
32
|
+
### Added
|
33
|
+
- **Modular framework architecture** - Collection of independent, coordinated gems
|
34
|
+
- **Component orchestration system** - Unified installation and management
|
35
|
+
- **Self-extracting gem pattern** - Install temporarily, extract code, remove dependencies
|
36
|
+
- **Core component gems**:
|
37
|
+
- PropelAuthentication - JWT-based authentication system
|
38
|
+
- PropelAPI - API resource generation with dual adapters
|
39
|
+
- PropelFacets - JSON facet system for flexible API responses
|
40
|
+
|
41
|
+
### Features
|
42
|
+
- **Unified installation** - Single command installs entire framework or individual components
|
43
|
+
- **Component coordination** - Gems work together seamlessly while remaining independent
|
44
|
+
- **Framework configuration** - Centralized configuration with component-specific options
|
45
|
+
- **Development workflow** - Path gem support for local development
|
46
|
+
- **Production deployment** - Zero runtime dependencies after extraction
|
47
|
+
|
48
|
+
### Architecture
|
49
|
+
- **Self-extracting generators** - All functionality extracted to host application
|
50
|
+
- **Component isolation** - Each gem can be used independently
|
51
|
+
- **Rails integration** - Deep integration with Rails conventions and patterns
|
52
|
+
- **Modular design** - Add or remove components as needed
|
53
|
+
|
54
|
+
### Generator Commands
|
55
|
+
- `rails generate propel:install` - Install complete framework
|
56
|
+
- `rails generate propel:install --components=auth,api` - Install specific components
|
57
|
+
- Individual component generators available for fine-grained control
|
58
|
+
|
59
|
+
### Philosophy
|
60
|
+
- **No black box dependencies** - All code visible and customizable in host application
|
61
|
+
- **Rails conventions first** - Follows established Rails patterns and practices
|
62
|
+
- **Developer control** - Full customization and modification capabilities
|
63
|
+
- **Production ready** - Battle-tested patterns with comprehensive test coverage
|
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.1.
|
7
|
+
VERSION = "0.1.4"
|
8
8
|
|
9
9
|
class Error < StandardError; end
|
10
10
|
|
@@ -65,20 +65,26 @@ end
|
|
65
65
|
# propel-accounting
|
66
66
|
|
67
67
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
68
|
+
gems_to_load = %w[
|
69
|
+
propel_authentication
|
70
|
+
propel_api
|
71
|
+
propel_facets
|
72
|
+
]
|
73
73
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
#
|
79
|
-
|
80
|
-
#
|
81
|
-
#
|
74
|
+
gems_to_load.each do |gem_name|
|
75
|
+
begin
|
76
|
+
require gem_name
|
77
|
+
rescue LoadError
|
78
|
+
# Check if gem is defined in Gemfile (for path gems)
|
79
|
+
if defined?(Bundler) && Bundler.definition.dependencies.any? { |dep| dep.name == gem_name }
|
80
|
+
# Gem is in Gemfile but not loaded yet - this is normal for path gems
|
81
|
+
# Bundler will load it later, so don't show warning
|
82
|
+
else
|
83
|
+
# Gem not available and not in Gemfile, show warning only if in development
|
84
|
+
puts "#{gem_name} not available" if Propel::Rails.configuration.development?
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
82
88
|
|
83
89
|
# Welcome message for development
|
84
90
|
if Propel::Rails.configuration.development?
|
metadata
CHANGED
@@ -1,57 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: propel_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.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-
|
11
|
+
date: 2025-08-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: propel_authentication
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 0.1.3
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 0.1.3
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: propel_api
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 0.1.3
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 0.1.3
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: propel_facets
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 0.1.3
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 0.1.3
|
55
13
|
- !ruby/object:Gem::Dependency
|
56
14
|
name: bundler
|
57
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -188,6 +146,7 @@ executables: []
|
|
188
146
|
extensions: []
|
189
147
|
extra_rdoc_files: []
|
190
148
|
files:
|
149
|
+
- CHANGELOG.md
|
191
150
|
- README.md
|
192
151
|
- Rakefile
|
193
152
|
- lib/generators/propel/install_generator.rb
|