Sha256: 6f12458e5a1273cac79bbad99e5a981802232fe400465dd6e129e8115d797a86
Contents?: true
Size: 827 Bytes
Versions: 6
Compression:
Stored size: 827 Bytes
Contents
module Shipit class TaskDefinition NotFound = Class.new(StandardError) class << self def load(payload) return unless payload.present? json = JSON.parse(payload) new(json.delete('id'), json) end def dump(definition) return unless definition.present? JSON.dump(definition.as_json) end end attr_reader :id, :action, :description, :steps, :checklist def initialize(id, config) @id = id @action = config['action'] @description = config['description'] || '' @steps = config['steps'] || [] @checklist = config['checklist'] || [] end def as_json { id: id, action: action, description: description, steps: steps, checklist: checklist, } end end end
Version data entries
6 entries across 6 versions & 1 rubygems