Sha256: 7f3343ade12937280d595cd85216a33d7033f6d8672738da6b54e8d2cc4f57cf

Contents?: true

Size: 795 Bytes

Versions: 5

Compression:

Stored size: 795 Bytes

Contents

module Gossiper
  class Configuration

    class << self
      def attribute(name, default_value = nil)
        define_method name do
          instance_variable_get("@#{name}") || default_value
        end

        define_method "#{name}=" do |value|
          instance_variable_set("@#{name}", value.to_s)
        end
      end
    end

    attribute :notifications_root_folder
    attribute :notifications_test_folder
    attribute :notifications_template_folder
    attribute :default_notification_user_class
    attribute :default_notification_config_class
    attribute :default_from
    attribute :default_cc
    attribute :default_bcc

    def authorize_with(&block)
      if block_given?
        @authorize_with = block
      end
      @authorize_with ||= Proc.new {}
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
gossiper-0.3.4 lib/gossiper/configuration.rb
gossiper-0.3.3 lib/gossiper/configuration.rb
gossiper-0.3.2 lib/gossiper/configuration.rb
gossiper-0.3.1 lib/gossiper/configuration.rb
gossiper-0.3.0 lib/gossiper/configuration.rb