Class: Scaffolding
- Inherits:
-
Thor::Group
- Object
- Thor::Group
- Scaffolding
- Includes:
- Thor::Actions
- Defined in:
- lib/scaffolding/scaffolding.rb
Instance Attribute Summary collapse
-
#uses ⇒ Object
writeonly
Sets the attribute uses.
Class Method Summary collapse
Instance Method Summary collapse
- #automation_type ⇒ Object
-
#class_name ⇒ Object
— Template helpers (available in .tt files) —.
- #default_path(standard_path, file_type) ⇒ Object
- #framework_type ⇒ Object
- #generate_component ⇒ Object
- #generate_config ⇒ Object
- #generate_feature ⇒ Object
- #generate_helper ⇒ Object
-
#generate_page ⇒ Object
— Generation methods —.
- #generate_spec ⇒ Object
- #generate_steps ⇒ Object
- #leaf_name ⇒ Object
- #module_parts ⇒ Object
- #nested? ⇒ Boolean
- #normalized_name ⇒ Object
- #page_class_name ⇒ Object
- #project_config ⇒ Object
- #selenium? ⇒ Boolean
- #uses_list ⇒ Object
- #watir? ⇒ Boolean
Instance Attribute Details
#uses=(value) ⇒ Object (writeonly)
Sets the attribute uses
14 15 16 |
# File 'lib/scaffolding/scaffolding.rb', line 14 def uses=(value) @uses = value end |
Class Method Details
.source_root ⇒ Object
16 17 18 |
# File 'lib/scaffolding/scaffolding.rb', line 16 def self.source_root "#{File.dirname(__FILE__)}/templates" end |
Instance Method Details
#automation_type ⇒ Object
77 78 79 |
# File 'lib/scaffolding/scaffolding.rb', line 77 def automation_type ScaffoldProjectDetector.detect_automation end |
#class_name ⇒ Object
— Template helpers (available in .tt files) —
53 54 55 |
# File 'lib/scaffolding/scaffolding.rb', line 53 def class_name NameNormalizer.to_class_name(name) end |
#default_path(standard_path, file_type) ⇒ Object
101 102 103 |
# File 'lib/scaffolding/scaffolding.rb', line 101 def default_path(standard_path, file_type) path ? "#{path}/#{normalized_name}#{file_type}" : standard_path end |
#framework_type ⇒ Object
81 82 83 |
# File 'lib/scaffolding/scaffolding.rb', line 81 def framework_type ScaffoldProjectDetector.detect_framework end |
#generate_component ⇒ Object
42 43 44 |
# File 'lib/scaffolding/scaffolding.rb', line 42 def generate_component template('component.tt', default_path("page_objects/components/#{normalized_name}.rb", '.rb')) end |
#generate_config ⇒ Object
46 47 48 49 |
# File 'lib/scaffolding/scaffolding.rb', line 46 def generate_config template('../../generators/templates/common/config.tt', default_path('config/config.yml', '.yml')) end |
#generate_feature ⇒ Object
26 27 28 |
# File 'lib/scaffolding/scaffolding.rb', line 26 def generate_feature template('feature.tt', default_path("features/#{normalized_name}.feature", '.feature')) end |
#generate_helper ⇒ Object
34 35 36 |
# File 'lib/scaffolding/scaffolding.rb', line 34 def generate_helper template('helper.tt', default_path("helpers/#{normalized_name}_helper.rb", '_helper.rb')) end |
#generate_page ⇒ Object
— Generation methods —
22 23 24 |
# File 'lib/scaffolding/scaffolding.rb', line 22 def generate_page template('page_object.tt', default_path("page_objects/pages/#{normalized_name}.rb", '_page.rb')) end |
#generate_spec ⇒ Object
30 31 32 |
# File 'lib/scaffolding/scaffolding.rb', line 30 def generate_spec template('spec.tt', default_path("spec/#{normalized_name}_page_spec.rb", '_spec.rb')) end |
#generate_steps ⇒ Object
38 39 40 |
# File 'lib/scaffolding/scaffolding.rb', line 38 def generate_steps template('steps.tt', default_path("features/step_definitions/#{normalized_name}_steps.rb", '_steps.rb')) end |
#leaf_name ⇒ Object
73 74 75 |
# File 'lib/scaffolding/scaffolding.rb', line 73 def leaf_name NameNormalizer.leaf_name(name) end |
#module_parts ⇒ Object
69 70 71 |
# File 'lib/scaffolding/scaffolding.rb', line 69 def module_parts NameNormalizer.module_parts(name) end |
#nested? ⇒ Boolean
65 66 67 |
# File 'lib/scaffolding/scaffolding.rb', line 65 def nested? NameNormalizer.nested?(name) end |
#normalized_name ⇒ Object
61 62 63 |
# File 'lib/scaffolding/scaffolding.rb', line 61 def normalized_name NameNormalizer.normalize(name) end |
#page_class_name ⇒ Object
57 58 59 |
# File 'lib/scaffolding/scaffolding.rb', line 57 def page_class_name NameNormalizer.to_page_class(name) end |
#project_config ⇒ Object
85 86 87 |
# File 'lib/scaffolding/scaffolding.rb', line 85 def project_config ScaffoldProjectDetector.config end |
#selenium? ⇒ Boolean
89 90 91 |
# File 'lib/scaffolding/scaffolding.rb', line 89 def selenium? automation_type == 'selenium' end |
#uses_list ⇒ Object
97 98 99 |
# File 'lib/scaffolding/scaffolding.rb', line 97 def uses_list Array(@uses).reject(&:empty?) end |
#watir? ⇒ Boolean
93 94 95 |
# File 'lib/scaffolding/scaffolding.rb', line 93 def watir? automation_type == 'watir' end |