Module: FeaturePack
- Defined in:
- lib/feature_pack.rb,
lib/generators/feature_pack/add_group/add_group_generator.rb,
lib/generators/feature_pack/add_feature/add_feature_generator.rb
Overview
FeaturePack module provides a way to organize Rails applications into groups and features, enabling better code organization and isolation
Defined Under Namespace
Modules: Error Classes: AddFeatureGenerator, AddGroupGenerator, Controller, GroupController
Constant Summary collapse
- GROUP_ID_PATTERN =
Pattern constants for identifying groups and features
/^group_.*?_/.freeze
- FEATURE_ID_PATTERN =
/^feature_.*?_/.freeze
- GROUP_SPACE_DIRECTORY =
Directory and file name constants
'_group_space'.freeze
- MANIFEST_FILE_NAME =
'manifest.yaml'.freeze
- CONTROLLER_FILE_NAME =
'controller.rb'.freeze
- AFTER_INITIALIZE_FILE_NAME =
'__after_initialize.rb'.freeze
- ATTR_READERS =
Attribute readers that will be dynamically defined
i[ path features_path ignored_paths groups groups_controllers_paths features_controllers_paths javascript_files_paths ].freeze
Class Method Summary collapse
-
.feature(group_name, feature_name) ⇒ OpenStruct?
Finds a feature within a group.
-
.group(group_name) ⇒ OpenStruct?
Finds a group by name.
-
.setup ⇒ Object
Sets up the FeaturePack system This method should be called once during Rails initialization.
Class Method Details
.feature(group_name, feature_name) ⇒ OpenStruct?
Finds a feature within a group
49 50 51 52 53 54 |
# File 'lib/feature_pack.rb', line 49 def feature(group_name, feature_name) requested_group = group(group_name) return nil if requested_group.nil? requested_group.feature(feature_name) end |
.group(group_name) ⇒ OpenStruct?
Finds a group by name
43 |
# File 'lib/feature_pack.rb', line 43 def group(group_name) = @@groups.find { it.name.eql?(group_name) } |
.setup ⇒ Object
Sets up the FeaturePack system This method should be called once during Rails initialization
30 31 32 33 34 35 36 37 38 |
# File 'lib/feature_pack.rb', line 30 def setup raise 'FeaturePack already setup!' if defined?(@@setup_executed_flag) initialize_paths load_dependencies discover_groups discover_features finalize_setup end |