Class: Saber::Task::Generate
- Includes:
- Thor::Actions
- Defined in:
- lib/saber/task/generate.rb
Overview
Generate meta data file.
Usage
Task["generate"].invoke(:generate, ["bib", "ebook", "Hello.epub", isbn])
> generate Hello.epub.yml data file.
Instance Method Summary collapse
Methods inherited from Base
Instance Method Details
#generate(tracker_name, type, filename, *args) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/saber/task/generate.rb', line 17 def generate(tracker_name, type, filename, *args) require "saber/tracker/#{tracker_name}" if !args.empty? template_file = find_in_source_paths("#{tracker_name}/#{type}.yml") dest = "#{filename}.yml" if !args.empty? and Tracker[tracker_name].can_populate?(type) require "yaml" populate = {} data = YAML.load_file(template_file) tracker = Tracker[tracker_name].new tracker.login populate = tracker.populate(type, *args) data.merge!(populate) create_file dest, YAML.dump(data) else copy_file template_file, dest end end |