Class: Organize::Project

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

Constant Summary collapse

PREFIX =
File.expand_path('~/Projects')
SHARED_PREFIX =
File.expand_path('~/Dropbox')

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Project

Returns a new instance of Project.



8
9
10
# File 'lib/organize/project.rb', line 8

def initialize(name)
  @name = name
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



4
5
6
# File 'lib/organize/project.rb', line 4

def name
  @name
end

Instance Method Details

#createObject



28
29
30
31
32
33
# File 'lib/organize/project.rb', line 28

def create
  FileUtils.mkdir_p(path)
  FileUtils.mkdir_p(shared_path)
  FileUtils.mkdir_p(project_archive_path)
  FileUtils.ln_s(shared_path, shared_link_path) unless File.exists?(shared_link_path)
end

#pathObject



12
13
14
# File 'lib/organize/project.rb', line 12

def path
  File.join(PREFIX, name)
end

#project_archive_pathObject



24
25
26
# File 'lib/organize/project.rb', line 24

def project_archive_path
  File.join(PREFIX, 'Archive')
end


20
21
22
# File 'lib/organize/project.rb', line 20

def shared_link_path
  File.join(path, 'Shared')
end

#shared_pathObject



16
17
18
# File 'lib/organize/project.rb', line 16

def shared_path
  File.join(SHARED_PREFIX, name)
end