class MixReader::People

Constants

JQL_SCRIPT_CLASS
JQL_SCRIPT_FILTER
JQL_SCRIPT_MAIN
JQL_SCRIPT_PARAMS

Public Instance Methods

build_script() click to toggle source
# File lib/mix_reader/people.rb, line 8
def build_script
  params = ""
  query_string = JQL_SCRIPT_CLASS

  if filters.any?
    query_string += JQL_SCRIPT_FILTER.sub("FILTER_STRING", filter_string)
    params = JQL_SCRIPT_PARAMS.sub("PARAMS_HASH", filters.to_json)
  end
  @script = JQL_SCRIPT_MAIN.sub("SCRIPT_QUERY", query_string).sub("PARAMS", params)
end
filter_string() click to toggle source
# File lib/mix_reader/people.rb, line 19
def filter_string
  return "" unless filters.any?

  equal_filters = filters.clone

  predicates =  equal_filters
                 .map{ |k, v| "entity.properties.#{m_key(k.to_s)} == params.#{k}" }

  predicates.join("&&") + ";"
end