Rsync guard allows to automatically sync directories when source file changes.
Focus of this guard task is to sync directories while excluding autogenerated files and their sources.
Please be sure to have Guard installed before continue.
Install the gem:
$ gem install guard-rsync
Add it to your Gemfile (inside development group):
gem 'guard-rsync'
Please read Guard usage doc
The following example pairs the coffeescript guard with a rsync guard.
group(:build_my_app) do
guard('rsync', {
:input => 'apps_src/my_app',
:output => 'apps',
:excludes => {
/(.+)\.coffee$/ => (lambda {|m| "#{m[1]}.js"})
},
:run_group_on_start => true
}) do
watch(%r{^apps_src/my_app/(.+\.(?!coffee)(.*)|[^.]+)$})
end
guard 'coffeescript', :input => 'apps_src/my_app', :output => 'apps/my_app'
end