class Object
Public Instance Methods
get_section(content, level, section)
click to toggle source
# File bin/jocasta, line 37 def get_section(content, level, section) result = nil found = false content.split("\n").each do |line| if /^\#{#{level}}\s*#{section}\s*$/ =~ line result = '' found = true else next unless found break if /^\#{1,#{level}}\s*\w/ =~ line result += "\n" + line end end result end
parse_options(paired_args)
click to toggle source
# File bin/jocasta, line 6 def parse_options(paired_args) options = { args: [] } index = 0 while index < ARGV.length arg = ARGV[index] paired_key = paired_args[arg] if paired_key if index >= ARGV.length - 1 puts "Unable to find a value for the arg: '#{arg}'" exit 1 end options[paired_key] = ARGV[index + 1] index += 1 elsif /--.+/ =~ arg puts 'unknown option: ' + arg else options[:args].push arg end index += 1 end options end
require_args(args, count)
click to toggle source
# File bin/jocasta, line 30 def require_args(args, count) return unless args.length != count puts 'usage: jocasta [input] [output] [level] [section] [...options]' exit 1 end