Class: McpServer::HistoryFilter

Inherits:
Data
  • Object
show all
Defined in:
lib/jirametrics/mcp_server.rb

Overview

Bundles the six history + blocked/stalled query parameters that every tool accepts, so they travel as one argument instead of a six-long positional tail through matches_history? and the handlers.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#currently_blockedObject (readonly)

Returns the value of attribute currently_blocked

Returns:

  • (Object)

    the current value of currently_blocked



70
71
72
# File 'lib/jirametrics/mcp_server.rb', line 70

def currently_blocked
  @currently_blocked
end

#currently_stalledObject (readonly)

Returns the value of attribute currently_stalled

Returns:

  • (Object)

    the current value of currently_stalled



70
71
72
# File 'lib/jirametrics/mcp_server.rb', line 70

def currently_stalled
  @currently_stalled
end

#ever_blockedObject (readonly)

Returns the value of attribute ever_blocked

Returns:

  • (Object)

    the current value of ever_blocked



70
71
72
# File 'lib/jirametrics/mcp_server.rb', line 70

def ever_blocked
  @ever_blocked
end

#ever_stalledObject (readonly)

Returns the value of attribute ever_stalled

Returns:

  • (Object)

    the current value of ever_stalled



70
71
72
# File 'lib/jirametrics/mcp_server.rb', line 70

def ever_stalled
  @ever_stalled
end

#history_fieldObject (readonly)

Returns the value of attribute history_field

Returns:

  • (Object)

    the current value of history_field



70
71
72
# File 'lib/jirametrics/mcp_server.rb', line 70

def history_field
  @history_field
end

#history_valueObject (readonly)

Returns the value of attribute history_value

Returns:

  • (Object)

    the current value of history_value



70
71
72
# File 'lib/jirametrics/mcp_server.rb', line 70

def history_value
  @history_value
end

Class Method Details

.from(history_field: nil, history_value: nil, ever_blocked: nil, ever_stalled: nil, currently_blocked: nil, currently_stalled: nil) ⇒ Object



73
74
75
76
77
78
79
80
# File 'lib/jirametrics/mcp_server.rb', line 73

def self.from(history_field: nil, history_value: nil, ever_blocked: nil, ever_stalled: nil,
              currently_blocked: nil, currently_stalled: nil, **)
  new(
    history_field: history_field, history_value: history_value,
    ever_blocked: ever_blocked, ever_stalled: ever_stalled,
    currently_blocked: currently_blocked, currently_stalled: currently_stalled
  )
end

Instance Method Details

#blocked_stalled?Boolean

Returns:

  • (Boolean)


84
# File 'lib/jirametrics/mcp_server.rb', line 84

def blocked_stalled? = !!(ever_blocked || ever_stalled || currently_blocked || currently_stalled)

#history?Boolean

Returns:

  • (Boolean)


82
# File 'lib/jirametrics/mcp_server.rb', line 82

def history? = !!(history_field && history_value)

#matches_change?(changes) ⇒ Boolean

Returns:

  • (Boolean)


86
# File 'lib/jirametrics/mcp_server.rb', line 86

def matches_change?(changes) = changes.any? { |c| c.field == history_field && c.value == history_value }