From cdb3352b4ee3c6d46564b16e9eae1afd588d8255 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Tue, 31 Dec 2013 13:10:00 -0500 Subject: [PATCH] remove module monkey-patching; add Builder#name() --- lib/rscons.rb | 1 - lib/rscons/builder.rb | 6 ++++++ lib/rscons/environment.rb | 2 +- lib/rscons/monkey/module.rb | 7 ------- spec/rscons/monkey/module_spec.rb | 6 ------ 5 files changed, 7 insertions(+), 15 deletions(-) delete mode 100644 lib/rscons/monkey/module.rb delete mode 100644 spec/rscons/monkey/module_spec.rb diff --git a/lib/rscons.rb b/lib/rscons.rb index f7482e4..cd66050 100644 --- a/lib/rscons.rb +++ b/lib/rscons.rb @@ -4,7 +4,6 @@ require "rscons/environment" require "rscons/varset" require "rscons/version" -require "rscons/monkey/module" require "rscons/monkey/string" # default builders diff --git a/lib/rscons/builder.rb b/lib/rscons/builder.rb index c22d2b5..de0de33 100644 --- a/lib/rscons/builder.rb +++ b/lib/rscons/builder.rb @@ -3,6 +3,12 @@ require "fileutils" module Rscons # Class to hold an object that knows how to build a certain type of file. class Builder + # Return the name of the builder. + # If not overridden this defaults to the last component of the class name. + def name + self.class.name.split(":").last + end + # Return a set of default variable values for the Environment to use # unless the user overrides any. # @param env [Environment] The Environment. diff --git a/lib/rscons/environment.rb b/lib/rscons/environment.rb index edb6dc6..92e2d2e 100644 --- a/lib/rscons/environment.rb +++ b/lib/rscons/environment.rb @@ -76,7 +76,7 @@ module Rscons # Add a {Builder} object to the Environment. def add_builder(builder) - @builders[builder.class.short_name] = builder + @builders[builder.name] = builder var_defs = builder.default_variables(self) if var_defs var_defs.each_pair do |var, val| diff --git a/lib/rscons/monkey/module.rb b/lib/rscons/monkey/module.rb deleted file mode 100644 index 36ce59e..0000000 --- a/lib/rscons/monkey/module.rb +++ /dev/null @@ -1,7 +0,0 @@ -# Standard Ruby Module class. -class Module - # @return the base module name (not the fully qualified name) - def short_name - name.split(':').last - end -end diff --git a/spec/rscons/monkey/module_spec.rb b/spec/rscons/monkey/module_spec.rb deleted file mode 100644 index 2585aa5..0000000 --- a/spec/rscons/monkey/module_spec.rb +++ /dev/null @@ -1,6 +0,0 @@ -describe "Module#short_name" do - it "returns the inner name of the module" do - Rscons::Environment.short_name.should == "Environment" - Rscons::Object.short_name.should == "Object" - end -end