Class: Avm::Rspec::LauncherController
- Inherits:
-
Object
- Object
- Avm::Rspec::LauncherController
- Defined in:
- lib/avm/rspec/launcher_controller.rb
Instance Attribute Summary collapse
-
#remotes_dir ⇒ Object
Returns the value of attribute remotes_dir.
Instance Method Summary collapse
-
#application_source_path(application_id, path) ⇒ Object
Void.
- #context_set(settings_path, projects_root) ⇒ Object
- #default_settings_path ⇒ Pathname
- #dummy_directory ⇒ Pathname
- #init_git(subdir) ⇒ Object
- #init_remote(name) ⇒ Object
- #new_context ⇒ Avm::Launcher::Context
- #projects_root ⇒ Object
- #projects_root=(path) ⇒ Object
- #temp_context(settings_path) ⇒ Object
- #templates_directory ⇒ Pathname
- #touch_commit(repos, subpath) ⇒ Object
Instance Attribute Details
#remotes_dir ⇒ Object
Returns the value of attribute remotes_dir.
12 13 14 |
# File 'lib/avm/rspec/launcher_controller.rb', line 12 def remotes_dir @remotes_dir end |
Instance Method Details
#application_source_path(application_id, path) ⇒ Object
Returns void.
17 18 19 20 |
# File 'lib/avm/rspec/launcher_controller.rb', line 17 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
24 25 26 27 28 29 30 |
# File 'lib/avm/rspec/launcher_controller.rb', line 24 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_path ⇒ Pathname
33 34 35 |
# File 'lib/avm/rspec/launcher_controller.rb', line 33 def default_settings_path templates_directory.join('settings.yml') end |
#dummy_directory ⇒ Pathname
38 39 40 |
# File 'lib/avm/rspec/launcher_controller.rb', line 38 def dummy_directory templates_directory.join('dummy') end |
#init_git(subdir) ⇒ Object
54 55 56 57 58 59 60 61 |
# File 'lib/avm/rspec/launcher_controller.rb', line 54 def init_git(subdir) require 'avm/git/launcher/base' 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
47 48 49 50 51 52 |
# File 'lib/avm/rspec/launcher_controller.rb', line 47 def init_remote(name) require 'avm/git/launcher/base' r = Avm::Git::Launcher::Base.new(File.join(remotes_dir, name)) r. r end |
#new_context ⇒ Avm::Launcher::Context
64 65 66 67 68 69 |
# File 'lib/avm/rspec/launcher_controller.rb', line 64 def new_context Avm::Launcher::Context.new( settings_file: default_settings_path, cache_root: Dir.mktmpdir ) end |
#projects_root ⇒ Object
72 73 74 |
# File 'lib/avm/rspec/launcher_controller.rb', line 72 def projects_root @projects_root ||= Dir.mktmpdir end |
#projects_root=(path) ⇒ Object
77 78 79 |
# File 'lib/avm/rspec/launcher_controller.rb', line 77 def projects_root=(path) @projects_root = path.to_pathname.to_path end |
#temp_context(settings_path) ⇒ Object
43 44 45 |
# File 'lib/avm/rspec/launcher_controller.rb', line 43 def temp_context(settings_path) context_set(settings_path, Dir.mktmpdir) end |
#templates_directory ⇒ Pathname
82 83 84 |
# File 'lib/avm/rspec/launcher_controller.rb', line 82 def templates_directory '../../../template/avm/rspec/launcher_controller'.to_pathname.(__dir__) end |
#touch_commit(repos, subpath) ⇒ Object
86 87 88 89 90 91 92 |
# File 'lib/avm/rspec/launcher_controller.rb', line 86 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 |