Sha256: e044b26b2e1bab10d5ef244abaeef02be6223d1b20ff3f4ab6eb30dc8be083a7

Contents?: true

Size: 554 Bytes

Versions: 8

Compression:

Stored size: 554 Bytes

Contents

module PushToSNS
  class Configuration
    PROC_PROPERTIES = %i(
      read_device_token
      read_source
      read_endpoint_arn
      read_platform_arn
      read_ios_apns
      save_endpoint_arn
    )

    PushToSNS::Configuration::PROC_PROPERTIES.each do |method_name|
      attr_accessor :"#{method_name}_proc"

      define_method(method_name) do |&block|
        public_send(:"#{method_name}_proc=", block)
      end
    end

    def apply(proc_property, *arguments)
      public_send(:"#{proc_property}_proc").call(*arguments)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
push_to_sns-0.6.0 lib/push_to_sns/configuration.rb
push_to_sns-0.5.0 lib/push_to_sns/configuration.rb
push_to_sns-0.4.1 lib/push_to_sns/configuration.rb
push_to_sns-0.4.0 lib/push_to_sns/configuration.rb
push_to_sns-0.3.3 lib/push_to_sns/configuration.rb
push_to_sns-0.3.2 lib/push_to_sns/configuration.rb
push_to_sns-0.3.1 lib/push_to_sns/configuration.rb
push_to_sns-0.3.0 lib/push_to_sns/configuration.rb