Class: ZendeskRails::Configuration
- Inherits:
-
Object
- Object
- ZendeskRails::Configuration
show all
- Defined in:
- lib/zendesk_rails/configuration.rb
Constant Summary
collapse
- DEFAULT_SORTING =
{
sort_by: :created_at,
sort_order: :desc
}
- DEFAULT_USER_ATTRIBUTES =
{
name: :name,
email: :email
}
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of Configuration.
23
24
25
26
27
28
|
# File 'lib/zendesk_rails/configuration.rb', line 23
def initialize(&block)
@zendesk_api_client = ZendeskAPI::Client.new do |config|
@zendesk_api_config = config
yield self
end
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(meth, *args, &block) ⇒ Object
77
78
79
80
81
82
83
|
# File 'lib/zendesk_rails/configuration.rb', line 77
def method_missing(meth, *args, &block)
if @zendesk_api_config.respond_to?(meth)
@zendesk_api_config.send(meth, *args, &block)
else
super
end
end
|
Instance Attribute Details
#app_name ⇒ Object
34
35
36
|
# File 'lib/zendesk_rails/configuration.rb', line 34
def app_name
@app_name || I18n.translate('zendesk.app_name')
end
|
58
59
60
|
# File 'lib/zendesk_rails/configuration.rb', line 58
def
(@comment_list_options || {}).reverse_merge(DEFAULT_SORTING)
end
|
#devise_scope ⇒ Object
30
31
32
|
# File 'lib/zendesk_rails/configuration.rb', line 30
def devise_scope
@current_user_method || :user
end
|
#layout ⇒ Object
Returns the value of attribute layout.
13
14
15
|
# File 'lib/zendesk_rails/configuration.rb', line 13
def layout
@layout
end
|
#test_mode=(value) ⇒ Object
Sets the attribute test_mode
17
18
19
|
# File 'lib/zendesk_rails/configuration.rb', line 17
def test_mode=(value)
@test_mode = value
end
|
#ticket_create_params ⇒ Object
50
51
52
|
# File 'lib/zendesk_rails/configuration.rb', line 50
def ticket_create_params
@ticket_create_params || {}
end
|
#ticket_list_options ⇒ Object
54
55
56
|
# File 'lib/zendesk_rails/configuration.rb', line 54
def ticket_list_options
(@ticket_list_options || {}).reverse_merge(DEFAULT_SORTING)
end
|
38
39
40
|
# File 'lib/zendesk_rails/configuration.rb', line 38
def time_formatter
@time_formatter || ->(time) { "#{time_ago_in_words(time)} ago" }
end
|
#user_attributes ⇒ Object
46
47
48
|
# File 'lib/zendesk_rails/configuration.rb', line 46
def user_attributes
(@user_attributes || {}).reverse_merge(DEFAULT_USER_ATTRIBUTES)
end
|
Instance Method Details
#client ⇒ Object
62
63
64
65
66
67
68
69
70
71
|
# File 'lib/zendesk_rails/configuration.rb', line 62
def client
@client ||= begin
if test_mode?
require 'zendesk_rails/testing'
ZendeskRails::Testing::Client.new
else
@zendesk_api_client
end
end
end
|
#respond_to_missing?(meth) ⇒ Boolean
73
74
75
|
# File 'lib/zendesk_rails/configuration.rb', line 73
def respond_to_missing?(meth, *)
@zendesk_api_config.respond_to?(meth) || super
end
|
#test_mode? ⇒ Boolean
42
43
44
|
# File 'lib/zendesk_rails/configuration.rb', line 42
def test_mode?
@test_mode
end
|