class Usmu::S3
Usmu::S3
is the main plugin class for this plugin. It contains entry hooks as required to implement the S3
deployment interface.
Constants
- VERSION
The current version string for the gem
Attributes
log[R]
ui[RW]
Public Class Methods
new()
click to toggle source
# File lib/usmu/s3.rb, line 16 def initialize @log = Logging.logger[self] @log.debug("Initializing usmu-s3 v#{VERSION}") end
Public Instance Methods
command_deploy(args, options)
click to toggle source
# File lib/usmu/s3.rb, line 33 def command_deploy(args, options) raise 'This command does not take arguments' unless args.empty? raise 'Invalid options' unless options.inspect.start_with? '<Commander::Command::Options ' configuration = @ui.configuration s3_configuration = S3Configuration.new(configuration['plugin', 's3', default: {}]) @log.info('Gathering information...') diff = Deployment::DirectoryDiff.new(configuration, RemoteFiles.new(s3_configuration)) @log.info('Uploading files.') uploader = Uploader.new(configuration, s3_configuration) uploader.push(diff.get_diffs) @log.info('Website updated successfully.') end
commands(ui, c)
click to toggle source
@see Usmu::Plugin::CoreHooks#commands
# File lib/usmu/s3.rb, line 22 def commands(ui, c) @log.debug('Adding commands from usmu-s3.') @ui = ui c.command(:'s3 deploy') do |command| command.syntax = 'usmu s3 deploy' command.description = 'Deploys your website to S3' command.action &method(:command_deploy) end end