Sha256: 49e2d68ea62d555c56fdb36e606505e583d0fd960ef57b6e6bcabe722d85aaf0
Contents?: true
Size: 1.62 KB
Versions: 1
Compression:
Stored size: 1.62 KB
Contents
require 'kriterion/object' class Kriterion class Standard < Kriterion::Object @@standards = [] attr_accessor :uuid attr_accessor :name attr_accessor :date attr_accessor :description attr_accessor :title attr_accessor :version attr_accessor :item_syntax attr_accessor :section_separator attr_accessor :sections attr_accessor :items def initialize(data) @uuid = data['uuid'] || SecureRandom.uuid @name = data['name'] @date = data['date'] @description = data['description'] @title = data['title'] @version = data['version'] @item_syntax = if data['item_syntax'].is_a? Regexp data['item_syntax'] else Regexp.new(data['item_syntax']) end @section_separator = data['section_separator'] @sections = data['sections'] || [] @items = data['items'] || [] end def self.get(name) # Reload all standards Kriterion::Standard.reload_all! results = @@standards.select { |s| s.name == name } case results.length when 0 raise "No standards found with name: #{name}" when 1 results.first else raise "Multiple standards found with #{name}" end end def self.reload_all! backend = Kriterion::Backend.get @@standards = backend.standards end def type :standard 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/standard.rb |