Class: Project

Inherits:
Object
  • Object
show all
Defined in:
lib/juxtapose/application/lib/project.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(directories) ⇒ Project

Returns a new instance of Project.



15
16
17
# File 'lib/juxtapose/application/lib/project.rb', line 15

def initialize(directories)
  self.directories = Array(directories)
end

Instance Attribute Details

#directoriesObject

Returns the value of attribute directories.



14
15
16
# File 'lib/juxtapose/application/lib/project.rb', line 14

def directories
  @directories
end

Class Method Details

.accept!(filename) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
# 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

Instance Method Details

#as_jsonObject



32
33
34
35
36
# File 'lib/juxtapose/application/lib/project.rb', line 32

def as_json
  {
    specs: specs.map(&:as_json)
  }
end

#specsObject



19
20
21
22
23
24
25
26
# 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_jsonObject



28
29
30
# File 'lib/juxtapose/application/lib/project.rb', line 28

def to_json
  as_json.to_json
end