Module: Smug::Config

Defined in:
lib/smugsync/config.rb

Constant Summary collapse

API_KEY =
'TLL8o6xrHJxq6LNBLczKAmDADA5R2v7K'
API_SECRET =
'2cf156d1b719da74d3b565b8628d1687'
SMUGMUG_REQUEST_HOST =
"https://secure.smugmug.com"
SMUGMUG_REQUEST_URL =
"/services/api/json/1.3.0/"
ACCESS_TOKEN_CONFIG_FILE =
"accesstoken"

Class Method Summary collapse

Class Method Details

.config_file(name, mode) ⇒ Object

Returns config File object for given name. Creates a file if it doesn’t exist



58
59
60
# File 'lib/smugsync/config.rb', line 58

def config_file(name, mode)
    File.open(config_file_name(name), mode)
end

.config_file_name(basename) ⇒ Object



46
47
48
49
50
51
52
53
54
55
# File 'lib/smugsync/config.rb', line 46

def config_file_name(basename)
    unless config_dir = find_config_dir
        $stderr.puts <<-EOS
Fatal: Not a SmugMug folder (or any parent up to root).
Run 'smug init' to initialize current folder as SmugMug folder.
        EOS
        exit(-1)
    end
    File.join(config_dir, basename)
end

.create_config_dirObject



40
41
42
43
44
# File 'lib/smugsync/config.rb', line 40

def create_config_dir
    # create .smug in the current directory
    config_dir = File.join(Dir.pwd, '.smug')
    FileUtils.mkdir_p(config_dir)
end

.find_config_dirObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/smugsync/config.rb', line 16

def find_config_dir
    # search current dir and upwards until we find .smug dir
    config_dir = nil
    dir = '.'
    while File.expand_path(dir) != '/' do
        config_dir_candidate = File.join(File.expand_path(dir), '.smug')
        if File.exists?(config_dir_candidate)
            config_dir = config_dir_candidate
            break
        end
        dir = File.join(dir, '..')
    end
    config_dir && File.expand_path(config_dir)
end

.relative_to_root(dir) ⇒ Object



35
36
37
38
# File 'lib/smugsync/config.rb', line 35

def relative_to_root(dir)
    pn = Pathname.new(dir)
    pn.relative_path_from(root_dir)
end

.root_dirObject



31
32
33
# File 'lib/smugsync/config.rb', line 31

def root_dir
    Pathname.new(File.join(find_config_dir, '..'))
end