class RailsZen::WriteToSpec

Public Instance Methods

adding_to_file!(output) click to toggle source
# File lib/rails_zen/write_to_files/write_to_spec.rb, line 19
def adding_to_file!(output)
  inject_into_file(file_name, "  #{output}\n", after: "RSpec.describe #{@model_name.capitalize}, type: :model do\n" )
end
write!() click to toggle source
# File lib/rails_zen/write_to_files/write_to_spec.rb, line 8
def write!
  if @validator
    unless File.foreach("spec/models/#{@model_name}_spec.rb").grep(factory_girl_match).any?
      adding_to_file!(factory_method)
    end
    adding_to_file!(send(@validator))

  end

  adding_to_file!(send(@type_based_validator)) if @type_based_validator
end

Private Instance Methods

factory_girl_match() click to toggle source
# File lib/rails_zen/write_to_files/write_to_spec.rb, line 24
def factory_girl_match
  Regexp.new("FactoryGirl.create(:#{@model_name})")
end
factory_method() click to toggle source
# File lib/rails_zen/write_to_files/write_to_spec.rb, line 27
def factory_method
  "let(:#{@model_name}) { FactoryGirl.create(:#{@model_name}) }"
end
file_name() click to toggle source
# File lib/rails_zen/write_to_files/write_to_spec.rb, line 31
def file_name
  "spec/models/#{@model_name}_spec.rb"
end
validates_presence_of() click to toggle source
# File lib/rails_zen/write_to_files/write_to_spec.rb, line 35
def validates_presence_of
  "it { #{@model_name}; is_expected.to validate_presence_of(:#{name})}"
end
validates_uniqueness_of() click to toggle source
# File lib/rails_zen/write_to_files/write_to_spec.rb, line 38
def validates_uniqueness_of
  "it { #{@model_name}; is_expected.to validate_uniqueness_of(:#{name})}"
end
validates_uniqueness_scoped_to() click to toggle source
# File lib/rails_zen/write_to_files/write_to_spec.rb, line 41
def validates_uniqueness_scoped_to
  "it { #{@model_name}; is_expected.to validate_uniqueness_of(:#{scope_attr[0]}).scoped_to(#{resolve_scope})}"
end