Sha256: 1957af2336b48147bdeb842b83a3488dd025e068268e80f8256f825f0c688bc0
Contents?: true
Size: 1.22 KB
Versions: 10
Compression:
Stored size: 1.22 KB
Contents
module Licensee class Rule attr_reader :tag, :label, :description, :group include Licensee::HashHelper HASH_METHODS = %i[tag label description].freeze def initialize(tag: nil, label: nil, description: nil, group: nil) @tag = tag @label = label @description = description @group = group end def inspect "#<Licensee::Rule @tag=\"#{tag}\">" end class << self def all @all ||= raw_rules.map do |group, rules| rules.map do |rule| Rule.new( tag: rule['tag'], label: rule['label'], description: rule['description'], group: group ) end end.flatten end def find_by_tag_and_group(tag, group = nil) Rule.all.find { |r| r.tag == tag && (group.nil? || r.group == group) } end alias find_by_tag find_by_tag_and_group def file_path dir = File.dirname(__FILE__) File.expand_path '../../vendor/choosealicense.com/_data/rules.yml', dir end def raw_rules YAML.safe_load File.read(Rule.file_path) end def groups Rule.raw_rules.keys end end end end
Version data entries
10 entries across 10 versions & 1 rubygems