Class: Braid::Operations::Proxy
- Inherits:
-
Object
- Object
- Braid::Operations::Proxy
show all
- Includes:
- Singleton
- Defined in:
- lib/braid/operations.rb
Overview
The command proxy is meant to encapsulate commands such as git, that work with subcommands.
Direct Known Subclasses
Git
Class Method Summary
collapse
Instance Method Summary
collapse
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args) ⇒ Object
91
92
93
|
# File 'lib/braid/operations.rb', line 91
def method_missing(name, *args)
invoke(name, *args)
end
|
Class Method Details
.command ⇒ Object
58
59
60
|
# File 'lib/braid/operations.rb', line 58
def self.command;
name.split('::').last.downcase;
end
|
Instance Method Details
#require_version(required) ⇒ Object
68
69
70
71
72
73
74
|
# File 'lib/braid/operations.rb', line 68
def require_version(required)
Gem::Version.new(version) >= Gem::Version.new(required)
end
|
#require_version!(required) ⇒ Object
76
77
78
|
# File 'lib/braid/operations.rb', line 76
def require_version!(required)
require_version(required) || raise(VersionTooLow.new(self.class.command, version, required))
end
|
#version ⇒ Object
63
64
65
66
|
# File 'lib/braid/operations.rb', line 63
def version
status, out, err = exec!("#{self.class.command} --version")
out.sub(/^.* version/, '').strip
end
|