diff options
author | Nathen Harvey <nharvey@chef.io> | 2016-01-21 12:43:27 -0500 |
---|---|---|
committer | Nathen Harvey <nharvey@chef.io> | 2016-01-21 12:43:27 -0500 |
commit | d85f059458b9c039d01e4cc4d5072f52af97f3b2 (patch) | |
tree | 10ccf7870be734cfe13f7eda35cd81f3ddf2c0c5 /tasks | |
parent | 1e746d158f00859933bf3cd0e2bedc0768c1e727 (diff) | |
download | chef-d85f059458b9c039d01e4cc4d5072f52af97f3b2.tar.gz |
Add CBGB to the repository
Includes rake task to generate markdown from toml
Diffstat (limited to 'tasks')
-rw-r--r-- | tasks/cbgb.rb | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/tasks/cbgb.rb b/tasks/cbgb.rb new file mode 100644 index 0000000000..67457b6bd0 --- /dev/null +++ b/tasks/cbgb.rb @@ -0,0 +1,78 @@ +# +# Author:: Thom May (tmay@chef.io) +# Author:: Nathen Harvey (nharvey@chef.io) +# Copyright:: Copyright (c) 2015-2016, Chef Software, Inc +# License:: Apache License, Version 2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +require 'rake' +require 'tomlrb' + +CBGB_SOURCE = File.join(File.dirname(__FILE__), "..", "CBGB.toml") +CBGB_TARGET = File.join(File.dirname(__FILE__), "..", "CBGB.md") + +task :default => :generate + +namespace :cbgb do + desc "Generate MarkDown version of CBGB file" + task :generate do + cbgb = Tomlrb.load_file CBGB_SOURCE + out = "<!-- This is a generated file. Please do not edit directly -->\n" + out << "<!-- Modify CBGB.toml file and run `rake cbgb:generate` to regenerate -->\n\n" + out << "# " + cbgb["Preamble"]["title"] + "\n\n" + out << cbgb["Preamble"]["text"] + "\n" + out << "# Board of Governers\n\n" + out << "## " + cbgb["Org"]["Lead"]["title"] + "\n\n" + out << person(cbgb["people"], cbgb["Org"]["Lead"]["person"]) + "\n\n" + out << "### " + cbgb["Org"]["Contributors"]["title"] + "\n\n" + out << cbgb(cbgb["people"], cbgb["Org"]["Contributors"]["governers"]) + "\n\n" + out << "### " + cbgb["Org"]["Corporate-Contributors"]["title"] + "\n\n" + out << cbgb(cbgb["corporations"], cbgb["Org"]["Corporate-Contributors"]["governers"]) + "\n\n" + out << "### " + cbgb["Org"]["Lieutenants"]["title"] + "\n\n" + out << cbgb(cbgb["people"], cbgb["Org"]["Lieutenants"]["governers"]) + "\n\n" + File.open(CBGB_TARGET, "w") { |fn| + fn.write out + } + end +end + +def components(list, cmp) + out = "" + cmp.each do |k,v| + out << "\n#### #{v['title'].gsub('#','\\#')}\n" + out << cbgb(list, v['cbgb']) + end + out +end + +def cbgb(list, people) + o = "" + people.each do |p| + o << person(list, p) + "\n" + end + o +end + +def person(list, person) + if list[person].has_key?("GitHub") + out = "* [#{list[person]["Name"]}](https://github.com/#{list[person]["GitHub"]})" + else + out = "* #{list[person]["Name"]}" + end + if list[person].has_key?("Person") + out << " - #{list[person]["Person"]}" + end + out +end |