class Dry::Generators::ValidationGenerator
Public Instance Methods
check_requirements()
click to toggle source
# File lib/generators/dry/validation/validation_generator.rb, line 9 def check_requirements raise 'NAME must be provided' unless file_name.present? end
copy_spec()
click to toggle source
# File lib/generators/dry/validation/validation_generator.rb, line 41 def copy_spec if Dir.exist? File.join(Rails.root, 'spec') spec_path = File.join(SPEC_PATH, 'validations') path = File.join(spec_path, "#{@name}_spec.rb") template 'validation_spec_template.erb', path end end
copy_test()
click to toggle source
# File lib/generators/dry/validation/validation_generator.rb, line 49 def copy_test if Dir.exist? File.join(Rails.root, 'test') test_path = File.join(TEST_PATH, 'validations') path = File.join(test_path, "#{@name}_test.rb") template 'validation_test_template.erb', path end end
copy_validator()
click to toggle source
# File lib/generators/dry/validation/validation_generator.rb, line 36 def copy_validator path = File.join(VALIDATIONS_PATH, "#{@name}.rb") template 'validation_template.erb', path end
process_params()
click to toggle source
- :name, :type, :required
# File lib/generators/dry/validation/validation_generator.rb, line 20 def process_params options['params'].each do |field| fields = field.split(':') required = false type = 'string' if fields.length == 3 required = true fields.pop end type = fields.pop if fields.length == 2 @fields << { name: fields.first, type: type, required: required } end end
set_instance_variables()
click to toggle source
# File lib/generators/dry/validation/validation_generator.rb, line 13 def set_instance_variables @name = file_name.underscore @class_name = "#{@name.camelize}" @fields = [] end