class Rundeck::Project::ResourceQueryBuilder

Attributes

precedence[RW]

Public Class Methods

exclude_name(f) click to toggle source
# File lib/rundeck-ruby/project.rb, line 50
def self.exclude_name(f)
  "exclude_#{f}".to_sym
end
fields() click to toggle source
# File lib/rundeck-ruby/project.rb, line 46
def self.fields
  [:name, :hostname, :tags, :os_arch, :os_family, :os_name, :os_version]
end

Public Instance Methods

clause(field) click to toggle source
# File lib/rundeck-ruby/project.rb, line 60
def clause(field)
  val = send(field)
  return nil unless val
  name = field.to_s.gsub('_', '-')
  "#{name}=#{val}"
end
query() click to toggle source
# File lib/rundeck-ruby/project.rb, line 67
def query
  clauses = self.class.fields.map do |f|
    [
      clause(f),
      clause(self.class.exclude_name(f))
    ]
  end

  clauses << "exclude-precedence=#{precedence==:exclude ? true : false}" if precedence
  clauses.flatten.compact.join('&')
end