Sha256: b7728693bba83b37154c7531bb12a88005e744ad655863bbd94027c61592bce7
Contents?: true
Size: 1.48 KB
Versions: 7
Compression:
Stored size: 1.48 KB
Contents
module RSpec::RailsApp::ArtifactFile module Matchers class HaveRailsArtifactFiles extend Rails3::Assist::UseMacro use_helpers :file include ::ArtifactFile::Matcher::Helper def initialize(artifact_type, *names) @names = names extend "Rails3::Assist::Artifact::#{artifact_type.to_s.camelize}".constantize handle_view artifact_type, names @artifact_type = artifact_type end def matches?(root_path, &block) labels = names.to_strings return false if labels.empty? begin labels.each do |name| @artifact_name = name @artifact_name = get_artifact_name return false if !File.file?(artifact_name) end yield if block true rescue false end end end def have_rails_artifact_files(artifact_type, *names) HaveRailsArtifactFiles.new(artifact_type, *names) end alias_method :contain_rails_artifact_files, :have_rails_artifact_files (::Rails3::Assist.artifacts - [:view]).each do |name| class_eval %{ def have_#{name}_files *names have_rails_artifact_files :#{name}, *names end alias_method :contain_#{name}_files, :have_#{name}_files } end def have_view_files *args have_rails_artifact_files :view, *args end alias_method :contain_view_files, :have_view_files end end
Version data entries
7 entries across 7 versions & 1 rubygems