Sha256: 31e1cad20411df4f72881638335a4b6e99728b6f16cd478e623f6d523be0b8d0

Contents?: true

Size: 827 Bytes

Versions: 7

Compression:

Stored size: 827 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_reply_to
    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

7 entries across 7 versions & 1 rubygems

Version Path
gossiper-0.5.2 lib/gossiper/configuration.rb
gossiper-0.5.1 lib/gossiper/configuration.rb
gossiper-0.5.0 lib/gossiper/configuration.rb
gossiper-0.3.8 lib/gossiper/configuration.rb
gossiper-0.3.7 lib/gossiper/configuration.rb
gossiper-0.3.6 lib/gossiper/configuration.rb
gossiper-0.3.5 lib/gossiper/configuration.rb