Class: Kaal::Definition::Registry

Inherits:
Object
  • Object
show all
Defined in:
lib/kaal/definition/registry.rb,
sig/kaal/definition/registry.rbs

Overview

Base abstraction for cron definition storage.

Instance Method Summary collapse

Instance Method Details

#all_definitions ⇒ Kaal::rbs_any

Returns:

  • (Kaal::rbs_any)

Raises:

  • (NotImplementedError)


46
47
48
# File 'lib/kaal/definition/registry.rb', line 46

def all_definitions
  raise NotImplementedError, "#{self.class.name} must implement #all_definitions"
end

#disable_definition(key) ⇒ Kaal::rbs_any

Parameters:

  • key (Kaal::rbs_any)

Returns:

  • (Kaal::rbs_any)


58
59
60
# File 'lib/kaal/definition/registry.rb', line 58

def disable_definition(key)
  update_definition_enabled_state(key, enabled: false)
end

#enable_definition(key) ⇒ Kaal::rbs_any

Parameters:

  • key (Kaal::rbs_any)

Returns:

  • (Kaal::rbs_any)


54
55
56
# File 'lib/kaal/definition/registry.rb', line 54

def enable_definition(key)
  update_definition_enabled_state(key, enabled: true)
end

#enabled_definitions ⇒ Kaal::rbs_any

Returns:

  • (Kaal::rbs_any)


50
51
52
# File 'lib/kaal/definition/registry.rb', line 50

def enabled_definitions
  all_definitions.select { |definition| definition[:enabled] }
end

#find_definition(_key) ⇒ Kaal::rbs_any

Parameters:

  • _key (Kaal::rbs_any)

Returns:

  • (Kaal::rbs_any)

Raises:

  • (NotImplementedError)


42
43
44
# File 'lib/kaal/definition/registry.rb', line 42

def find_definition(_key)
  raise NotImplementedError, "#{self.class.name} must implement #find_definition"
end

#remove_definition(_key) ⇒ Kaal::rbs_any

Parameters:

  • _key (Kaal::rbs_any)

Returns:

  • (Kaal::rbs_any)

Raises:

  • (NotImplementedError)


38
39
40
# File 'lib/kaal/definition/registry.rb', line 38

def remove_definition(_key)
  raise NotImplementedError, "#{self.class.name} must implement #remove_definition"
end

#update_definition_enabled_state(key, enabled:) ⇒ nil, Kaal::rbs_any

Parameters:

  • key (Kaal::rbs_any)
  • enabled: (Kaal::rbs_any)

Returns:

  • (nil, Kaal::rbs_any)


64
65
66
67
68
69
70
# File 'lib/kaal/definition/registry.rb', line 64

def update_definition_enabled_state(key, enabled:)
  definition = find_definition(key)
  return nil unless definition

  attributes = AttributeHelpers.definition_attributes(definition).merge(enabled: enabled)
  upsert_definition(**attributes)
end

#upsert_definition ⇒ Kaal::rbs_any

Parameters:

  • (Kaal::rbs_any)

Returns:

  • (Kaal::rbs_any)

Raises:

  • (NotImplementedError)


34
35
36
# File 'lib/kaal/definition/registry.rb', line 34

def upsert_definition(**)
  raise NotImplementedError, "#{self.class.name} must implement #upsert_definition"
end