class Zenite::Dialog

Attributes

dialog_type[R]
height[RW]
opts[R]
status[R]
stderr[R]
stdout[R]
timeout[RW]
width[RW]

Public Class Methods

new() click to toggle source
# File lib/zenite/dialog.rb, line 8
def initialize
  @opts = {}
end

Public Instance Methods

display() click to toggle source
# File lib/zenite/dialog.rb, line 12
def display
  @stdout, @stderr, @status = Open3.capture3(to_cmd)
end
to_cmd() click to toggle source
# File lib/zenite/dialog.rb, line 16
def to_cmd
  "zenity --#{dialog_type} #{dialog_opts}"
end

Protected Instance Methods

dialog_opts() click to toggle source
# File lib/zenite/dialog.rb, line 29
def dialog_opts
  @opts
      .merge(general_opts)
      .map { |opt, val| %{--#{opt.to_s}="#{val}"} }
      .join " "
end
general_opts() click to toggle source
# File lib/zenite/dialog.rb, line 36
def general_opts
  { width: @width,
    height: @height,
    timeout: @timeout
  }.filter { |_, v| !!v }
end
method_missing(method_name, *args, &block) click to toggle source
Calls superclass method
# File lib/zenite/dialog.rb, line 43
def method_missing(method_name, *args, &block)
  if method_name === :text
    @opts[:method_name] = args[0]
  else
    super
  end
end