Sha256: 405876f176ef2fcaa99f0e84bdea3e3685b4d01d3e639b1e6a96751df512129d

Contents?: true

Size: 746 Bytes

Versions: 1

Compression:

Stored size: 746 Bytes

Contents

require 'securerandom'
require 'kriterion/object'

class Kriterion
  class Section < Kriterion::Object
    attr_accessor :uuid
    attr_accessor :name
    attr_accessor :standard
    attr_accessor :description
    attr_accessor :items
    attr_accessor :sections

    def initialize(data)
      @uuid        = data['uuid'] || SecureRandom.uuid
      @name        = data['name']
      @standard    = data['standard']
      @description = data['description']
      @items       = data['items'] || []
      @sections    = data['sections'] || []
      @parent_type = data['parent_type']
      @parent_uuid = data['parent_uuid']
    end

    def type
      :section
    end

    def compliance
      super([items, sections].flatten)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kriterion-0.0.1 lib/kriterion/section.rb