feature_pack 0.0.9 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +26 -0
  3. data/lib/feature_pack.rb +9 -0
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 55973cae577c2295ae4baffaef95d5416d969c8ab76afa261cdf5c38897d977c
4
- data.tar.gz: b77ab0ea523c05867e533eae860bc7227166329438c2bd96eba98f77aa08d93b
3
+ metadata.gz: a23dab74045521da6f6195a32de0488b7b06c486e6c8761cae51e3b9c99fa19c
4
+ data.tar.gz: 3e4f1e817575fadbf590fb1ab06882d297f6bacac5deb2a3386a4a338881b5d8
5
5
  SHA512:
6
- metadata.gz: be2356f348450d5eadbb8e554253904d1ef6388744eee2c1055c07c3cbfea0bbe6ffa1d59566a64b30f9c4b71bc45d657765446f0c6e8cf7aad5d4d68e84439c
7
- data.tar.gz: a0af2ec40af2851ebc0e88366525440096257a8027570621c353682d3000fd777555d243d805e29c6b2f11e1bfcd52657fe5d61ba03288dd0b1d1c855a65de24
6
+ metadata.gz: 848a1bb410d23e07a400821552e2ac6f0c48325c522dfce9120f6011ed54501c6976525191619b49ed512f076dbb61b0f6537d932f4bce54df3127bccb501d68
7
+ data.tar.gz: 2776ee2dd7ebf44304cdd3420d6068dee0ef0422c44b02f3dfc5734b117fd27c2733c0a973fb3cfcfcde3674d1ef1ced76630840965d2373fc655e96fb1ae723
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
 
@@ -66,3 +70,25 @@ end
66
70
  def feature_pack_group_path(group, *params) = send("feature_pack_#{group.name}_path".to_sym, *params)
67
71
  def feature_pack_path(group, feature, *params) = send("feature_pack_#{group.name}_#{feature.name}_path".to_sym, *params)
68
72
  ```
73
+
74
+ ```ruby
75
+ # config/initializers/assets.rb
76
+
77
+ Rails.application.config.assets.precompile += FeaturePack.javascript_files_paths
78
+ ```
79
+
80
+ ```ruby
81
+ # config/importmap.rb
82
+
83
+ FeaturePack.javascript_files_paths.each do |js_file_path|
84
+ extensionless_js_file_path = js_file_path.delete_suffix('.js')
85
+ pin extensionless_js_file_path, to: extensionless_js_file_path, preload: false
86
+ end
87
+ ```
88
+
89
+ ```ruby
90
+ # config/routes.rb
91
+ namespace :feature_pack, path: nil do
92
+ draw :feature_pack_routes
93
+ end
94
+ ```
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(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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: feature_pack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gedean Dias