class NvimConf::Managers::Mappings

Constants

AVAILABLE_METHODS

Attributes

mappings[R]

Public Class Methods

new(namespace) click to toggle source
# File lib/nvim_conf/managers/mappings.rb, line 10
def initialize(namespace)
  @mappings = []
  @namespace = namespace&.to_s

  validate!
end
section_name() click to toggle source
# File lib/nvim_conf/managers/mappings.rb, line 18
def section_name
  "Mappings"
end

Public Instance Methods

m(binding, action)
Alias for: new
new(binding, action) click to toggle source
# File lib/nvim_conf/managers/mappings.rb, line 49
def new(binding, action)
  raise "No namespace was given for <mappings>" unless @namespace
  raise "No namespace was given for <mappings>" if @namespace.empty?

  store_mapping(
    @namespace, binding, action
  )
end
Also aliased as: m
store?() click to toggle source
# File lib/nvim_conf/managers/mappings.rb, line 29
def store?
  @mappings.any?
end
validate!() click to toggle source
# File lib/nvim_conf/managers/mappings.rb, line 23
def validate!
  return if @namespace.nil? || @namespace.empty?

  raise "Invalid namespace given for <mappings>: #{@namespace}" unless AVAILABLE_METHODS.include?(@namespace)
end

Private Instance Methods

build_mapping(operator, binding, action, params) click to toggle source
# File lib/nvim_conf/managers/mappings.rb, line 68
def build_mapping(operator, binding, action, params)
  Models::Mapping.new(operator, binding, action, **params)
end
store_mapping(operator, binding, action, **params) click to toggle source
# File lib/nvim_conf/managers/mappings.rb, line 62
def store_mapping(operator, binding, action, **params)
  @mappings << build_mapping(
    operator, binding, action, params
  )
end