Sha256: c33e7fa0c04bfffb93e60bd5e121559470e3ad16ee88332a12159429c24ed30d
Contents?: true
Size: 1.35 KB
Versions: 2
Compression:
Stored size: 1.35 KB
Contents
require "tset/generators/abstract" require "tset/analyzers/model" require "tset/writers/model_test" require "active_support/inflector" module Tset module Generators # # Generates blank test files in the application # Uses analyzers, translators, and writers to insert appropriate tests into the files. # # @param command [Tset::Commands::Generate] An instance of generate command # class ModelTest < Abstract attr_reader :model_name def initialize(command) super @model_name = name.classify cli.class.source_root(source) end def start assert_model_exists! opts = { model_name: @model_name } case framework when 'rspec' cli.template(source.join('model_spec.rspec.tt'), target.join("spec/models/#{ name }_spec.rb"), opts) when 'minitest' cli.template(source.join('model_test.minitest.tt'), target.join("test/models/#{ name }_test.rb"), opts) end testables = Tset::Analyzers::Model.new(name).start Tset::Writers::ModelTest.new(name, testables, framework).start! end private def assert_model_exists! unless target.join("app/models/#{ name }.rb").exist? raise Tset::Commands::Generate::Error.new("Unknown model: `#{ name }`") end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
tset-0.0.2 | lib/tset/generators/model_test.rb |
tset-0.0.1 | lib/tset/generators/model_test.rb |