feature_pack 0.0.14 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b98d6150df1b03e19c4f98debcbf273ddfd3d81709f436b8d097ecf31790aae
4
- data.tar.gz: b8dc34d7efc3ac676acdd64af708077675237bba9c118247c1d182afd85665ad
3
+ metadata.gz: 9474d2917faba0c23fdf4c37722442a16e4e2c74ffb3c1feee6d5fd5e29b16f3
4
+ data.tar.gz: 7dc49809014676cb100aebb05b44af97486ed3254c81677b9bf96d058f10689d
5
5
  SHA512:
6
- metadata.gz: 573136ee34bb32a0fd965a22de8d049fe6610180baab9ccf089514d038642a37f5c5708b9d978c5bd6afd4a2e2f6d43e0e4dcffa256f3b159e6a5acee6bc3d91
7
- data.tar.gz: bdbd5580a34aa27cf442f949eddffb97aa8ee2f366cce54c4de19ebc639609197d9a337bf5576c1ab137b401ddf67ee617aee1ed01dd2dcf038046b27fc404de
6
+ metadata.gz: c9791858b73654bd34566d6015435920b04c5a1933d019cbf21f69f54e4d8491d57adf8e155b4bbce1972caa54e4b6305096ccec8d724ef6220d186ad12f25ac
7
+ data.tar.gz: a6b0cc7430ad8db23543f45e1c78b7dd1a4c980b7f2fc8f5d3f3eec174e0e882ded063473a63463386036a50b83e178484cf3dc20d1d8d95cca2d2f1e3087619
data/lib/feature_pack.rb CHANGED
@@ -4,7 +4,7 @@ module FeaturePack
4
4
  GROUP_ID_PATTERN = /^group_.*?_/.freeze
5
5
  FEATURE_ID_PATTERN = /^feature_.*?_/.freeze
6
6
  GROUP_METADATA_DIRECTORY = '_group_metadata'.freeze
7
- MANIFEST_FILE_NAME = 'manifest.yml'.freeze
7
+ MANIFEST_FILE_NAME = 'manifest.yaml'.freeze
8
8
  CONTROLLER_FILE_NAME = 'controller.rb'.freeze
9
9
 
10
10
  ATTR_READERS = %i[
@@ -0,0 +1,8 @@
1
+ Description:
2
+ Explain the generator
3
+
4
+ Example:
5
+ bin/rails generate add_group Thing
6
+
7
+ This will create:
8
+ what/will/it/create
@@ -0,0 +1,30 @@
1
+ class FeaturePack::AddGroupGenerator < Rails::Generators::NamedBase
2
+ # class Generators::FeaturePack::AddGroup::AddGroupGenerator < Rails::Generators::NamedBase
3
+ desc 'Adds a new Feature Group'
4
+ source_root File.expand_path('templates', __dir__)
5
+
6
+ argument :name, type: :string, required: true, desc: 'The name (sneak case) of the group to add'
7
+
8
+ def create_feature_group
9
+ raise "Group '#{name}' already exists" if FeaturePack.group(name.to_sym).present?
10
+
11
+ @class_name = name.camelcase
12
+
13
+ # id can't contain underline '_'
14
+ group_id = name.gsub('_', '-') + '-' + 'GIVE-ME-AN-ID'
15
+ group_dir = FeaturePack.features_path.join("group_#{group_id}_#{name}")
16
+
17
+ template './_group_metadata/controller.rb.tt', group_dir.join('_group_metadata', 'controller.rb')
18
+ template './_group_metadata/manifest.yaml.tt', group_dir.join('_group_metadata', 'manifest.yaml')
19
+ template './_group_metadata/routes.rb.disabled.tt', group_dir.join('_group_metadata', 'routes.rb.disabled')
20
+ template './_group_metadata/views/home.html.slim.tt', group_dir.join('_group_metadata', 'views/home.html.slim')
21
+ template './_group_metadata/views/partials/_header.html.slim.tt', group_dir.join('_group_metadata', 'views/partials/_header.html.slim')
22
+ template './_group_metadata/views/partials/_footer.html.slim.tt', group_dir.join('_group_metadata', 'views/partials/_footer.html.slim')
23
+
24
+ # create_file "app/models/#{group_name.underscore}/#{name.underscore}.rb", <<-FILE
25
+ # class #{group_name.camelize}::#{name.camelize} < ApplicationRecord
26
+ # # Lógicas específicas da feature, como validações e associações
27
+ # end
28
+ # FILE
29
+ end
30
+ end
@@ -0,0 +1,3 @@
1
+ class FeaturePack::<%= class_name %>Controller < FeaturePack::GroupController
2
+ # 'home' already defined in RootGroupController
3
+ end
@@ -0,0 +1,3 @@
1
+ name: Group Friendly Name Here
2
+ url: <%= name.gsub('_', '-') %>
3
+ namespace_only: false
@@ -0,0 +1,3 @@
1
+ # You don't need enable this file if the only action is 'home'
2
+
3
+ get '/action-name-url', to: '<%= name %>#action_name'
@@ -0,0 +1,2 @@
1
+ h1 Group <%= class_name%> Home
2
+ p = "Find-me at #{__FILE__}"
@@ -0,0 +1,2 @@
1
+ h1 Group <%= class_name%> Footer
2
+ p = "Edit-me OR delete-me at #{__FILE__}"
@@ -0,0 +1,2 @@
1
+ h1 Group <%= class_name%> Header
2
+ p = "Edit-me OR delete-me at #{__FILE__}"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: feature_pack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.14
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gedean Dias
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-20 00:00:00.000000000 Z
11
+ date: 2024-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -40,6 +40,14 @@ files:
40
40
  - lib/feature_pack/error.rb
41
41
  - lib/feature_pack/feature_pack_routes.rb
42
42
  - lib/feature_pack/group_controller.rb
43
+ - lib/generators/feature_pack/add_group/USAGE
44
+ - lib/generators/feature_pack/add_group/add_group_generator.rb
45
+ - lib/generators/feature_pack/add_group/templates/_group_metadata/controller.rb.tt
46
+ - lib/generators/feature_pack/add_group/templates/_group_metadata/manifest.yaml.tt
47
+ - lib/generators/feature_pack/add_group/templates/_group_metadata/routes.rb.disabled.tt
48
+ - lib/generators/feature_pack/add_group/templates/_group_metadata/views/home.html.slim.tt
49
+ - lib/generators/feature_pack/add_group/templates/_group_metadata/views/partials/_footer.html.slim.tt
50
+ - lib/generators/feature_pack/add_group/templates/_group_metadata/views/partials/_header.html.slim.tt
43
51
  homepage: https://github.com/gedean/feature_pack
44
52
  licenses:
45
53
  - MIT