Sha256: de55696706b64c895a55885878bfe5679c3f6aa83e275c299319f6bfb1dad2c9

Contents?: true

Size: 564 Bytes

Versions: 1

Compression:

Stored size: 564 Bytes

Contents

require 'druthers/support'

module Druthers
  VALID_METHOD_NAME = /\A\w+\z/
  module Def
    def def_druthers(*keys)
      include Support
      keys.each do |ea|
        fail 'key names must be alphanumeric' unless ea.to_s =~ Druthers::VALID_METHOD_NAME
        class_eval <<-RUBY, __FILE__, __LINE__ + 1
          def self.#{ea}=(value)
            self.set_druther(:#{ea}, value)
          end unless respond_to?(:#{ea}=)
          def self.#{ea}
            get_druther(:#{ea})
          end unless respond_to?(:#{ea})
        RUBY
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
druthers-1.0.0 lib/druthers/def.rb