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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +63 -0
  3. data/lib/propel_rails.rb +20 -14
  4. metadata +3 -44
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 01fabd15b4870069a21cc52990748d323301bd646b153039b390e97255b4d7f9
4
- data.tar.gz: 6ed1422add47bfa280cebc2713c04e0b2b873ad3c28022edfcc382a066ae9c5b
3
+ metadata.gz: a25c80c408b2fc42b63e30876293bfb69f0157712de03458ff71df9fd2a174d5
4
+ data.tar.gz: a42acddc0fda2cabb5fb50568dfdfd5ee8a235a576e67fed74b2325107bd3b31
5
5
  SHA512:
6
- metadata.gz: b280b9741d7265a9a251c7daedc64c416cd0f9fd579a300c0a4a53b51d864d8ddfb67b2de06ccb05c171bd643763706ba1cce46cc23a332c7137328ee02796bb
7
- data.tar.gz: 70072e65dd2f841403af2e696729f23c6a60bc3cb0c5863476d02fab4554c3cdda94f70735a6261e10d8a4903928aaa4b8ffda96dc024232fd0c02ae7a18cc35
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.3"
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
- # gems_to_load = %w[
69
- # propel_authentication
70
- # propel_api
71
- # propel_facets
72
- # ]
68
+ gems_to_load = %w[
69
+ propel_authentication
70
+ propel_api
71
+ propel_facets
72
+ ]
73
73
 
74
- # gems_to_load.each do |gem_name|
75
- # begin
76
- # require gem_name
77
- # rescue LoadError
78
- # # Gem not available, skip it
79
- # puts "#{gem_name} not available" if Propel::Rails.configuration.development?
80
- # end
81
- # end
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.3
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-07-22 00:00:00.000000000 Z
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