1
0
mirror of https://github.com/github/choosealicense.com synced 2024-07-01 16:13:02 +02:00
choosealicense.com/spec/spec_helper.rb
2015-08-22 15:25:16 -04:00

60 lines
1.1 KiB
Ruby

require 'jekyll'
require 'open-uri'
require 'json'
def config_file
File.expand_path "./_config.yml", source
end
def source
File.expand_path("../", File.dirname(__FILE__))
end
def config
config = Jekyll::Configuration.new.read_config_file config_file
config = Jekyll::Utils.deep_merge_hashes(config, {:source => source})
Jekyll::Utils.deep_merge_hashes(Jekyll::Configuration::DEFAULTS, config)
end
def licenses
site.collections["licenses"].docs.map { |l| l.to_liquid.merge("id" => l.basename(".txt")) }
end
def categories
licenses.map { |l| l["category"] }.compact.uniq
end
def site
$site ||= begin
site = Jekyll::Site.new(config)
site.reset
site.read
site
end
end
def rules
site.data["rules"]
end
def fields
site.data["fields"]
end
def meta
site.data["meta"]
end
def rule?(tag, group)
rules[group].any? { |r| r["tag"] == tag }
end
def spdx_list
url = "https://raw.githubusercontent.com/sindresorhus/spdx-license-list/master/spdx.json"
$spdx ||= JSON.parse(open(url).read)
end
def find_spdx(license)
spdx_list.find { |name, properties| name.downcase == license }
end