feature_pack 0.1.1 → 0.1.3

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: 9474d2917faba0c23fdf4c37722442a16e4e2c74ffb3c1feee6d5fd5e29b16f3
4
- data.tar.gz: 7dc49809014676cb100aebb05b44af97486ed3254c81677b9bf96d058f10689d
3
+ metadata.gz: efa0492819f5f4d1c41a235a9b4f07f57fb2f634e5b624c6d852c6599590180c
4
+ data.tar.gz: b77bc5fdc56fca2c257854afb193b53949635387b18323d8b4a42c3a7a155a2a
5
5
  SHA512:
6
- metadata.gz: c9791858b73654bd34566d6015435920b04c5a1933d019cbf21f69f54e4d8491d57adf8e155b4bbce1972caa54e4b6305096ccec8d724ef6220d186ad12f25ac
7
- data.tar.gz: a6b0cc7430ad8db23543f45e1c78b7dd1a4c980b7f2fc8f5d3f3eec174e0e882ded063473a63463386036a50b83e178484cf3dc20d1d8d95cca2d2f1e3087619
6
+ metadata.gz: b2fb6e5c3fc3f989e04bb79846743cafc8672dd1f60ae3480b46a7557bfb9c43d2ce24dfe6dfa2364e1e11c49aebbe240aecbaf153297516f5bd4d9100e1ac1a
7
+ data.tar.gz: cf080f73d2dda1927a5b45f9a72f133309dc9e8f2dedeee6bd5c56954c046b40900716d00719c43054419f1453e1a4fa92e55b753a7e3b84667da3b7d10964a7
data/lib/feature_pack.rb CHANGED
@@ -39,7 +39,7 @@ module FeaturePack
39
39
 
40
40
  @@ignored_paths << @@path.join('feature_pack/feature_pack_routes.rb')
41
41
 
42
- raise "No Groups found in: '#{@@features_path}'" if Dir.glob("#{@@features_path}/[!_]*/").empty?
42
+ # raise "No Groups found in: '#{@@features_path}'" if Dir.glob("#{@@features_path}/[!_]*/").empty?
43
43
 
44
44
  @@groups = Dir.glob("#{@@features_path}/[!_]*/").map do |group_path|
45
45
  relative_path = Pathname.new(group_path)
@@ -0,0 +1,8 @@
1
+ Description:
2
+ Explain the generator
3
+
4
+ Example:
5
+ bin/rails generate add_feature Thing
6
+
7
+ This will create:
8
+ what/will/it/create
@@ -0,0 +1,32 @@
1
+ require 'rails/generators/base'
2
+ require 'rails/generators/named_base'
3
+
4
+ class FeaturePack::AddFeatureGenerator < Rails::Generators::NamedBase
5
+ desc 'Adds a new Feature'
6
+ source_root File.expand_path('templates', __dir__)
7
+
8
+ argument :name, type: :string, required: true, desc: 'The name (sneak case) of the group to add'
9
+
10
+ def add_feature
11
+ @group_name, @feature_name = name.split('/')
12
+ @group = FeaturePack.group(@group_name.to_sym)
13
+ @group_class_name = @group_name.camelcase
14
+ @feature_class_name = @feature_name.camelcase
15
+
16
+ raise "Group '#{@group_name}' doesn't exist. First, create it." if @group.nil?
17
+
18
+ raise "Feature '#{@group_class_name}::#{@feature_class_name}' already Exist." if FeaturePack.feature(@group_name.to_sym, @feature_name.to_sym).present?
19
+
20
+ @feature_id = @feature_name.gsub('_', '-') + '-' + '999'
21
+ @feature_dir = @group.relative_path.join("feature_#{@feature_id}_#{@feature_name}")
22
+
23
+ template './controller.rb.tt', @feature_dir.join('controller.rb')
24
+ template './manifest.yaml.tt', @feature_dir.join('manifest.yaml')
25
+ template './routes.rb.tt', @feature_dir.join('routes.rb')
26
+ template './views/home.html.slim.tt', @feature_dir.join('views/home.html.slim')
27
+ template './views/partials/_header.html.slim.tt', @feature_dir.join('views/partials/_header.html.slim')
28
+ template './views/partials/_footer.html.slim.tt', @feature_dir.join('views/partials/_footer.html.slim')
29
+ template './doc/readme.md.tt', @feature_dir.join('doc/readme.md')
30
+ create_file @feature_dir.join('queries', '.gitkeep')
31
+ end
32
+ end
@@ -0,0 +1,3 @@
1
+ class FeaturePack::<%= @group_class_name %>::<%= @feature_class_name %>Controller < FeaturePack::Controller
2
+ # home defined in parent controller
3
+ end
@@ -0,0 +1 @@
1
+ # <%= @feature_name%>
@@ -0,0 +1,14 @@
1
+ :name: Feature Friendly Name
2
+ :description:
3
+ :type: :alert
4
+ :url: <%= @feature_name.gsub('_', '-') %>
5
+ :version: 1.0.0
6
+ :policy:
7
+ :admin: '*'
8
+ :coordenacao_aps: '*'
9
+ :coordenacao_atividade_fisica: '*'
10
+ :coordenacao_saude_bucal:
11
+ - :lista_equipes_saude_bucal
12
+ :professional:
13
+ - :whatsapp_text_alert
14
+ - :whatsapp_protected_pdf
@@ -0,0 +1 @@
1
+ get '/', to: '<%= @feature_name %>#home'
@@ -0,0 +1,2 @@
1
+ h1 Feature <%= @group_class_name%>::<%=@feature_class_name %> Home
2
+ p = "Find-me at #{__FILE__}"
@@ -0,0 +1,2 @@
1
+ h1 Feature <%= @group_class_name %>::<%= @feature_class_name %> Footer
2
+ p = "Edit-me OR delete-me at #{__FILE__}"
@@ -0,0 +1,2 @@
1
+ h1 Feature <%= @group_class_name %>::<%= @feature_class_name %> Header
2
+ p = "Edit-me OR delete-me at #{__FILE__}"
@@ -1,5 +1,8 @@
1
+ require 'rails/generators/base'
2
+ require 'rails/generators/named_base'
3
+
1
4
  class FeaturePack::AddGroupGenerator < Rails::Generators::NamedBase
2
- # class Generators::FeaturePack::AddGroup::AddGroupGenerator < Rails::Generators::NamedBase
5
+
3
6
  desc 'Adds a new Feature Group'
4
7
  source_root File.expand_path('templates', __dir__)
5
8
 
@@ -11,7 +14,7 @@ class FeaturePack::AddGroupGenerator < Rails::Generators::NamedBase
11
14
  @class_name = name.camelcase
12
15
 
13
16
  # id can't contain underline '_'
14
- group_id = name.gsub('_', '-') + '-' + 'GIVE-ME-AN-ID'
17
+ group_id = name.gsub('_', '-') + '-' + '999'
15
18
  group_dir = FeaturePack.features_path.join("group_#{group_id}_#{name}")
16
19
 
17
20
  template './_group_metadata/controller.rb.tt', group_dir.join('_group_metadata', 'controller.rb')
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.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gedean Dias
@@ -40,6 +40,15 @@ 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_feature/USAGE
44
+ - lib/generators/feature_pack/add_feature/add_feature_generator.rb
45
+ - lib/generators/feature_pack/add_feature/templates/controller.rb.tt
46
+ - lib/generators/feature_pack/add_feature/templates/doc/readme.md.tt
47
+ - lib/generators/feature_pack/add_feature/templates/manifest.yaml.tt
48
+ - lib/generators/feature_pack/add_feature/templates/routes.rb.tt
49
+ - lib/generators/feature_pack/add_feature/templates/views/home.html.slim.tt
50
+ - lib/generators/feature_pack/add_feature/templates/views/partials/_footer.html.slim.tt
51
+ - lib/generators/feature_pack/add_feature/templates/views/partials/_header.html.slim.tt
43
52
  - lib/generators/feature_pack/add_group/USAGE
44
53
  - lib/generators/feature_pack/add_group/add_group_generator.rb
45
54
  - lib/generators/feature_pack/add_group/templates/_group_metadata/controller.rb.tt