feature_pack 0.0.10 → 0.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -0
- data/lib/feature_pack.rb +11 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3bf9d3aa6e820a6f742b4711972ba1909f29ad24bcf713b7d0cd6fe892acb2ba
|
4
|
+
data.tar.gz: a051faf9458a3d1bff180b2496e86ac6c162d11f27d3f3291aa784ee29686d90
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5db3e14640c50ca3e28cbadba86aff2f6d4e81d45df876367531fe627c97d585ee1d22368dbc3c6f391265c05ffce1794d234c60fc752cdbd536f81fc3a1205a
|
7
|
+
data.tar.gz: 2849317fc4a961625923871146fba9c48d8b91d15e8ba819c3b07a87a7cf57c40c966fd668ca18cf390befaed544193f5b4cc6598e08aa5e4dbc238fcdf7398f
|
data/README.md
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
# Feature Pack
|
2
2
|
Organizes and sets up the architecture of micro-applications within a Rails application, enabling the segregation of code, management, and isolation of functionalities, which can be developed, tested, and maintained independently of each other.
|
3
3
|
|
4
|
+
|
5
|
+
## Javascript
|
6
|
+
`Javascript` must be on the FeaturePack root dir, not inside views dir.
|
7
|
+
|
4
8
|
## Installation
|
5
9
|
Meanwhile installer isn't done, follow the steps below to install FeaturePack GEM:
|
6
10
|
|
data/lib/feature_pack.rb
CHANGED
@@ -65,6 +65,15 @@ module FeaturePack
|
|
65
65
|
def group.feature(feature_name) = features.find { |p| p.name.eql?(feature_name) }
|
66
66
|
def group.views_path = "#{base_dir}/#{GROUP_METADATA_DIRECTORY}/views"
|
67
67
|
def group.view(view_name) = "#{base_dir}/#{GROUP_METADATA_DIRECTORY}/views/#{view_name}"
|
68
|
+
def group.javascript_module(javascript_file_name) = "#{base_dir}/#{GROUP_METADATA_DIRECTORY}/javascript/#{javascript_file_name}"
|
69
|
+
|
70
|
+
# FIX-ME (decouple Params class)
|
71
|
+
# def group.params_class = "#{name.name.camelize}::Params".constantize
|
72
|
+
# def group.manifest_class = "#{name.name.camelize}::Manifest".constantize
|
73
|
+
|
74
|
+
# FIX-ME (decouple Params class)
|
75
|
+
# def group.params = params_class.new(group.manifest)
|
76
|
+
# def group.manifest = manifest
|
68
77
|
|
69
78
|
group
|
70
79
|
end
|
@@ -107,6 +116,7 @@ module FeaturePack
|
|
107
116
|
# controller_path: relative_path.join('controller'),
|
108
117
|
views_absolute_path: absolute_path.join('views'),
|
109
118
|
views_relative_path: relative_path.sub(/^#{Regexp.escape(@@features_path.to_s)}\//, '').join('views'),
|
119
|
+
javascript_relative_path: relative_path.sub(/^#{Regexp.escape(@@features_path.to_s)}\//, '').join('javascript'),
|
110
120
|
class_name: feature_class_name,
|
111
121
|
# FIX-ME (decouple Params class)
|
112
122
|
#params_class_name: params_class_name,
|
@@ -116,6 +126,7 @@ module FeaturePack
|
|
116
126
|
# FIX-ME (decouple Params class)
|
117
127
|
# def feature.params_class = params_class_name.constantize
|
118
128
|
def feature.view(view_name) = "#{views_relative_path}/#{view_name}"
|
129
|
+
def feature.javascript_module(javascript_file_name) = "#{javascript_relative_path}/#{javascript_file_name}"
|
119
130
|
|
120
131
|
group.features << feature
|
121
132
|
end
|