Class: Canpe::RepositoryOperationContext

Inherits:
Object
  • Object
show all
Defined in:
lib/canpe/repository_operation_context.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(repository_operation, root_directory = nil) ⇒ RepositoryOperationContext

Returns a new instance of RepositoryOperationContext.



5
6
7
8
# File 'lib/canpe/repository_operation_context.rb', line 5

def initialize(repository_operation, root_directory = nil)
  @repository_operation = repository_operation
  @root_directory = root_directory
end

Instance Attribute Details

#repository_operationObject

Returns the value of attribute repository_operation.



3
4
5
# File 'lib/canpe/repository_operation_context.rb', line 3

def repository_operation
  @repository_operation
end

#root_directoryObject

Returns the value of attribute root_directory.



3
4
5
# File 'lib/canpe/repository_operation_context.rb', line 3

def root_directory
  @root_directory
end

Instance Method Details

#destination_file_path(path) ⇒ Object



43
44
45
# File 'lib/canpe/repository_operation_context.rb', line 43

def destination_file_path(path)
  repository_operation.renderer.render_string(File.join(destination_root, path))
end

#destination_rootObject



35
36
37
# File 'lib/canpe/repository_operation_context.rb', line 35

def destination_root
  root_directory
end

#prepare(options) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/canpe/repository_operation_context.rb', line 14

def prepare(options)
  working_directory = options[:working_directory]

  if working_directory.nil?
    print "working directory (#{Dir.pwd}) ? "
    working_directory = STDIN.gets.chomp
  end

  if working_directory.blank?
    working_directory = Dir.pwd
  elsif !File.directory?(working_directory)
    raise FileManipulation::NotDirectoryError, "#{working_directory} is not a directory."
  end

  @root_directory = working_directory
end

#repositoryObject



10
11
12
# File 'lib/canpe/repository_operation_context.rb', line 10

def repository
  repository_operation.repository
end

#source_file_path(path) ⇒ Object



39
40
41
# File 'lib/canpe/repository_operation_context.rb', line 39

def source_file_path(path)
  File.join(source_root, path)
end

#source_rootObject



31
32
33
# File 'lib/canpe/repository_operation_context.rb', line 31

def source_root
  repository.templates_url
end