gemaina 1.0

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 09d11fcc293667f5c0de3170767b05ab67cbdfd5
4
+ data.tar.gz: b89d037a69dc3b88e472a634c206a810acb60567
5
+ SHA512:
6
+ metadata.gz: cb18fa8bb007b551e26c4bcf1604c0b14d96297869f17b01dd8928572dcf247145491e5911085ac10c9557df3cee142b7dc21f315f54d5f84bebc9ea17fd91f4
7
+ data.tar.gz: 10427f5bb947ab270c242addaf56ee4b95222398a9c1619a9510906a0395aacf182741772a7b7c535d218dcba460bea1e965c46b6eb68ed71ba33bc4c462d495
@@ -0,0 +1,87 @@
1
+ class FeatureGenerator < Rails::Generators::NamedBase
2
+ require 'rails/generators/base'
3
+ class_option :scaffold
4
+ class_option :language, type: :string, default: 'en'
5
+ class_option :folder, type: :string
6
+
7
+ desc "This generator creates a .feature file in /features and the _steps.rb file in /features/step_definitions for a feature in cucumber based on the name of the feature"
8
+ gem 'cucumber-rails', group: "test"
9
+ def create_feature_file
10
+ if options['language'] == 'pt'
11
+ if options['scaffold']
12
+ template = "Funcionalidade: #{file_name}
13
+ Como [stakeholder]
14
+ Para que eu [funcionalidade]
15
+ Eu quero [finalidade]\n
16
+ #index
17
+ Cenário: Listar todos os #{file_name.pluralize}\n
18
+ #create
19
+ Cenário: Criar um #{file_name}\n
20
+ #show
21
+ Cenário: Mostrar um #{file_name}\n
22
+ #edit
23
+ Cenário: Editar um #{file_name}\n
24
+ #destroy
25
+ Cenário: Deletar um #{file_name}\n"
26
+ else
27
+ template = "Funcionalidade: #{file_name}
28
+ Como [stakeholder]
29
+ Para que eu [funcionalidade]
30
+ Eu quero [finalidade]\n"
31
+ end
32
+ else
33
+ if options['scaffold']
34
+ template = "Feature: #{file_name}
35
+ As a [stakeholder]
36
+ So that I [functionality]
37
+ I want to [goal]\n
38
+ #index
39
+ Scenario: List all #{file_name.pluralize}\n
40
+ #create
41
+ Scenario: Create a #{file_name}\n
42
+ #show
43
+ Scenario: Show a #{file_name}\n
44
+ #edit
45
+ Scenario: Edit a #{file_name}\n
46
+ #destroy
47
+ Scenario: Delete a #{file_name}\n"
48
+ else
49
+ template = "Feature: #{file_name}
50
+ As a [stakeholder]
51
+ So that I [functionality]
52
+ I want to [goal]\n"
53
+ end
54
+ end
55
+ if options['folder']
56
+ create_file "features/#{options['folder']}/#{file_name}.feature", "#language: #{options['language']}\n#encoding: utf-8\n\n#{template}"
57
+ else
58
+ create_file "features/#{file_name}.feature", "#language: #{options['language']}\n#encoding: utf-8\n\n@#{file_name}\n#{template}"
59
+ end
60
+ end
61
+
62
+ def create_feature_steps_file
63
+ if options['folder']
64
+ if options['scaffold']
65
+ create_file "features/step_definitions/#{options['folder']}/#{file_name}_steps.rb","# This is the steps file referred to #{file_name} feature\n# Place your code relative to that feature here\n
66
+ #index steps\n
67
+ #create steps\n
68
+ #show steps\n
69
+ #edit steps\n
70
+ #destroy steps\n"
71
+ else
72
+ create_file "features/step_definitions/#{options['folder']}/#{file_name}_steps.rb","# This is the steps file referred to #{file_name} feature\n# Place your code relative to that feature here"
73
+ end
74
+ else
75
+ if options['scaffold']
76
+ create_file "features/step_definitions/#{file_name}_steps.rb","# This is the steps file referred to #{file_name} feature\n# Place your code relative to that feature here\n
77
+ #index steps\n
78
+ #create steps\n
79
+ #show steps\n
80
+ #edit steps\n
81
+ #destroy steps\n"
82
+ else
83
+ create_file "features/step_definitions/#{file_name}_steps.rb","# This is the steps file referred to #{file_name} feature\n# Place your code relative to that feature here"
84
+ end
85
+ end
86
+ end
87
+ end
metadata ADDED
@@ -0,0 +1,73 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gemaina
3
+ version: !ruby/object:Gem::Version
4
+ version: '1.0'
5
+ platform: ruby
6
+ authors:
7
+ - Nicholas Marques
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-04-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 3.2.0
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 3.2.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: cucumber-rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: This generator will create a .feature file and a _steps.rb file related
42
+ to the given feature, in any language you want
43
+ email:
44
+ - nnmarques97@gmail.com
45
+ executables: []
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - lib/generators/feature_generator.rb
50
+ homepage: https://github.com/NickNish09/Gemaina
51
+ licenses: []
52
+ metadata: {}
53
+ post_install_message:
54
+ rdoc_options: []
55
+ require_paths:
56
+ - lib
57
+ required_ruby_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ required_rubygems_version: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ requirements: []
68
+ rubyforge_project:
69
+ rubygems_version: 2.5.1
70
+ signing_key:
71
+ specification_version: 4
72
+ summary: A rails generator for cucumber features and steps.
73
+ test_files: []