Class: MendixBridge::Presenter

Inherits:
Object
  • Object
show all
Defined in:
lib/mendix_bridge/presenter.rb

Class Method Summary collapse

Class Method Details

.search_result(element) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/mendix_bridge/presenter.rb', line 15

def self.search_result(element)
  {
    "name" => element.qualified_name || element.label,
    "type" => element.type,
    "path" => element.path.join(" / ")
  }.compact
end

.summary(element) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/mendix_bridge/presenter.rb', line 5

def self.summary(element)
  details = element.details&.reject { |key, _value| %w[mdl raw].include?(key) }
  {
    "name" => element.qualified_name || element.label,
    "type" => element.type,
    "path" => element.path,
    "details" => details
  }.compact
end

.text(element) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/mendix_bridge/presenter.rb', line 23

def self.text(element)
  result = summary(element)
  lines = [
    "Name: #{result.fetch('name')}",
    "Type: #{result.fetch('type')}",
    "Path: #{element.path.join(' / ')}"
  ]
  details = result["details"]
  lines << "Details:\n#{JSON.pretty_generate(details)}" if details && !details.empty?
  lines.join("\n")
end