Module: QB
- Defined in:
- lib/qb/cli.rb,
lib/qb.rb,
lib/qb/path.rb,
lib/qb/role.rb,
lib/qb/util.rb,
lib/qb/errors.rb,
lib/qb/ansible.rb,
lib/qb/cli/run.rb,
lib/qb/options.rb,
lib/qb/package.rb,
lib/qb/version.rb,
lib/qb/cli/help.rb,
lib/qb/cli/play.rb,
lib/qb/repo/git.rb,
lib/qb/cli/setup.rb,
lib/qb/util/stdio.rb,
lib/qb/ansible/env.rb,
lib/qb/role/errors.rb,
lib/qb/util/bundler.rb,
lib/qb/util/interop.rb,
lib/qb/util/resource.rb,
lib/qb/ansible/module.rb,
lib/qb/ansible_module.rb,
lib/qb/options/option.rb,
lib/qb/package/version.rb,
lib/qb/util/docker_mixin.rb,
lib/qb/ansible/config_file.rb,
lib/qb/ansible/cmds/playbook.rb
Overview
Declarations
Defined Under Namespace
Modules: Ansible, CLI, Repo, Util Classes: AnsibleVersionError, Error, FSStateError, Options, Package, Path, QBVersionError, Role, StateError, UserInputError, VersionError
Constant Summary collapse
- ROOT =
(Pathname.new(__FILE__).dirname + '..').
- GEM_ROLES_DIR =
ROOT + 'roles'
- USER_ROLES_DIR =
Pathname.new(ENV['HOME']).join '.ansible', 'roles'
- GEM_NAME =
Constants
'qb'- VERSION =
"0.3.8"- MIN_ANSIBLE_VERSION =
Gem::Version.new '2.1.2'
- AnsibleModule =
QB::Ansible::Module
Class Method Summary collapse
-
.check_ansible_version ⇒ Object
Check that the Ansible version is not less than MIN_ANSIBLE_VERSION.
-
.check_qb_version(role) ⇒ Object
If
rolehas a Role#qb_requirement raise an error if this version of QB doesn't satisfy it. - .debug(*args) ⇒ Object
-
.gem_version ⇒ Gem::Version
Get the Gem::Version parse of VERSION.
-
.gemspec ⇒ Object
Class Methods =====================================================================.
Class Method Details
.check_ansible_version ⇒ Object
Check that the Ansible version is not less than MIN_ANSIBLE_VERSION.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/qb/version.rb', line 35 def self.check_ansible_version out = Cmds.out! 'ansible --version' version_str = out[/ansible\ ([\d\.]+)/, 1] if version_str.nil? raise NRSER.dedent " could not parse ansible version from `ansible --version` output:\n \n \#{ out }\n END\n end\n \n version = Gem::Version.new version_str\n \n if version < QB::MIN_ANSIBLE_VERSION\n raise QB::AnsibleVersionError, NRSER.squish(\n <<-END\n QB \#{ QB::VERSION } requires Ansible \#{ QB::MIN_ANSIBLE_VERSION },\n found version \#{ version_str } at \#{ `which ansible` }\n END\n )\n end\nend\n" |
.check_qb_version(role) ⇒ Object
If role has a QB::Role#qb_requirement raise an error if this version of
QB doesn't satisfy it.
66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/qb/version.rb', line 66 def self.check_qb_version role unless role.qb_requirement.nil? || role.qb_requirement.satisfied_by?(QB.gem_version) raise QB::QBVersionError, NRSER.squish( " Role \#{ role } requires QB \#{ role.qb_requirement }, using QB\n \#{ QB.gem_version } from \#{ QB::ROOT }.\n END\n )\n end\nend\n" |
.debug(*args) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/qb.rb', line 14 def self.debug *args return unless ENV['QB_DEBUG'] && args.length > 0 header = 'DEBUG' if args[0].is_a? String header += " " + args.shift end dumpObj = case args.length when 0 header when 1 {header => args[0]} else {header => args} end # $stderr.puts("DEBUG " + format(msg, values)) $stderr.puts dumpObj.pretty_inspect end |
.gem_version ⇒ Gem::Version
Get the Gem::Version parse of VERSION.
25 26 27 |
# File 'lib/qb/version.rb', line 25 def self.gem_version Gem::Version.new VERSION end |
.gemspec ⇒ Object
Class Methods
16 17 18 |
# File 'lib/qb/version.rb', line 16 def self.gemspec Gem.loaded_specs[GEM_NAME] end |