Class: Visibility
Instance Method Summary
collapse
Methods included from Logging
logger, #logger, pre_init
#values
Constructor Details
#initialize(config, delegate, context) ⇒ Visibility
Returns a new instance of Visibility.
6
7
8
9
|
# File 'lib/flickrup/ext/visibility.rb', line 6
def initialize(config, delegate, context)
super(config)
@delegate = delegate
end
|
Instance Method Details
#config_for_visibility(visibility) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/flickrup/ext/visibility.rb', line 27
def config_for_visibility(visibility)
if visibility == "offline"
logger.debug("Offline Visibility specified. Disabling upload.")
{UploaderConstants::NO_UPLOAD => true}
elsif visibility == "private"
logger.debug("Private visibility specified.")
{"is_public" => "0", "is_friend" => "0", "is_family" => "0"}
elsif visibility == "family"
logger.debug("Family visibility specified.")
{"is_public" => "0", "is_friend" => "0", "is_family" => "1"}
elsif visibility == "friends"
logger.debug("Friends visibility specified.")
{"is_public" => "0", "is_friend" => "1", "is_family" => "1"}
else
logger.warn("Unknown visibility #{visibility}. Ignoring.")
{}
end
end
|
#upload(ctx) ⇒ Object
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/flickrup/ext/visibility.rb', line 11
def upload(ctx)
visibility = values(:visibilityprefix, ctx)
config_override = if visibility.length == 0
logger.debug("No visibility specified for #{ctx.file.filename}.")
{}
elsif visibility.length == 1
config_for_visibility(visibility[0])
else logger.warn("Multiple visibilities specified. Using the first encountered: #{visibility[0]}.")
config_for_visibility(visibility[0])
end
@delegate.upload(ctx.with_properties(config_override))
end
|