class MutationGenerator

Public Instance Methods

create_mutation_file() click to toggle source
# File lib/generators/mutation/mutation_generator.rb, line 10
def create_mutation_file
  mutation_dir_path = 'app/mutations'
  generator_path = mutation_dir_path + "/#{file_name}.rb"

  Dir.mkdir(mutation_dir_path) unless File.exist?(mutation_dir_path)

  set_local_assigns!

  template 'mutation.erb', generator_path

  # Create spec if application uses specs
  spec_mutation_dir_path = 'spec/mutations/'
  spec_generator_path = spec_mutation_dir_path + "/#{file_name}_spec.rb"

  Dir.mkdir(spec_mutation_dir_path) if Dir.exist?('spec') && !File.exist?(spec_mutation_dir_path) 
  template 'mutation_spec.erb', spec_generator_path if Dir.exist?('spec')
end
set_local_assigns!() click to toggle source
# File lib/generators/mutation/mutation_generator.rb, line 28
def set_local_assigns!
  ins = inputs.clone
  attributes = ins.map { |i| GeneratedAttribute.parse(i) }
  @required = attributes.select { |a| a.input_type == 'required' }
  @optional = attributes.select { |a| a.input_type == 'optional' }
  @klass_name = file_name.camelize
end