class Project
Attributes
directories[RW]
Public Class Methods
accept!(filename)
click to toggle source
# File lib/juxtapose/application/lib/project.rb, line 2 def self.accept!(filename) dir, name = File.split(filename) new_name = File.join(dir, name.sub(/current/, 'accepted')) FileUtils.mv(filename, new_name) diff_file = File.join(dir, name.sub(/current/, 'diff')) if File.exists? diff_file FileUtils.rm(diff_file) end new_name end
new(directories)
click to toggle source
# File lib/juxtapose/application/lib/project.rb, line 15 def initialize(directories) self.directories = Array(directories) end
Public Instance Methods
as_json()
click to toggle source
# File lib/juxtapose/application/lib/project.rb, line 32 def as_json { specs: specs.map(&:as_json) } end
specs()
click to toggle source
# File lib/juxtapose/application/lib/project.rb, line 19 def specs spec_dirs.map do |root, dirs| next if dirs.empty? dirs.map do |dir| Spec.new root, dir end end.compact.flatten end
to_json()
click to toggle source
# File lib/juxtapose/application/lib/project.rb, line 28 def to_json as_json.to_json end
Private Instance Methods
spec_dirs()
click to toggle source
# File lib/juxtapose/application/lib/project.rb, line 39 def spec_dirs dirs = {} directories.each do |directory| dirs[directory] = Dir.glob(File.join(directory, '**/*.png')).map do |file| Dir[File.dirname(file)] end.flatten.uniq end dirs end