Sha256: a40cf033ac8e9b6f093d51a9937f207e4129ac45a8ac43a0b3006488b1515615
Contents?: true
Size: 755 Bytes
Versions: 3
Compression:
Stored size: 755 Bytes
Contents
# frozen_string_literal: true module PUNK class Runnable < Settings include Validatable def self.args(*args) PUNK.store.runnable ||= {} return PUNK.store.runnable[name] if PUNK.store.runnable.key?(name) PUNK.store.runnable[name] = args end def method_missing(key, *args, &block) val = super val = val.to_h if val.class == self.class || val.class.instance_of?(self.class) val end def respond_to_missing?(key, *args) # rubocop:disable Lint/UselessMethodDefinition super end private def _init_runnable(kwargs) args = self.class.args || [] load(args.zip(Array.new(args.length, nil)).to_h) load(kwargs.select { |k, _| args.include?(k) }) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
punk-0.0.3 | lib/punk/framework/runnable.rb |
punk-0.0.2 | lib/punk/framework/runnable.rb |
punk-0.0.1 | lib/punk/framework/runnable.rb |