Class: Dropsite::Application

Inherits:
Object
  • Object
show all
Defined in:
lib/dropsite/application.rb

Instance Method Summary collapse

Instance Method Details

#create_config_dirObject



35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/dropsite/application.rb', line 35

def create_config_dir
  if dropsite_config_dir
    puts "Config directory already exists at: #{dropsite_config_dir}"
    exit
  end

  config_dir = File.join(dropbox_dir, '.dropsite')
  Dir.mkdir(config_dir)
  File.open(File.join(config_dir, 'config.yml'), 'w') do |f|
    # TODO: put the contents in there
    f.puts ''
  end
  Dir.mkdir(File.join(config_dir, 'plugins'))
end

#optionsObject



31
32
33
# File 'lib/dropsite/application.rb', line 31

def options
  @options ||= OpenStruct.new
end

#runObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/dropsite/application.rb', line 7

def run
  handle_options

  options.dropbox_home = dropbox_dir if not options.dropbox_home

  if !options.dropbox_home || !File.exist?(options.dropbox_home)
    $stderr.puts 'Dropbox home directory cannot be found or does not exist'
    $stderr.puts 'Set valid directory with --dropbox-home DIRECTORY'
    exit 1
  end

  if options.create_config_dir
    create_config_dir
  else
    options.public_dir = File.join(options.dropbox_home, 'Public')
    cf = ConfigFile.new
    if cf.exist?
      options.exclude = cf.exclude
    end
    site = Dropsite::Site.new(options)
    site.process
  end
end