multisync 0.3.6 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/multisync.rb CHANGED
@@ -1,12 +1,17 @@
1
- require "multisync/version"
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "multisync/version"
2
4
 
3
5
  module Multisync
4
- autoload :Cli, 'multisync/cli'
5
- autoload :Definition, 'multisync/definition'
6
- autoload :Catalog, 'multisync/catalog'
7
- autoload :Selector, 'multisync/selector'
8
- autoload :Runtime, 'multisync/runtime'
9
- autoload :RsyncStat, 'multisync/rsync_stat'
10
- autoload :Summary, 'multisync/summary'
11
- autoload :List, 'multisync/list'
6
+ class Error < StandardError; end
7
+
8
+ autoload :Cli, "multisync/cli"
9
+ autoload :Colors, "multisync/colors"
10
+ autoload :Definition, "multisync/definition"
11
+ autoload :Catalog, "multisync/catalog"
12
+ autoload :Selector, "multisync/selector"
13
+ autoload :Runtime, "multisync/runtime"
14
+ autoload :RsyncStat, "multisync/rsync_stat"
15
+ autoload :Summary, "multisync/summary"
16
+ autoload :List, "multisync/list"
12
17
  end
data/sample/multisync.rb CHANGED
@@ -2,7 +2,6 @@
2
2
  # Choose one of the section A), B) or C) as a starting point
3
3
  # to adjust the configuration to your needs.
4
4
 
5
-
6
5
  ################################################################################
7
6
 
8
7
  # A) Simple rsync task
@@ -10,26 +9,24 @@
10
9
  sync :simple do
11
10
  from "~/Documents"
12
11
  to "/PathToExternalDisk"
13
- options %w( --archive --exclude=.DS_Store ) # as array
12
+ options %w[--archive --exclude=.DS_Store] # as array
14
13
  end
15
14
 
16
15
  # This task can be run with: "multisync simple"
17
16
 
18
-
19
17
  ################################################################################
20
18
 
21
19
  # B) Group of rsync tasks
22
20
 
23
21
  group :userdata do
24
-
25
22
  # Define the target path for the whole group and check the existance of the
26
23
  # target path before running the rsync task.
27
24
  # Also set an optional description for the target.
28
25
  to "/PathToExternalDisk", description: "External HD", check: true
29
26
 
30
27
  # Define rsync options for the whole group
31
- options %w( --archive --exclude=.DS_Store )
32
-
28
+ options %w[--archive --exclude=.DS_Store]
29
+
33
30
  sync :desktop do
34
31
  # With optional description of the source
35
32
  from "~/Desktop", description: "Desktop"
@@ -42,28 +39,25 @@ group :userdata do
42
39
  sync :downloads do
43
40
  from "~/Downloads", description: "Downloads"
44
41
  # Add options specific to this task.
45
- options %w( --exclude='*.download' )
42
+ options %w[--exclude='*.download']
46
43
  end
47
44
  end
48
45
 
49
46
  # Run the whole group with: "multisync userdata"
50
47
  # Run a single taks with: "multisync userdata/downloads"
51
48
 
52
-
53
49
  ################################################################################
54
50
 
55
51
  # C) Real world example using templates, defaults and options override
56
52
 
57
53
  # rsync options for all tasks
58
- options %w( --archive --delete --delete-excluded --delete-after --exclude=.DS_Store --exclude=.localized )
59
-
54
+ options %w[--archive --delete --delete-excluded --delete-after --exclude=.DS_Store --exclude=.localized]
60
55
 
61
56
  # Use templates to define a set of tasks that can be included later
62
57
  template :data do
63
-
64
58
  # Always check the existance of the source path
65
59
  check_from true
66
-
60
+
67
61
  # rsync tasks with uncomplete arguments:
68
62
  # Define the target later where the template will be included.
69
63
  # This can be used to sync multiple directories to different remote locations.
@@ -78,26 +72,25 @@ template :data do
78
72
  sync :downloads do
79
73
  from "~/Downloads", description: "Downloads"
80
74
  # Don't merge options
81
- options %w( --times --exclude='*.download' ), :override
75
+ options %w[--times --exclude='*.download'], :override
82
76
  end
83
77
  end
84
78
 
85
-
86
79
  group :hd do
87
80
  # Uncomment the following line to run this group by default
88
81
  # default
89
-
82
+
90
83
  # Define the target to be used by all tasks.
91
84
  # The existance of the target path should be checked.
92
85
  to "/TargetPathToBackupDisk/MyComputer", description: "External Disk", check: true
93
-
86
+
94
87
  # Include the template with the task definitions
95
88
  include :data
96
89
  end
97
90
 
98
91
  group :nas do
99
92
  to "user@nas.local:/data/backup/my_computer", description: "NAS", check: true
100
-
93
+
101
94
  # Include the template with the task definitions
102
95
  include :data
103
96
  end
@@ -106,7 +99,6 @@ end
106
99
  # Sync "desktop" to "hd" and "nas": "multisync desktop"
107
100
  # Sync "desktop" to "hd" only: "multisync hd/desktop"
108
101
 
109
-
110
102
  ################################################################################
111
103
 
112
104
  # Additional notes
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: multisync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Marchi
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2019-08-20 00:00:00.000000000 Z
10
+ date: 2025-11-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: mixlib-shellout
@@ -67,62 +66,20 @@ dependencies:
67
66
  - !ruby/object:Gem::Version
68
67
  version: '0'
69
68
  - !ruby/object:Gem::Dependency
70
- name: bundler
69
+ name: thor
71
70
  requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '1.16'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '1.16'
83
- - !ruby/object:Gem::Dependency
84
- name: rake
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '10.0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '10.0'
97
- - !ruby/object:Gem::Dependency
98
- name: rspec
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
71
  requirements:
108
72
  - - ">="
109
73
  - !ruby/object:Gem::Version
110
74
  version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: pry
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
75
+ type: :runtime
119
76
  prerelease: false
120
77
  version_requirements: !ruby/object:Gem::Requirement
121
78
  requirements:
122
79
  - - ">="
123
80
  - !ruby/object:Gem::Version
124
81
  version: '0'
125
- description: Multisync offers a DSL to organize sets of rsync tasks.
82
+ description: A DSL to organize sets of rsync tasks.
126
83
  email:
127
84
  - mail@patrickmarchi.ch
128
85
  executables:
@@ -130,19 +87,17 @@ executables:
130
87
  extensions: []
131
88
  extra_rdoc_files: []
132
89
  files:
133
- - ".gitignore"
134
90
  - ".rspec"
135
- - Gemfile
136
- - History.md
91
+ - ".standard.yml"
92
+ - CHANGELOG.md
137
93
  - LICENSE.txt
138
94
  - README.md
139
95
  - Rakefile
140
- - bin/console
141
- - bin/setup
142
96
  - exe/multisync
143
97
  - lib/multisync.rb
144
98
  - lib/multisync/catalog.rb
145
99
  - lib/multisync/cli.rb
100
+ - lib/multisync/colors.rb
146
101
  - lib/multisync/definition.rb
147
102
  - lib/multisync/definition/dsl.rb
148
103
  - lib/multisync/definition/entity.rb
@@ -154,7 +109,6 @@ files:
154
109
  - lib/multisync/selector.rb
155
110
  - lib/multisync/summary.rb
156
111
  - lib/multisync/version.rb
157
- - multisync.gemspec
158
112
  - sample/multisync.rb
159
113
  homepage: https://github.com/pmarchi/multisync
160
114
  licenses:
@@ -163,7 +117,7 @@ metadata:
163
117
  allowed_push_host: https://rubygems.org
164
118
  homepage_uri: https://github.com/pmarchi/multisync
165
119
  source_code_uri: https://github.com/pmarchi/multisync
166
- post_install_message:
120
+ changelog_uri: https://github.com/pmarchi/multisync/blob/master/CHANGELOG.md
167
121
  rdoc_options: []
168
122
  require_paths:
169
123
  - lib
@@ -171,15 +125,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
171
125
  requirements:
172
126
  - - ">="
173
127
  - !ruby/object:Gem::Version
174
- version: '0'
128
+ version: 3.1.0
175
129
  required_rubygems_version: !ruby/object:Gem::Requirement
176
130
  requirements:
177
131
  - - ">="
178
132
  - !ruby/object:Gem::Version
179
133
  version: '0'
180
134
  requirements: []
181
- rubygems_version: 3.0.3
182
- signing_key:
135
+ rubygems_version: 3.6.6
183
136
  specification_version: 4
184
- summary: DSL for rsync.
137
+ summary: multisync-0.4.0
185
138
  test_files: []
data/.gitignore DELETED
@@ -1,13 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
4
- /coverage/
5
- /doc/
6
- /pkg/
7
- /spec/reports/
8
- /tmp/
9
-
10
- # rspec failure tracking
11
- .rspec_status
12
-
13
- Gemfile.lock
data/Gemfile DELETED
@@ -1,5 +0,0 @@
1
- source 'https://rubygems.org'
2
- source 'https://gems.patrickmarchi.ch'
3
-
4
- # Specify your gem's dependencies in multisync.gemspec
5
- gemspec
data/bin/console DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "multisync"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- require "pry"
11
- Pry.start
12
-
13
- # require "irb"
14
- # IRB.start(__FILE__)
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here
data/multisync.gemspec DELETED
@@ -1,45 +0,0 @@
1
- lib = File.expand_path("../lib", __FILE__)
2
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require "multisync/version"
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = "multisync"
7
- spec.version = Multisync::VERSION
8
- spec.authors = ["Patrick Marchi"]
9
- spec.email = ["mail@patrickmarchi.ch"]
10
-
11
- spec.summary = %q{DSL for rsync.}
12
- spec.description = %q{Multisync offers a DSL to organize sets of rsync tasks.}
13
- spec.homepage = "https://github.com/pmarchi/multisync"
14
- spec.license = "MIT"
15
-
16
- # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
17
- # to allow pushing to a single host or delete this section to allow pushing to any host.
18
- if spec.respond_to?(:metadata)
19
- spec.metadata["allowed_push_host"] = "https://rubygems.org"
20
-
21
- spec.metadata["homepage_uri"] = spec.homepage
22
- spec.metadata["source_code_uri"] = "https://github.com/pmarchi/multisync"
23
- # spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
24
- else
25
- raise "RubyGems 2.0 or newer is required to protect against " \
26
- "public gem pushes."
27
- end
28
-
29
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
30
- f.match(%r{^(test|spec|features)/})
31
- end
32
- spec.bindir = "exe"
33
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
34
- spec.require_paths = ["lib"]
35
-
36
- spec.add_dependency "mixlib-shellout"
37
- spec.add_dependency "filesize"
38
- spec.add_dependency "rainbow"
39
- spec.add_dependency "terminal-table"
40
-
41
- spec.add_development_dependency "bundler", "~> 1.16"
42
- spec.add_development_dependency "rake", "~> 10.0"
43
- spec.add_development_dependency "rspec"
44
- spec.add_development_dependency "pry"
45
- end