module SpecProducer::Producers::Base
Attributes
builder[R]
type[R]
Public Class Methods
new(type)
click to toggle source
# File lib/spec_producer/producers/base.rb, line 73 def initialize(type) @type = type @builder = RspecBuilders::Base.new end
prepended(base)
click to toggle source
# File lib/spec_producer/producers/base.rb, line 66 def self.prepended(base) base.extend(ClassMethods) end
Public Instance Methods
call()
click to toggle source
Calls superclass method
# File lib/spec_producer/producers/base.rb, line 78 def call raise(NotImplementedError.new('Abstract method.')) unless defined?(super) warn "No resources available" if resources.empty? resources.each do |resource| builder.build do |b| b.write(helper_spec_file) b.spec resource.name, resource.type do |b| super(resource) end end # Footer / Fils Close etc if resource.type == 'routing' Utils::FileUtils.try_to_create_spec_file(resource.type, "#{resource.name}_routing", builder) else Utils::FileUtils.try_to_create_spec_file(resource.type.pluralize, resource.name.underscore, builder) end builder.flush! end self rescue StandardError => e handle_exception(e) end
resources()
click to toggle source
@Abstract method
Calls superclass method
# File lib/spec_producer/producers/base.rb, line 106 def resources raise(NotImplementedError.new('Abstract method.')) unless defined?(super) super end
Private Instance Methods
handle_exception(e)
click to toggle source
# File lib/spec_producer/producers/base.rb, line 115 def handle_exception(e) raise e if SpecProducer.configuration.raise_errors puts "Exception '#{e}' was raised. Skipping model specs production.".colorize(:red) end
helper_spec_file()
click to toggle source
# File lib/spec_producer/producers/base.rb, line 120 def helper_spec_file "require \'#{require_helper_string}\'\n" end
rspec_describe(klass, type)
click to toggle source
# File lib/spec_producer/producers/base.rb, line 124 def rspec_describe(klass, type) "describe #{klass}, :type => :#{type} do" end