feature_pack 0.0.9 → 0.0.11

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/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