class NvimConf::Generators::Plugins::Code::Paq

Constants

COMMAND_ALIAS

Public Class Methods

new(plugin) click to toggle source
# File lib/nvim_conf/generators/code/plugins/paq.rb, line 10
def initialize(plugin)
  @plugin = plugin
end

Public Instance Methods

generate() click to toggle source
# File lib/nvim_conf/generators/code/plugins/paq.rb, line 14
def generate
  (args? ? "{#{command_call}}" : command_call) + ";"
end

Private Instance Methods

args?() click to toggle source
# File lib/nvim_conf/generators/code/plugins/paq.rb, line 48
def args?
  @plugin.class.optional_arguments.map do |argument|
    @plugin.send(argument)
  end.any? { |argument| !argument.nil? }
end
command_arguments() click to toggle source
# File lib/nvim_conf/generators/code/plugins/paq.rb, line 31
def command_arguments
  @plugin.class.optional_arguments.map do |argument|
    next if @plugin.send(argument).nil?

    [
      COMMAND_ALIAS[argument] || argument,
      escape_value(@plugin.send(argument))
    ].join(" = ")
  end.compact
end
command_call() click to toggle source
# File lib/nvim_conf/generators/code/plugins/paq.rb, line 20
def command_call
  [
    plugin_name,
    *command_arguments
  ].compact.join(", ")
end
escape_value(value) click to toggle source
# File lib/nvim_conf/generators/code/plugins/paq.rb, line 42
def escape_value(value)
  return value unless value.is_a?(String)

  "'#{value}'"
end
plugin_name() click to toggle source
# File lib/nvim_conf/generators/code/plugins/paq.rb, line 27
def plugin_name
  "'#{@plugin.name}'"
end