feature_pack 0.0.12 → 0.0.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/feature_pack.rb +9 -18
- 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: 9b98d6150df1b03e19c4f98debcbf273ddfd3d81709f436b8d097ecf31790aae
|
4
|
+
data.tar.gz: b8dc34d7efc3ac676acdd64af708077675237bba9c118247c1d182afd85665ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 573136ee34bb32a0fd965a22de8d049fe6610180baab9ccf089514d038642a37f5c5708b9d978c5bd6afd4a2e2f6d43e0e4dcffa256f3b159e6a5acee6bc3d91
|
7
|
+
data.tar.gz: bdbd5580a34aa27cf442f949eddffb97aa8ee2f366cce54c4de19ebc639609197d9a337bf5576c1ab137b401ddf67ee617aee1ed01dd2dcf038046b27fc404de
|
data/lib/feature_pack.rb
CHANGED
@@ -67,14 +67,6 @@ module FeaturePack
|
|
67
67
|
def group.view(view_name) = "#{base_dir}/#{GROUP_METADATA_DIRECTORY}/views/#{view_name}"
|
68
68
|
def group.javascript_module(javascript_file_name) = "#{base_dir}/#{GROUP_METADATA_DIRECTORY}/javascript/#{javascript_file_name}"
|
69
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
|
77
|
-
|
78
70
|
group
|
79
71
|
end
|
80
72
|
|
@@ -85,10 +77,6 @@ module FeaturePack
|
|
85
77
|
base_path = File.basename(feature_path, File::SEPARATOR)
|
86
78
|
|
87
79
|
feature_name = base_path.gsub(FEATURE_ID_PATTERN, '').to_sym
|
88
|
-
feature_class_name = "#{group.name.name.camelize}::#{feature_name.name.camelize}"
|
89
|
-
|
90
|
-
# FIX-ME (decouple Params class)
|
91
|
-
# params_class_name = "#{feature_pack_class_name}::Params"
|
92
80
|
|
93
81
|
routes_file_path = relative_path.join('routes.rb')
|
94
82
|
|
@@ -117,15 +105,18 @@ module FeaturePack
|
|
117
105
|
views_absolute_path: absolute_path.join('views'),
|
118
106
|
views_relative_path: relative_path.sub(/^#{Regexp.escape(@@features_path.to_s)}\//, '').join('views'),
|
119
107
|
javascript_relative_path: relative_path.sub(/^#{Regexp.escape(@@features_path.to_s)}\//, '').join('javascript'),
|
120
|
-
class_name: feature_class_name,
|
121
|
-
# FIX-ME (decouple Params class)
|
122
|
-
#params_class_name: params_class_name,
|
123
108
|
manifest: YAML.load_file(File.join(feature_path, MANIFEST_FILE_NAME)).deep_symbolize_keys
|
124
109
|
)
|
125
110
|
|
126
|
-
|
127
|
-
|
128
|
-
|
111
|
+
def feature.class_name = "FeaturePack::#{group.name.name.camelize}::#{name.name.camelize}"
|
112
|
+
def feature.namespace = class_name.constantize
|
113
|
+
|
114
|
+
feature.manifest.fetch(:const_aliases, []).each do |alias_data|
|
115
|
+
alias_method_name, alias_const_name = alias_data.first
|
116
|
+
feature.define_singleton_method(alias_method_name) { "#{class_name}::#{alias_const_name}".constantize }
|
117
|
+
end
|
118
|
+
|
119
|
+
def feature.view(view_name) = "#{views_relative_path}/#{view_name}"
|
129
120
|
def feature.javascript_module(javascript_file_name) = "#{javascript_relative_path}/#{javascript_file_name}"
|
130
121
|
|
131
122
|
group.features << feature
|