Class: Ruby::Merge::Provider

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby/merge/provider.rb,
sig/ruby/merge.rbs

Overview

Ruby workflow selector delegating source-preserving operations to Prism.

Constant Summary collapse

BACKEND =
:prism
DELEGATED_PROVIDER_ID =
'ruby.ruby.prism'
DEFAULT_PROFILE =
:source_preserving

Instance Method Summary collapse

Instance Method Details

#analyzeHash[Symbol, untyped]

Parameters:

  • request (Hash[Symbol, untyped])

Returns:

  • (Hash[Symbol, untyped])


7
# File 'sig/ruby/merge.rbs', line 7

def analyze: (Hash[Symbol, untyped] request) -> Hash[Symbol, untyped]

#capabilitiesHash[Symbol, untyped]

Returns:

  • (Hash[Symbol, untyped])


15
16
17
18
19
20
21
22
23
24
# File 'lib/ruby/merge/provider.rb', line 15

def capabilities
  {
    operations: Ast::Merge::ProviderContract::OPERATIONS,
    dialects: %i[ruby],
    backends: [BACKEND],
    profiles: [DEFAULT_PROFILE],
    role: :workflow,
    source_preservation: Prism::Merge.merge_provider.capabilities.fetch(:source_preservation)
  }.freeze
end

#diff2Hash[Symbol, untyped]

Parameters:

  • request (Hash[Symbol, untyped])

Returns:

  • (Hash[Symbol, untyped])


8
# File 'sig/ruby/merge.rbs', line 8

def diff2: (Hash[Symbol, untyped] request) -> Hash[Symbol, untyped]

#familyString

Returns:

  • (String)


13
# File 'lib/ruby/merge/provider.rb', line 13

def family = 'ruby'

#merge2Hash[Symbol, untyped]

Parameters:

  • request (Hash[Symbol, untyped])

Returns:

  • (Hash[Symbol, untyped])


9
# File 'sig/ruby/merge.rbs', line 9

def merge2: (Hash[Symbol, untyped] request) -> Hash[Symbol, untyped]

#merge3Hash[Symbol, untyped]

Parameters:

  • request (Hash[Symbol, untyped])

Returns:

  • (Hash[Symbol, untyped])


10
# File 'sig/ruby/merge.rbs', line 10

def merge3: (Hash[Symbol, untyped] request) -> Hash[Symbol, untyped]

#provider_idString

Returns:

  • (String)


12
# File 'lib/ruby/merge/provider.rb', line 12

def provider_id = 'ruby.ruby'