From be95b7eaa72cd7007bc0fef22d0c3ea4fa3c3553 Mon Sep 17 00:00:00 2001 From: Randy Morgan Date: Tue, 9 Oct 2012 21:50:25 +0900 Subject: extracted accessor methods into module that is scope because polluting Module or Class is just not cool --- lib/axlsx/util/accessors.rb | 26 ++++++++++++++++++++++++++ lib/axlsx/util/module.rb | 18 ------------------ 2 files changed, 26 insertions(+), 18 deletions(-) create mode 100644 lib/axlsx/util/accessors.rb delete mode 100644 lib/axlsx/util/module.rb (limited to 'lib/axlsx/util') diff --git a/lib/axlsx/util/accessors.rb b/lib/axlsx/util/accessors.rb new file mode 100644 index 00000000..3096d9c7 --- /dev/null +++ b/lib/axlsx/util/accessors.rb @@ -0,0 +1,26 @@ +module Axlsx + module Accessors + def self.included(base) + base.send :extend, ClassMethods + end + + module ClassMethods + def string_attr_accessor(*symbols) + validated_attr_accessor(symbols, 'validate_string') + end + + def boolean_attr_accessor(*symbols) + validated_attr_accessor(symbols, 'validate_boolean') + end + + SETTER = "def %s=(value) Axlsx::%s(value); @%s = value; end" + def validated_attr_accessor(symbols, validator) + symbols.each do |symbol| + attr_reader symbol + module_eval(SETTER % [symbol.to_s, validator, symbol.to_s], __FILE__, __LINE__) + end + end + end + end +end + diff --git a/lib/axlsx/util/module.rb b/lib/axlsx/util/module.rb deleted file mode 100644 index 4f3543a0..00000000 --- a/lib/axlsx/util/module.rb +++ /dev/null @@ -1,18 +0,0 @@ -class Module - def string_attr_accessor(*symbols) - validated_attr_accessor(symbols, 'validate_string') - end - - def boolean_attr_accessor(*symbols) - validated_attr_accessor(symbols, 'validate_boolean') - end - - SETTER = "def %s=(value) Axlsx::%s(value); @%s = value; end" - def validated_attr_accessor(symbols, validator) - symbols.each do |symbol| - attr_reader symbol - module_eval(SETTER % [symbol.to_s, validator, symbol.to_s], __FILE__, __LINE__) - end - end - -end -- cgit v1.2.3