Class: Vx::ServiceConnector::PayloadFilter

Inherits:
Object
  • Object
show all
Defined in:
lib/vx/service_connector/payload_filter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(payload, options = {}) ⇒ PayloadFilter

Returns a new instance of PayloadFilter.



7
8
9
10
# File 'lib/vx/service_connector/payload_filter.rb', line 7

def initialize(payload, options = {})
  @payload = payload
  @options = options
end

Instance Attribute Details

#optionsObject (readonly)

Returns the value of attribute options.



5
6
7
# File 'lib/vx/service_connector/payload_filter.rb', line 5

def options
  @options
end

#payloadObject (readonly)

Returns the value of attribute payload.



5
6
7
# File 'lib/vx/service_connector/payload_filter.rb', line 5

def payload
  @payload
end

Instance Method Details

#branch?Boolean

Returns:

  • (Boolean)


31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/vx/service_connector/payload_filter.rb', line 31

def branch?
  @branch ||= Array(options[:branch]).map do |branch_name|
    branch_name = branch_name.to_s
    if branch_name[0] == "/" && branch_name[-1] == "/"
      begin
        Regexp.new(branch_name).match?(payload.branch)
      rescue RegexpError
        false
      end
    else
      branch_name == payload.branch
    end
  end.any?
end

#perform?Boolean

Returns:

  • (Boolean)


12
13
14
15
16
17
18
19
20
21
# File 'lib/vx/service_connector/payload_filter.rb', line 12

def perform?
  return false if payload.ignore?

  if options.empty?
    not (
      payload.internal_pull_request? ||
      payload.tag?
    )
  end
end

#pull_request?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/vx/service_connector/payload_filter.rb', line 23

def pull_request?
  options[:pull_request] and payload.pull_request?
end

#tag?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/vx/service_connector/payload_filter.rb', line 27

def tag?
  options[:tag] and payload.tag?
end