Sha256: e65241685308fb84bbb01adeb8cde936e26efc04d9e5c2f7c46deafc4fe75677
Contents?: true
Size: 1.79 KB
Versions: 3
Compression:
Stored size: 1.79 KB
Contents
# frozen_string_literal: true require 'thor' require 'attractor' module Attractor # contains methods implementing the CLI class CLI < Thor desc 'calc', 'Calculates churn and complexity for all ruby files in current directory' option :file_prefix, aliases: :p option :watch, aliases: :w, type: :boolean def calc if options[:watch] puts 'Listening for file changes...' Attractor::ConsoleReporter.new(file_prefix: options[:file_prefix]).watch else Attractor::ConsoleReporter.new(file_prefix: options[:file_prefix]).report end end desc 'report', 'Generates an HTML report' option :format, aliases: :f, default: 'html' option :file_prefix, aliases: :p option :watch, aliases: :w, type: :boolean def report if options[:watch] puts 'Listening for file changes...' Attractor::HtmlReporter.new(file_prefix: options[:file_prefix]).watch else case options[:format] when 'html' Attractor::HtmlReporter.new(file_prefix: options[:file_prefix]).report else Attractor::HtmlReporter.new(file_prefix: options[:file_prefix]).report end end end desc 'serve', 'Serves the report on localhost' option :format, aliases: :f, default: 'html' option :file_prefix, aliases: :p option :watch, aliases: :w, type: :boolean def serve if options[:watch] puts 'Listening for file changes...' Attractor::RackReporter.new(file_prefix: options[:file_prefix]).watch else case options[:format] when 'html' Attractor::RackReporter.new(file_prefix: options[:file_prefix]).report else Attractor::RackReporter.new(file_prefix: options[:file_prefix]).report end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
attractor-0.3.2 | lib/attractor/cli.rb |
attractor-0.3.1 | lib/attractor/cli.rb |
attractor-0.3.0 | lib/attractor/cli.rb |