Module: Capistrano::Calendar::Client

Defined in:
lib/capistrano/calendar/client.rb,
lib/capistrano/calendar/client/base.rb,
lib/capistrano/calendar/client/google.rb

Defined Under Namespace

Classes: Base, Google

Class Method Summary collapse

Class Method Details

.new(config) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/capistrano/calendar/client.rb', line 6

def self.new(config)
  name = config[:calendar_service] || :google

  require "capistrano/calendar/client/#{name}"

  client_const = name.to_s.capitalize.gsub(/_(.)/) { $1.upcase }

  const_get(client_const).new(config)

rescue LoadError
  raise Capistrano::Error, "could not find any client named '#{name}'"
end