filey-diff 0.0.1 → 0.0.2
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/README.md +27 -0
- data/filey-diff.gemspec +1 -5
- data/lib/filey-diff.rb +7 -7
- data/spec/spec_helper.rb +1 -0
- metadata +60 -51
data/README.md
CHANGED
@@ -25,15 +25,42 @@ system.
|
|
25
25
|
|
26
26
|
Given two data sources A and B, list the changed files that A has but B doesn't.
|
27
27
|
|
28
|
+
```ruby
|
29
|
+
require 'aws-sdk'
|
30
|
+
require 'filey-diff'
|
31
|
+
|
32
|
+
s3 = AWS::S3.new(:access_key_id => 'some-id',
|
33
|
+
:secret_access_key => 'some-secret')
|
34
|
+
s3_bucket = s3.buckets['your-s3-bucket-name']
|
35
|
+
|
36
|
+
s3_data_source = Filey::DataSources::AwsSdkS3.new(s3_bucket)
|
37
|
+
fs_data_source = Filey::DataSources::FileSystem.new('/tmp/site-root')
|
38
|
+
Filey::Comparison.list_changed(fs_data_source, s3_data_source).each { |filey|
|
39
|
+
puts "File #{filey.full_path} has different contents on local file system than on S3"
|
40
|
+
}
|
41
|
+
```
|
42
|
+
|
28
43
|
### List missing files
|
29
44
|
|
30
45
|
Given two data sources A and B, list the files that A has but B doesn't.
|
31
46
|
|
47
|
+
```ruby
|
48
|
+
Filey::Comparison.list_missing(fs_data_source, s3_data_source).each { |filey|
|
49
|
+
puts "File #{filey.full_path} is missing from S3"
|
50
|
+
}
|
51
|
+
```
|
52
|
+
|
32
53
|
### List changed files
|
33
54
|
|
34
55
|
Given two data sources A and B, list the files on A that have a different MD5
|
35
56
|
hash than the corresponding file on B.
|
36
57
|
|
58
|
+
```ruby
|
59
|
+
Filey::Comparison.list_outdated(fs_data_source, s3_data_source).each { |filey|
|
60
|
+
puts "File #{filey.full_path} is newer on local file system than on S3"
|
61
|
+
}
|
62
|
+
```
|
63
|
+
|
37
64
|
## Example use cases
|
38
65
|
|
39
66
|
Arnie has a blog on AWS S3. He has just finished a new post and wants to upload
|
data/filey-diff.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'filey-diff'
|
3
|
-
s.version = '0.0.
|
3
|
+
s.version = '0.0.2'
|
4
4
|
|
5
5
|
s.summary = "Compare two data sources that contain file-like objects"
|
6
6
|
s.description =
|
@@ -17,10 +17,6 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.files = `git ls-files`.split("\n")
|
18
18
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
19
|
|
20
|
-
if RUBY_VERSION < "1.9"
|
21
|
-
s.add_dependency 'require_relative', "~> 1.0.3"
|
22
|
-
end
|
23
|
-
|
24
20
|
s.add_development_dependency 'rake', "~> 0.9"
|
25
21
|
s.add_development_dependency 'rspec', "~> 2.11"
|
26
22
|
end
|
data/lib/filey-diff.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
$:.unshift File.dirname(__FILE__) # Add the current directory into load path
|
2
|
+
|
3
|
+
require 'filey-diff/data-sources/data_source'
|
4
|
+
require 'filey-diff/data-sources/aws_sdk_s3'
|
5
|
+
require 'filey-diff/data-sources/file_system'
|
6
|
+
require 'filey-diff/comparison'
|
7
|
+
require 'filey-diff/filey'
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,55 +1,61 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: filey-diff
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Lauri Lehmijoki
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
+
|
18
|
+
date: 2012-10-14 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
17
22
|
none: false
|
18
|
-
requirements:
|
23
|
+
requirements:
|
19
24
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
|
22
|
-
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
hash: 25
|
27
|
+
segments:
|
28
|
+
- 0
|
29
|
+
- 9
|
30
|
+
version: "0.9"
|
23
31
|
prerelease: false
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0.9'
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: rspec
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ~>
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '2.11'
|
38
32
|
type: :development
|
39
|
-
|
40
|
-
|
33
|
+
name: rake
|
34
|
+
requirement: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
41
37
|
none: false
|
42
|
-
requirements:
|
38
|
+
requirements:
|
43
39
|
- - ~>
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
|
46
|
-
|
47
|
-
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
hash: 21
|
42
|
+
segments:
|
43
|
+
- 2
|
44
|
+
- 11
|
45
|
+
version: "2.11"
|
46
|
+
prerelease: false
|
47
|
+
type: :development
|
48
|
+
name: rspec
|
49
|
+
requirement: *id002
|
50
|
+
description: "\n Find missing or outdated files.\n For example, compare your local file system to an AWS S3 bucket.\n "
|
48
51
|
email: lauri.lehmijoki@iki.fi
|
49
52
|
executables: []
|
53
|
+
|
50
54
|
extensions: []
|
55
|
+
|
51
56
|
extra_rdoc_files: []
|
52
|
-
|
57
|
+
|
58
|
+
files:
|
53
59
|
- .gitignore
|
54
60
|
- .travis.yml
|
55
61
|
- Gemfile
|
@@ -68,35 +74,38 @@ files:
|
|
68
74
|
- spec/spec_helper.rb
|
69
75
|
homepage: http://github.com/laurilehmijoki/filey-diff
|
70
76
|
licenses: []
|
77
|
+
|
71
78
|
post_install_message:
|
72
79
|
rdoc_options: []
|
73
|
-
|
80
|
+
|
81
|
+
require_paths:
|
74
82
|
- lib
|
75
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
83
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
76
84
|
none: false
|
77
|
-
requirements:
|
78
|
-
- -
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
|
81
|
-
segments:
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
hash: 3
|
89
|
+
segments:
|
82
90
|
- 0
|
83
|
-
|
84
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
|
+
version: "0"
|
92
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
85
93
|
none: false
|
86
|
-
requirements:
|
87
|
-
- -
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
|
90
|
-
segments:
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
hash: 3
|
98
|
+
segments:
|
91
99
|
- 0
|
92
|
-
|
100
|
+
version: "0"
|
93
101
|
requirements: []
|
102
|
+
|
94
103
|
rubyforge_project:
|
95
104
|
rubygems_version: 1.8.24
|
96
105
|
signing_key:
|
97
106
|
specification_version: 3
|
98
107
|
summary: Compare two data sources that contain file-like objects
|
99
|
-
test_files:
|
108
|
+
test_files:
|
100
109
|
- spec/comparison_spec.rb
|
101
110
|
- spec/data_sources_spec.rb
|
102
111
|
- spec/filey_spec.rb
|