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.
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.
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
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_path ⇒ Pathname
31 32 33 |
# File 'lib/avm/rspec/launcher_controller.rb', line 31 def default_settings_path templates_directory.join('settings.yml') end |
#dummy_directory ⇒ 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. r end |
#new_context ⇒ Avm::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_root ⇒ Object
68 69 70 |
# File 'lib/avm/rspec/launcher_controller.rb', line 68 def projects_root @projects_root ||= Dir.mktmpdir end |
#projects_root=(path) ⇒ Object
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
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_directory ⇒ Pathname
78 79 80 |
# File 'lib/avm/rspec/launcher_controller.rb', line 78 def templates_directory '../../../template/avm/rspec/launcher_controller'.to_pathname.(__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 |