Class: Avm::Rspec::LauncherController

Inherits:
Object
  • Object
show all
Defined in:
lib/avm/rspec/launcher_controller.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#remotes_dirObject

Returns the value of attribute remotes_dir.



10
11
12
# File 'lib/avm/rspec/launcher_controller.rb', line 10

def remotes_dir
  @remotes_dir
end

Instance Method Details

#application_source_path(application_id, path) ⇒ Object

Returns void.

Parameters:

  • application_id (String)
  • path (Pathname)

Returns:

  • void



15
16
17
18
# File 'lib/avm/rspec/launcher_controller.rb', line 15

def application_source_path(application_id, path)
  EacConfig::Node.context.current.entry("#{application_id}_dev.install.path").value =
    path.to_pathname.to_path
end

#context_set(settings_path, projects_root) ⇒ Object

Parameters:

  • settings_path (Pathname)
  • projects_root (Pathname)


22
23
24
25
26
27
28
# File 'lib/avm/rspec/launcher_controller.rb', line 22

def context_set(settings_path, projects_root)
  Avm::Launcher::Context.current = Avm::Launcher::Context.new(
    settings_file: settings_path.to_pathname.to_path,
    cache_root: Dir.mktmpdir
  )
  self.projects_root = projects_root
end

#default_settings_pathPathname

Returns:

  • (Pathname)


31
32
33
# File 'lib/avm/rspec/launcher_controller.rb', line 31

def default_settings_path
  templates_directory.join('settings.yml')
end

#dummy_directoryPathname

Returns:

  • (Pathname)


36
37
38
# File 'lib/avm/rspec/launcher_controller.rb', line 36

def dummy_directory
  templates_directory.join('dummy')
end

#init_git(subdir) ⇒ Object



51
52
53
54
55
56
57
# File 'lib/avm/rspec/launcher_controller.rb', line 51

def init_git(subdir)
  r = Avm::Git::Launcher::Base.new(File.join(projects_root, subdir))
  r.git
  r.execute!('config', 'user.email', '[email protected]')
  r.execute!('config', 'user.name', 'The User')
  r
end

#init_remote(name) ⇒ Object



45
46
47
48
49
# File 'lib/avm/rspec/launcher_controller.rb', line 45

def init_remote(name)
  r = Avm::Git::Launcher::Base.new(File.join(remotes_dir, name))
  r.init_bare
  r
end

#new_contextAvm::Launcher::Context



60
61
62
63
64
65
# File 'lib/avm/rspec/launcher_controller.rb', line 60

def new_context
  Avm::Launcher::Context.new(
    settings_file: default_settings_path,
    cache_root: Dir.mktmpdir
  )
end

#projects_rootObject

Parameters:

  • path (String)


68
69
70
# File 'lib/avm/rspec/launcher_controller.rb', line 68

def projects_root
  @projects_root ||= Dir.mktmpdir
end

#projects_root=(path) ⇒ Object

Parameters:

  • path (Pathname)


73
74
75
# File 'lib/avm/rspec/launcher_controller.rb', line 73

def projects_root=(path)
  @projects_root = path.to_pathname.to_path
end

#temp_context(settings_path) ⇒ Object

Parameters:

  • settings_path (Pathname)


41
42
43
# File 'lib/avm/rspec/launcher_controller.rb', line 41

def temp_context(settings_path)
  context_set(settings_path, Dir.mktmpdir)
end

#templates_directoryPathname

Returns:

  • (Pathname)


78
79
80
# File 'lib/avm/rspec/launcher_controller.rb', line 78

def templates_directory
  '../../../template/avm/rspec/launcher_controller'.to_pathname.expand_path(__dir__)
end

#touch_commit(repos, subpath) ⇒ Object



82
83
84
85
86
87
88
# File 'lib/avm/rspec/launcher_controller.rb', line 82

def touch_commit(repos, subpath)
  require 'fileutils'
  FileUtils.mkdir_p(File.dirname(repos.subpath(subpath)))
  FileUtils.touch(repos.subpath(subpath))
  repos.execute!('add', repos.subpath(subpath))
  repos.execute!('commit', '-m', subpath)
end