Sha256: 112d75b95684de5bca5316e93af97e092d244d2dd7a3c54150c78c6027e096ba
Contents?: true
Size: 901 Bytes
Versions: 5
Compression:
Stored size: 901 Bytes
Contents
# encoding: utf-8 module Nake module ArgvParsingMixin def extract! self.inject(Hash.new) do |options, argument| case argument when /^--no-([^=]+)$/ # --no-git-repository options[$1.gsub("-", "_").to_sym] = false self.delete(argument) when /^--([^=]+)$/ # --git-repository options[$1.gsub("-", "_").to_sym] = true self.delete(argument) when /^--([^=]+)=([^,]+)$/ # --controller=post key, value = $1, $2 options[key.gsub("-", "_").to_sym] = value.dup self.delete(argument) when /^--([^=]+)=(.+)$/ # --controllers=posts,comments key, value = $1, $2 options[key.gsub("-", "_").to_sym] = value.split(",") self.delete(argument) else # just extract options and ignore others end options end end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
nake-0.0.3 | lib/nake/argv.rb |
nake-0.0.3.pre | lib/nake/argv.rb |
nake-0.0.2 | lib/nake/argv.rb |
nake-0.0.2.pre | lib/nake/argv.rb |
nake-0.0.1 | lib/nake/argv.rb |