Class: ActiveNotifier::Configurable::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/active_notifier/configurable.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#const_nameObject

Alias const for ActiveNotifier



27
28
29
# File 'lib/active_notifier/configurable.rb', line 27

def const_name
  @const_name
end

Instance Method Details

#adapterObject

Message Adapter



44
45
46
# File 'lib/active_notifier/configurable.rb', line 44

def adapter
  @adapter || :dingtalk
end

#adapter=(adapter) ⇒ Object

Set message Adapter

Parameters:

  • adapter (#to_sym)

    (:dingtalk)



50
51
52
53
54
55
56
# File 'lib/active_notifier/configurable.rb', line 50

def adapter=(adapter)
  adapter = adapter.to_sym
  unless adapters_with_base_url.key?(adapter)
    raise ActiveNotifier::ConfigureError, "adapter only support: #{adapters_with_base_url.keys.join(', ')}"
  end
  @adapter = adapter
end

#adapters_with_base_urlObject

The adapters and its base url



101
102
103
104
105
# File 'lib/active_notifier/configurable.rb', line 101

def adapters_with_base_url
  @adapters_with_base_url ||= {
    dingtalk: "https://oapi.dingtalk.com/robot/send?access_token="
  }
end

#channel_tokensObject

The tokens of channel



59
60
61
# File 'lib/active_notifier/configurable.rb', line 59

def channel_tokens
  @channel_tokens || {}
end

#channel_tokens=(channel_tokens) ⇒ Object

Set the tokens of channel

Examples:

ActiveNotifier.config.channel_tokens = {
  default: "xxx",
  order: "xxx"
}

Parameters:

  • channel_tokens (Hash)

    ({})



70
71
72
73
# File 'lib/active_notifier/configurable.rb', line 70

def channel_tokens=(channel_tokens)
  channel_tokens = channel_tokens.to_h.symbolize_keys
  @channel_tokens = channel_tokens
end

#priority_typeObject

The priority type for message, if notifier execute without type option and there are multiple valid types, then ActiveNotifier will use the template with this type first



90
91
92
# File 'lib/active_notifier/configurable.rb', line 90

def priority_type
  @priority_type || :markdown
end

#priority_type=(priority_type) ⇒ Object

Set the priority type

Parameters:

  • priority_type (#to_sym)

    (:markdown)



96
97
98
# File 'lib/active_notifier/configurable.rb', line 96

def priority_type=(priority_type)
  @priority_type = priority_type.to_sym
end

#template_homeObject

The template home directory



76
77
78
# File 'lib/active_notifier/configurable.rb', line 76

def template_home
  @template_home || "#{File.expand_path(__dir__)}/templates"
end

#template_home=(template_home) ⇒ Object

Set the template home directory

Parameters:

  • template_home (String)

    (lib/active_notifier/templates)

Raises:



82
83
84
85
86
# File 'lib/active_notifier/configurable.rb', line 82

def template_home=(template_home)
  template_home = template_home.to_s
  raise ActiveNotifier::ConfigureError, "template_home value can't be blank" if template_home.empty?
  @template_home = template_home
end