lib/retrospec.rb in retrospec-0.1.0 vs lib/retrospec.rb in retrospec-0.2.0
- old
+ new
@@ -1,50 +1,12 @@
-require 'retrospec/plugins'
-require 'retrospec/exceptions'
-require 'retrospec/config'
+require_relative 'retrospec/module'
-module Retrospec
- class Module
- include Retrospec::Plugins
- # module path is the relative or absolute path to the module that we should retrofit
- # opts hash contains additional flags and options that can be user to control the creation of the tests
- # opts[:config_map]
- def initialize(supplied_module_path, opts={})
- # locates the plugin class that can be used with this module directory
- begin
- opts[:name] ||= File.basename(supplied_module_path) # use the name or derive it from the dir name
- plugin_class = find_plugin_type(supplied_module_path, opts[:name])
- # load any save data in the config file
- config_data = Retrospec::Config.config_data(opts[:config_map])
- plugin_data = Retrospec::Config.plugin_context(config_data, plugin_class.send(:plugin_name))
- # merge the passed in options
- plugin_data.merge!(opts)
- # create the instance of the plugin
- plugin = plugin_class.send(:new, supplied_module_path, plugin_data)
- plugin.run
- rescue NoSuitablePluginFoundException
- puts "No gem was found to support this code type, please install a gem that supports this module.".fatal
- end
- end
-
- # finds a suitable plugin given the name of the plugin or via a supported discovery method
- def find_plugin_type(module_path, name=nil)
- if name
- # when the user wants to create a module give the module type
- discover_plugin_by_name(name)
- else
- discover_plugin(module_path)
- end
- end
- end
-end
-
+# monkey patch in some color effects string methods
class String
def red; "\033[31m#{self}\033[0m" end
def green; "\033[32m#{self}\033[0m" end
def cyan; "\033[36m#{self}\033[0m" end
def yellow; "\033[33m#{self}\033[0m" end
def warning; yellow end
def fatal; red end
def info; green end
-end
-
+end
\ No newline at end of file