Sha256: e21e5f17660180566affddddbdfdf0b98137860c96b1f2b55ff28b7a12aff026
Contents?: true
Size: 1.76 KB
Versions: 1
Compression:
Stored size: 1.76 KB
Contents
module Teabag class Suite attr_accessor :config, :name delegate :stylesheets, :helper, to: :config def initialize(options = {}) @options = options @name = (@options[:suite] || :default).to_s @config = suite_configuration end def javascripts [core_javascripts, spec_javascripts].flatten end def core_javascripts config.javascripts end def spec_javascripts [helper, specs].flatten end def suites {all: Teabag.configuration.suites.keys, active: name} end def spec_files glob.map { |file| {path: file, name: asset_from_file(file)} } end def link(params = {}) query = "?#{params.to_query}" if params.present? [Teabag.configuration.mount_at, name, query].compact.join("/") end protected def specs files = specs_from_file return files unless files.empty? glob.map { |file| asset_from_file(file) } end def glob Dir[config.matcher.present? ? Teabag.configuration.root.join(config.matcher) : ""] end def suite_configuration config = Teabag.configuration.suites[name] raise Teabag::UnknownSuite unless config.present? Teabag::Configuration::Suite.new(&config) end def specs_from_file Array(@options[:file]).map do |filename| asset_from_file(File.expand_path(Teabag.configuration.root.join(filename))) end end def asset_from_file(original) filename = original Rails.application.config.assets.paths.each do |path| filename = filename.gsub(%r(^#{path}[\/|\\]), "") end raise Teabag::AssetNotServable, "#{filename} is not within an asset path" if filename == original filename.gsub(/(\.js\.coffee|\.coffee)$/, ".js") end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
teabag-0.5.2 | lib/teabag/suite.rb |