lib/rgversion/terminal.rb in rgversion-0.2.0 vs lib/rgversion/terminal.rb in rgversion-0.2.1

- old
+ new

@@ -1,14 +1,24 @@ module Rgversion - # Terminal operations - module Terminal - def self.copy_to_clipboard - spider = Rgversion::Spider.new(ARGV) - version = spider.output - unless version.empty? - version = version.join("\n") - `echo "#{version}" | pbcopy` - puts "#{version}\n\nCopied to your clipboard!" + class Terminal + def initialize(argv = []) + raise NoArguments, 'No gems passed as arguments.' if argv.length.zero? + @argv = argv + end + + def copy_to_clipboard + data = process_spider + unless data.empty? + output = data.join("\n") + `echo "#{output}" | pbcopy` + puts "#{output}\n\nCopied to your clipboard!" end + end + + private + + def process_spider + spider = Spider.new @argv + spider.output end end end