class Gemrat::Arguments
Constants
- ATTRIBUTES
Attributes
arguments[RW]
Public Class Methods
new(*args)
click to toggle source
# File lib/gemrat/arguments.rb, line 10 def initialize(*args) self.arguments = *args parse_options end
Public Instance Methods
gems()
click to toggle source
# File lib/gemrat/arguments.rb, line 17 def gems gem_names.map do |name| gem = Gem.new gem.name = name gem end end
Private Instance Methods
gem_names()
click to toggle source
# File lib/gemrat/arguments.rb, line 86 def gem_names arguments.take_while { |arg| arg !~ /^-|^--/} end
parse_options()
click to toggle source
# File lib/gemrat/arguments.rb, line 36 def parse_options self.options = OpenStruct.new options.gemfile = "Gemfile" opt_parser = OptionParser.new do |opts| opts.banner = Messages::USAGE opts.on("-g", "--gemfile GEMFILE", "# Specify the Gemfile to be used, defaults to 'Gemfile'") do |gemfile| options.gemfile = gemfile end opts.on("--no-install", "# Skip executing bundle after adding the gem.") do options.no_install = true end opts.on("--no-version", "# Do not add a version to the gemfile.") do options.no_version = true end opts.on("-p", "--pessimistic", "# Add gem with a pessimistic operator (~>)") do options.version_constraint = "pessimistic" end opts.on("-o", "--optimistic", "# Add gem with an optimistic operator (>=)") do options.version_constraint = "optimistic" end opts.on_tail("-h", "--help", "# Print these usage instructions.") do puts opts raise PrintHelp end opts.on("-v", "--version", "# Show current gemrat version.") do puts Gemrat::VERSION raise PrintHelp end end begin opt_parser.parse!(arguments) rescue OptionParser::InvalidOption puts opt_parser raise PrintHelp end validate(opt_parser) self.gemfile = Gemfile.new(options.gemfile) end
validate(opt_parser)
click to toggle source
# File lib/gemrat/arguments.rb, line 29 def validate(opt_parser) if gem_names.empty? || gem_names.first.nil? puts opt_parser.help raise PrintHelp end end