Class: SharingTags::Configuration
- Inherits:
-
Object
- Object
- SharingTags::Configuration
show all
- Defined in:
- lib/sharing_tags/configuration.rb
Defined Under Namespace
Classes: Error
Constant Summary
collapse
- NETWORKS =
%i( google facebook twitter )
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of Configuration.
12
13
14
|
# File 'lib/sharing_tags/configuration.rb', line 12
def initialize
clear!
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name, *arguments, &block) ⇒ Object
86
87
88
|
# File 'lib/sharing_tags/configuration.rb', line 86
def method_missing(method_name, *arguments, &block)
current_context.send(method_name, *arguments, &block)
end
|
Instance Attribute Details
#asset_finder ⇒ Object
Returns the value of attribute asset_finder.
7
8
9
|
# File 'lib/sharing_tags/configuration.rb', line 7
def asset_finder
@asset_finder
end
|
#default_context ⇒ Object
Returns the value of attribute default_context.
6
7
8
|
# File 'lib/sharing_tags/configuration.rb', line 6
def default_context
@default_context
end
|
#running_context ⇒ Object
Returns the value of attribute running_context.
5
6
7
|
# File 'lib/sharing_tags/configuration.rb', line 5
def running_context
@running_context
end
|
Instance Method Details
#clean_params! ⇒ Object
61
62
63
|
# File 'lib/sharing_tags/configuration.rb', line 61
def clean_params!
@params = nil
end
|
#clear! ⇒ Object
39
40
41
42
43
44
45
|
# File 'lib/sharing_tags/configuration.rb', line 39
def clear!
@contexts = {}
@default_context = Context.new(:default, self)
@current_context = nil
@running_context = nil
clean_params!
end
|
#clear_context! ⇒ Object
65
66
67
|
# File 'lib/sharing_tags/configuration.rb', line 65
def clear_context!
@current_context = nil
end
|
#context(name, &block) ⇒ Object
16
17
18
19
|
# File 'lib/sharing_tags/configuration.rb', line 16
def context(name, &block)
fail "please define context block params" unless block_given?
(@contexts[name] ||= Context.new(name, self)).instance_exec(&block)
end
|
#current_context ⇒ Object
57
58
59
|
# File 'lib/sharing_tags/configuration.rb', line 57
def current_context
@current_context || default_context
end
|
#params ⇒ Object
47
48
49
50
|
# File 'lib/sharing_tags/configuration.rb', line 47
def params
@params = fetch_params
end
|
#switch_context(name = nil, *args, &block) ⇒ Object
Also known as:
switch_context_to
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/sharing_tags/configuration.rb', line 21
def switch_context(name = nil, *args, &block)
clean_params!
prev_context = current_context
prev_context_params = @current_context_params
@current_context_params = args
@current_context = name && @contexts[name] || default_context
return unless block_given?
result = block.call
@current_context = prev_context
@current_context_params = prev_context_params
result
end
|
#within_context_params(running_context_instance) ⇒ Object
52
53
54
55
|
# File 'lib/sharing_tags/configuration.rb', line 52
def within_context_params(running_context_instance)
@running_context = running_context_instance
params
end
|