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