pushmi_pullyu 2.0.0 → 2.0.3
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.
- checksums.yaml +4 -4
- data/.github/CODEOWNERS +1 -1
- data/.github/dependabot.yml +12 -0
- data/.github/workflows/ruby.yml +1 -1
- data/.rubocop.yml +9 -8
- data/CHANGELOG.md +17 -0
- data/README.md +6 -1
- data/docker-compose.yml +11 -0
- data/examples/pushmi_pullyu.yml +0 -3
- data/lib/pushmi_pullyu/aip/downloader.rb +3 -4
- data/lib/pushmi_pullyu/cli.rb +4 -4
- data/lib/pushmi_pullyu/logging.rb +66 -6
- data/lib/pushmi_pullyu/version.rb +1 -1
- data/lib/pushmi_pullyu.rb +6 -10
- data/pushmi_pullyu.gemspec +7 -6
- metadata +20 -52
- data/.travis.yml +0 -16
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d64e5d619eb9dee63c358167cd6778034eb72fa2686fbe95fa187cfdfe7525b3
|
|
4
|
+
data.tar.gz: 333805bd92b1d5e308949d583e46056ffb1aeac9900d9c23ca59f2b88a7a4d01
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b8b162ca028ca37362d0bcd68737189f6af656c747bfc18a1593e35635bddf606d649e8d02299d092b1b569cab7e8a03950855fe2f7da4f5877a2714c99af8cc
|
|
7
|
+
data.tar.gz: 56c8653b1d868993e31607de7cd1d811752ff4de1ab63813dec2f745321f2b7d6a54107eb304f0f93191d6372bf22e55977512155edca08ee25ad96c23fc0099
|
data/.github/CODEOWNERS
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# https://help.github.com/articles/about-codeowners/
|
|
2
|
-
* @ConnorSheremeta @lagoan @
|
|
2
|
+
* @ConnorSheremeta @lagoan @henryzhang87 @pgwillia @piyapongch
|
data/.github/workflows/ruby.yml
CHANGED
|
@@ -25,7 +25,7 @@ jobs:
|
|
|
25
25
|
run: bundle exec rubocop --parallel
|
|
26
26
|
- name: Run Danger
|
|
27
27
|
env:
|
|
28
|
-
DANGER_GITHUB_API_TOKEN: ${{ secrets.
|
|
28
|
+
DANGER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
29
29
|
run: bundle exec danger
|
|
30
30
|
- name: Run tests
|
|
31
31
|
run: bundle exec rake spec
|
data/.rubocop.yml
CHANGED
|
@@ -13,6 +13,7 @@ AllCops:
|
|
|
13
13
|
- 'Dangerfile'
|
|
14
14
|
ExtraDetails: true
|
|
15
15
|
TargetRubyVersion: 2.5
|
|
16
|
+
NewCops: enable
|
|
16
17
|
|
|
17
18
|
# readability is Actually Good
|
|
18
19
|
Layout/EmptyLinesAroundClassBody:
|
|
@@ -35,7 +36,7 @@ Metrics/ClassLength:
|
|
|
35
36
|
Metrics/CyclomaticComplexity:
|
|
36
37
|
Enabled: false
|
|
37
38
|
|
|
38
|
-
|
|
39
|
+
Layout/LineLength:
|
|
39
40
|
Enabled: true
|
|
40
41
|
Max: 120 # default is 80
|
|
41
42
|
|
|
@@ -96,14 +97,14 @@ RSpec/ExampleLength:
|
|
|
96
97
|
RSpec/MultipleExpectations:
|
|
97
98
|
Enabled: false
|
|
98
99
|
|
|
100
|
+
RSpec/MultipleMemoizedHelpers:
|
|
101
|
+
Enabled: false
|
|
102
|
+
|
|
99
103
|
RSpec/DescribedClass:
|
|
100
104
|
EnforcedStyle: explicit
|
|
101
105
|
|
|
102
|
-
|
|
103
|
-
Enabled:
|
|
104
|
-
|
|
105
|
-
Lint/StructNewOverride:
|
|
106
|
-
Enabled: true
|
|
106
|
+
Naming/VariableNumber:
|
|
107
|
+
Enabled: false
|
|
107
108
|
|
|
108
|
-
|
|
109
|
-
Enabled: false
|
|
109
|
+
Style/OpenStructUse:
|
|
110
|
+
Enabled: false
|
data/CHANGELOG.md
CHANGED
|
@@ -8,9 +8,26 @@ and releases in PushmiPullyu adheres to [Semantic Versioning](https://semver.org
|
|
|
8
8
|
|
|
9
9
|
## [Unreleased]
|
|
10
10
|
|
|
11
|
+
## [2.0.3] - 2022-04-28
|
|
12
|
+
|
|
13
|
+
- Changed Danger token in Github Actions
|
|
14
|
+
- remove pg dependency
|
|
15
|
+
- unblock CI (rubocop and coveralls)
|
|
16
|
+
- Log to preservation_events.json as well in an easy to use json format.
|
|
17
|
+
|
|
18
|
+
## [2.0.2] - 2021-11-22
|
|
19
|
+
|
|
20
|
+
- Fix authentication bug when using ssl
|
|
21
|
+
- bump rubocop and rubocop-rspec
|
|
22
|
+
|
|
23
|
+
## [2.0.1] - 2021-02-02
|
|
24
|
+
|
|
25
|
+
- Fix dependency declaration for UUID gem
|
|
26
|
+
|
|
11
27
|
## [2.0.0] - 2020-12-14
|
|
12
28
|
|
|
13
29
|
### Removed
|
|
14
30
|
- Data output for original_file information
|
|
15
31
|
|
|
32
|
+
-
|
|
16
33
|
## [1.0.6] - 2018-11-29
|
data/README.md
CHANGED
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
|
|
7
7
|
[](https://rubygems.org/gems/pushmi_pullyu)
|
|
8
8
|
[](https://github.com/ualbertalib/pushmi_pullyu/actions)
|
|
9
|
-
[](https://coveralls.io/github/ualbertalib/pushmi_pullyu?branch=master)
|
|
10
9
|
|
|
11
10
|
PushmiPullyu is a Ruby application, running behind the firewall that protects our Swift environment.
|
|
12
11
|
|
|
@@ -104,6 +103,12 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
|
104
103
|
|
|
105
104
|
## Testing
|
|
106
105
|
|
|
106
|
+
Pre-requisites:
|
|
107
|
+
|
|
108
|
+
Will need jupiter running locally and Openstack Swift running on port 8080.
|
|
109
|
+
- [Instructions for jupiter](https://github.com/ualbertalib/jupiter#docker)
|
|
110
|
+
- Use `docker-compose up -d` to start Swift (additional instructions in docker-compose.yml)
|
|
111
|
+
|
|
107
112
|
To run the test suite:
|
|
108
113
|
|
|
109
114
|
```bash
|
data/docker-compose.yml
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
services:
|
|
2
|
+
swift:
|
|
3
|
+
# useful if you need to re-run the tests/spec
|
|
4
|
+
# https://docs.openstack.org/ocata/cli-reference/swift.html
|
|
5
|
+
# manual steps to set environment variables and create container
|
|
6
|
+
# swift auth -v -U test:tester -K testing -A http://localhost:8080/auth/v1.0
|
|
7
|
+
# swift auth
|
|
8
|
+
# swift post ERA
|
|
9
|
+
image: openstackswift/saio
|
|
10
|
+
ports:
|
|
11
|
+
- '8080:8080'
|
data/examples/pushmi_pullyu.yml
CHANGED
|
@@ -21,9 +21,6 @@ minimum_age: 0
|
|
|
21
21
|
redis:
|
|
22
22
|
url: redis://localhost:6379
|
|
23
23
|
|
|
24
|
-
database:
|
|
25
|
-
url: postgresql://jupiter:mysecretpassword@127.0.0.1/jupiter_development
|
|
26
|
-
|
|
27
24
|
#parameters project_name and project_domain_name are required only for keystone v3 authentication
|
|
28
25
|
swift:
|
|
29
26
|
tenant: tester
|
|
@@ -80,7 +80,8 @@ class PushmiPullyu::AIP::Downloader
|
|
|
80
80
|
def authenticate_http_calls
|
|
81
81
|
@uri = URI.parse(PushmiPullyu.options[:jupiter][:jupiter_url])
|
|
82
82
|
@http = Net::HTTP.new(@uri.host, @uri.port)
|
|
83
|
-
|
|
83
|
+
@http.use_ssl = true if @uri.instance_of? URI::HTTPS
|
|
84
|
+
request = Net::HTTP::Post.new("#{@uri.request_uri}auth/system")
|
|
84
85
|
request.set_form_data(
|
|
85
86
|
email: PushmiPullyu.options[:jupiter][:user],
|
|
86
87
|
api_key: PushmiPullyu.options[:jupiter][:api_key]
|
|
@@ -102,9 +103,7 @@ class PushmiPullyu::AIP::Downloader
|
|
|
102
103
|
|
|
103
104
|
response = @http.request(request)
|
|
104
105
|
is_success = if response.is_a?(Net::HTTPSuccess)
|
|
105
|
-
File.
|
|
106
|
-
file.write(response.body)
|
|
107
|
-
end
|
|
106
|
+
File.binwrite(local, response.body)
|
|
108
107
|
# Response was a success and the file was saved to local
|
|
109
108
|
File.exist? local
|
|
110
109
|
end
|
data/lib/pushmi_pullyu/cli.rb
CHANGED
|
@@ -89,7 +89,7 @@ class PushmiPullyu::CLI
|
|
|
89
89
|
|
|
90
90
|
def parse_config(config_file)
|
|
91
91
|
if File.exist?(config_file)
|
|
92
|
-
YAML.safe_load(ERB.new(
|
|
92
|
+
YAML.safe_load(ERB.new(File.read(config_file)).result).deep_symbolize_keys || {}
|
|
93
93
|
else
|
|
94
94
|
{}
|
|
95
95
|
end
|
|
@@ -249,12 +249,12 @@ class PushmiPullyu::CLI
|
|
|
249
249
|
# On first call of shutdown, this will gracefully close the main run loop
|
|
250
250
|
# which let's the program exit itself. Calling shutdown again will force shutdown the program
|
|
251
251
|
def shutdown
|
|
252
|
-
if
|
|
253
|
-
exit!(1)
|
|
254
|
-
else
|
|
252
|
+
if PushmiPullyu.server_running?
|
|
255
253
|
# using stderr instead of logger as it uses an underlying mutex which is not allowed inside trap contexts.
|
|
256
254
|
warn 'Exiting... Interrupt again to force quit.'
|
|
257
255
|
PushmiPullyu.server_running = false
|
|
256
|
+
else
|
|
257
|
+
exit!(1)
|
|
258
258
|
end
|
|
259
259
|
end
|
|
260
260
|
|
|
@@ -21,7 +21,7 @@ module PushmiPullyu::Logging
|
|
|
21
21
|
|
|
22
22
|
attr_writer :logger
|
|
23
23
|
|
|
24
|
-
def initialize_logger(log_target =
|
|
24
|
+
def initialize_logger(log_target = $stdout)
|
|
25
25
|
@logger = Logger.new(log_target)
|
|
26
26
|
@logger.level = Logger::INFO
|
|
27
27
|
@logger
|
|
@@ -45,13 +45,14 @@ module PushmiPullyu::Logging
|
|
|
45
45
|
|
|
46
46
|
def log_preservation_event(deposited_file, aip_directory)
|
|
47
47
|
preservation_logger = Logger.new("#{PushmiPullyu.options[:logdir]}/preservation_events.log")
|
|
48
|
+
preservation_json_logger = Logger.new("#{PushmiPullyu.options[:logdir]}/preservation_events.json")
|
|
48
49
|
|
|
49
50
|
message = "#{deposited_file.name} was successfully deposited into Swift Storage!\n"\
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
"Here are the details of this preservation event:\n"\
|
|
52
|
+
"\tUUID: '#{deposited_file.name}'\n"\
|
|
53
|
+
"\tTimestamp of Completion: '#{deposited_file.last_modified}'\n"\
|
|
54
|
+
"\tAIP Checksum: '#{deposited_file.etag}'\n"\
|
|
55
|
+
"\tMetadata: #{deposited_file.metadata}\n"\
|
|
55
56
|
|
|
56
57
|
file_details = file_log_details(aip_directory)
|
|
57
58
|
|
|
@@ -72,6 +73,65 @@ module PushmiPullyu::Logging
|
|
|
72
73
|
preservation_logger.info(message)
|
|
73
74
|
|
|
74
75
|
preservation_logger.close
|
|
76
|
+
|
|
77
|
+
message_json_str = preservation_event_to_json(deposited_file, aip_directory)
|
|
78
|
+
preservation_json_logger.info("#{message_json_str},")
|
|
79
|
+
preservation_json_logger.close
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
###
|
|
83
|
+
# Provides an alternative logging method in json format for the convenience of
|
|
84
|
+
# parsing in the process of auditing against OpenStack Swift preservation.
|
|
85
|
+
#
|
|
86
|
+
# output format:
|
|
87
|
+
# I, [2022-04-06T11:07:21.983875 #20791] INFO -- : \
|
|
88
|
+
# {
|
|
89
|
+
# "do_uuid": "83b5d21f-a60a-43ba-945a-f03deec64a1d",
|
|
90
|
+
# "aip_deposited_at": "Thu, 07 Apr 2022 16:37:00 GMT",
|
|
91
|
+
# "aip_md5sum": "fe5832a510799b04c1c503e46dc3b589",
|
|
92
|
+
# "aip_sha256": "",
|
|
93
|
+
# "aip_metadata": "{\"project-id\":\"83b5d21f-a60a-43ba-945a-f03deec64a1d\",
|
|
94
|
+
# \"aip-version\":\"1.0\",
|
|
95
|
+
# \"project\":\"ERA\",
|
|
96
|
+
# \"promise\":\"bronze\"}",
|
|
97
|
+
# "aip_file_details": [
|
|
98
|
+
# {
|
|
99
|
+
# "fileset_uuid": "b2c6ac0f-f2ed-489e-bbae-bd26465207aa",
|
|
100
|
+
# "file_name": "Spallacci_Amanda_202103_PhD.pdf",
|
|
101
|
+
# "file_type": "pdf",
|
|
102
|
+
# "file_size": "2051363"
|
|
103
|
+
# }
|
|
104
|
+
# ]
|
|
105
|
+
# }
|
|
106
|
+
#
|
|
107
|
+
# note:
|
|
108
|
+
# to parse, the prefix "I, ... INFO --:" in each line needs to be
|
|
109
|
+
# stripped using a bash command such as "sed"
|
|
110
|
+
def preservation_event_to_json(deposited_file, aip_directory)
|
|
111
|
+
message = {}
|
|
112
|
+
|
|
113
|
+
message['do_uuid'] = deposited_file.name.to_s
|
|
114
|
+
message['aip_deposited_at'] = deposited_file.last_modified.to_s
|
|
115
|
+
message['aip_md5sum'] = deposited_file.etag.to_s
|
|
116
|
+
message['aip_sha256'] = ''
|
|
117
|
+
message['aip_metadata'] = deposited_file.metadata.to_json.to_s
|
|
118
|
+
|
|
119
|
+
file_details = file_log_details(aip_directory)
|
|
120
|
+
|
|
121
|
+
tmp_details = []
|
|
122
|
+
if file_details.present?
|
|
123
|
+
file_details.each do |file_detail|
|
|
124
|
+
tmp_hash = {}
|
|
125
|
+
tmp_hash['fileset_uuid'] = file_detail[:fileset_name].to_s
|
|
126
|
+
tmp_hash['file_name'] = file_detail[:file_name].to_s
|
|
127
|
+
tmp_hash['file_type'] = file_detail[:file_extension].to_s
|
|
128
|
+
tmp_hash['file_size'] = file_detail[:file_size].to_s
|
|
129
|
+
tmp_details << tmp_hash
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
message['aip_file_details'] = tmp_details
|
|
134
|
+
message.to_json
|
|
75
135
|
end
|
|
76
136
|
|
|
77
137
|
def reopen
|
data/lib/pushmi_pullyu.rb
CHANGED
|
@@ -40,18 +40,14 @@ module PushmiPullyu
|
|
|
40
40
|
},
|
|
41
41
|
rollbar: {
|
|
42
42
|
},
|
|
43
|
-
|
|
44
|
-
encoding: 'utf8',
|
|
45
|
-
pool: ENV['RAILS_MAX_THREADS'] || 5,
|
|
46
|
-
url: ENV['DATABASE_URL'] || ENV['JUPITER_DATABASE_URL'] || 'postgresql://jupiter:mysecretpassword@127.0.0.1',
|
|
47
|
-
database: 'jupiter_development'
|
|
48
|
-
},
|
|
43
|
+
# rubocop disable: Style/FetchEnvVar
|
|
49
44
|
jupiter: {
|
|
50
|
-
user: ENV
|
|
51
|
-
api_key: ENV
|
|
52
|
-
jupiter_url: ENV
|
|
53
|
-
aip_api_path: ENV
|
|
45
|
+
user: ENV.fetch('JUPITER_USER', nil),
|
|
46
|
+
api_key: ENV.fetch('JUPITER_API_KEY', nil),
|
|
47
|
+
jupiter_url: ENV.fetch('JUPITER_URL', nil) || 'http://era.lvh.me:3000/',
|
|
48
|
+
aip_api_path: ENV.fetch('JUPITER_AIP_API_PATH', nil) || 'aip/v1'
|
|
54
49
|
}
|
|
50
|
+
# rubocop enable: Style/FetchEnvVar
|
|
55
51
|
}.freeze
|
|
56
52
|
|
|
57
53
|
def self.options
|
data/pushmi_pullyu.gemspec
CHANGED
|
@@ -21,30 +21,31 @@ Gem::Specification.new do |spec|
|
|
|
21
21
|
|
|
22
22
|
spec.required_ruby_version = '>= 2.5'
|
|
23
23
|
|
|
24
|
-
spec.add_runtime_dependency 'activesupport', '>= 5', '<
|
|
24
|
+
spec.add_runtime_dependency 'activesupport', '>= 5', '< 8'
|
|
25
25
|
spec.add_runtime_dependency 'bagit', '~> 0.4'
|
|
26
26
|
spec.add_runtime_dependency 'connection_pool', '~> 2.2'
|
|
27
27
|
spec.add_runtime_dependency 'daemons', '~> 1.2', '>= 1.2.4'
|
|
28
28
|
spec.add_runtime_dependency 'minitar', '~> 0.7'
|
|
29
29
|
spec.add_runtime_dependency 'openstack', '~> 3.3', '>= 3.3.10'
|
|
30
|
-
spec.add_runtime_dependency 'pg', '>= 1.0', '< 1.2'
|
|
31
30
|
spec.add_runtime_dependency 'rdf', '>= 1.99', '< 4.0'
|
|
32
31
|
spec.add_runtime_dependency 'rdf-n3', '>= 1.99', '< 4.0'
|
|
33
32
|
spec.add_runtime_dependency 'redis', '>= 3.3', '< 5.0'
|
|
34
33
|
spec.add_runtime_dependency 'rest-client', '>= 1.8', '< 3.0'
|
|
35
34
|
spec.add_runtime_dependency 'rollbar', '>= 2.18', '< 4.0'
|
|
35
|
+
spec.add_runtime_dependency 'uuid', '~> 2.3.9'
|
|
36
36
|
|
|
37
37
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
|
38
|
-
spec.add_development_dependency 'coveralls', '~> 0.8'
|
|
39
38
|
spec.add_development_dependency 'danger', '~> 8.0'
|
|
40
39
|
spec.add_development_dependency 'pry', '~> 0.10', '>= 0.10.4'
|
|
41
40
|
spec.add_development_dependency 'pry-byebug', '~> 3.6'
|
|
42
41
|
spec.add_development_dependency 'rake', '~> 13.0'
|
|
43
42
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
|
44
|
-
spec.add_development_dependency 'rubocop', '~>
|
|
45
|
-
spec.add_development_dependency 'rubocop-rspec', '~>
|
|
43
|
+
spec.add_development_dependency 'rubocop', '~> 1.23'
|
|
44
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 2.6'
|
|
46
45
|
spec.add_development_dependency 'timecop', '~> 0.8'
|
|
47
|
-
spec.add_development_dependency 'uuid', '~> 2.3.9'
|
|
48
46
|
spec.add_development_dependency 'vcr', '~> 5.0'
|
|
49
47
|
spec.add_development_dependency 'webmock', '~> 3.3'
|
|
48
|
+
spec.metadata = {
|
|
49
|
+
'rubygems_mfa_required' => 'true'
|
|
50
|
+
}
|
|
50
51
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pushmi_pullyu
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.
|
|
4
|
+
version: 2.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Shane Murnaghan
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: exe
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2022-04-28 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: activesupport
|
|
@@ -20,7 +20,7 @@ dependencies:
|
|
|
20
20
|
version: '5'
|
|
21
21
|
- - "<"
|
|
22
22
|
- !ruby/object:Gem::Version
|
|
23
|
-
version: '
|
|
23
|
+
version: '8'
|
|
24
24
|
type: :runtime
|
|
25
25
|
prerelease: false
|
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -30,7 +30,7 @@ dependencies:
|
|
|
30
30
|
version: '5'
|
|
31
31
|
- - "<"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
33
|
+
version: '8'
|
|
34
34
|
- !ruby/object:Gem::Dependency
|
|
35
35
|
name: bagit
|
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -113,26 +113,6 @@ dependencies:
|
|
|
113
113
|
- - ">="
|
|
114
114
|
- !ruby/object:Gem::Version
|
|
115
115
|
version: 3.3.10
|
|
116
|
-
- !ruby/object:Gem::Dependency
|
|
117
|
-
name: pg
|
|
118
|
-
requirement: !ruby/object:Gem::Requirement
|
|
119
|
-
requirements:
|
|
120
|
-
- - ">="
|
|
121
|
-
- !ruby/object:Gem::Version
|
|
122
|
-
version: '1.0'
|
|
123
|
-
- - "<"
|
|
124
|
-
- !ruby/object:Gem::Version
|
|
125
|
-
version: '1.2'
|
|
126
|
-
type: :runtime
|
|
127
|
-
prerelease: false
|
|
128
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
129
|
-
requirements:
|
|
130
|
-
- - ">="
|
|
131
|
-
- !ruby/object:Gem::Version
|
|
132
|
-
version: '1.0'
|
|
133
|
-
- - "<"
|
|
134
|
-
- !ruby/object:Gem::Version
|
|
135
|
-
version: '1.2'
|
|
136
116
|
- !ruby/object:Gem::Dependency
|
|
137
117
|
name: rdf
|
|
138
118
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -234,33 +214,33 @@ dependencies:
|
|
|
234
214
|
- !ruby/object:Gem::Version
|
|
235
215
|
version: '4.0'
|
|
236
216
|
- !ruby/object:Gem::Dependency
|
|
237
|
-
name:
|
|
217
|
+
name: uuid
|
|
238
218
|
requirement: !ruby/object:Gem::Requirement
|
|
239
219
|
requirements:
|
|
240
220
|
- - "~>"
|
|
241
221
|
- !ruby/object:Gem::Version
|
|
242
|
-
version:
|
|
243
|
-
type: :
|
|
222
|
+
version: 2.3.9
|
|
223
|
+
type: :runtime
|
|
244
224
|
prerelease: false
|
|
245
225
|
version_requirements: !ruby/object:Gem::Requirement
|
|
246
226
|
requirements:
|
|
247
227
|
- - "~>"
|
|
248
228
|
- !ruby/object:Gem::Version
|
|
249
|
-
version:
|
|
229
|
+
version: 2.3.9
|
|
250
230
|
- !ruby/object:Gem::Dependency
|
|
251
|
-
name:
|
|
231
|
+
name: bundler
|
|
252
232
|
requirement: !ruby/object:Gem::Requirement
|
|
253
233
|
requirements:
|
|
254
234
|
- - "~>"
|
|
255
235
|
- !ruby/object:Gem::Version
|
|
256
|
-
version: '0
|
|
236
|
+
version: '2.0'
|
|
257
237
|
type: :development
|
|
258
238
|
prerelease: false
|
|
259
239
|
version_requirements: !ruby/object:Gem::Requirement
|
|
260
240
|
requirements:
|
|
261
241
|
- - "~>"
|
|
262
242
|
- !ruby/object:Gem::Version
|
|
263
|
-
version: '0
|
|
243
|
+
version: '2.0'
|
|
264
244
|
- !ruby/object:Gem::Dependency
|
|
265
245
|
name: danger
|
|
266
246
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -343,28 +323,28 @@ dependencies:
|
|
|
343
323
|
requirements:
|
|
344
324
|
- - "~>"
|
|
345
325
|
- !ruby/object:Gem::Version
|
|
346
|
-
version: '
|
|
326
|
+
version: '1.23'
|
|
347
327
|
type: :development
|
|
348
328
|
prerelease: false
|
|
349
329
|
version_requirements: !ruby/object:Gem::Requirement
|
|
350
330
|
requirements:
|
|
351
331
|
- - "~>"
|
|
352
332
|
- !ruby/object:Gem::Version
|
|
353
|
-
version: '
|
|
333
|
+
version: '1.23'
|
|
354
334
|
- !ruby/object:Gem::Dependency
|
|
355
335
|
name: rubocop-rspec
|
|
356
336
|
requirement: !ruby/object:Gem::Requirement
|
|
357
337
|
requirements:
|
|
358
338
|
- - "~>"
|
|
359
339
|
- !ruby/object:Gem::Version
|
|
360
|
-
version: '
|
|
340
|
+
version: '2.6'
|
|
361
341
|
type: :development
|
|
362
342
|
prerelease: false
|
|
363
343
|
version_requirements: !ruby/object:Gem::Requirement
|
|
364
344
|
requirements:
|
|
365
345
|
- - "~>"
|
|
366
346
|
- !ruby/object:Gem::Version
|
|
367
|
-
version: '
|
|
347
|
+
version: '2.6'
|
|
368
348
|
- !ruby/object:Gem::Dependency
|
|
369
349
|
name: timecop
|
|
370
350
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -379,20 +359,6 @@ dependencies:
|
|
|
379
359
|
- - "~>"
|
|
380
360
|
- !ruby/object:Gem::Version
|
|
381
361
|
version: '0.8'
|
|
382
|
-
- !ruby/object:Gem::Dependency
|
|
383
|
-
name: uuid
|
|
384
|
-
requirement: !ruby/object:Gem::Requirement
|
|
385
|
-
requirements:
|
|
386
|
-
- - "~>"
|
|
387
|
-
- !ruby/object:Gem::Version
|
|
388
|
-
version: 2.3.9
|
|
389
|
-
type: :development
|
|
390
|
-
prerelease: false
|
|
391
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
392
|
-
requirements:
|
|
393
|
-
- - "~>"
|
|
394
|
-
- !ruby/object:Gem::Version
|
|
395
|
-
version: 2.3.9
|
|
396
362
|
- !ruby/object:Gem::Dependency
|
|
397
363
|
name: vcr
|
|
398
364
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -434,12 +400,12 @@ files:
|
|
|
434
400
|
- ".editorconfig"
|
|
435
401
|
- ".github/CODEOWNERS"
|
|
436
402
|
- ".github/PULL_REQUEST_TEMPLATE"
|
|
403
|
+
- ".github/dependabot.yml"
|
|
437
404
|
- ".github/workflows/ruby.yml"
|
|
438
405
|
- ".gitignore"
|
|
439
406
|
- ".hound.yml"
|
|
440
407
|
- ".rspec"
|
|
441
408
|
- ".rubocop.yml"
|
|
442
|
-
- ".travis.yml"
|
|
443
409
|
- CHANGELOG.md
|
|
444
410
|
- Dangerfile
|
|
445
411
|
- Gemfile
|
|
@@ -449,6 +415,7 @@ files:
|
|
|
449
415
|
- bin/console
|
|
450
416
|
- bin/setup
|
|
451
417
|
- config/.gitkeep
|
|
418
|
+
- docker-compose.yml
|
|
452
419
|
- docs/images/pushmi-pullyu.png
|
|
453
420
|
- docs/images/system-infrastructure-diagram.png
|
|
454
421
|
- examples/pushmi_pullyu.yml
|
|
@@ -469,7 +436,8 @@ files:
|
|
|
469
436
|
homepage: https://github.com/ualbertalib/pushmi_pullyu
|
|
470
437
|
licenses:
|
|
471
438
|
- MIT
|
|
472
|
-
metadata:
|
|
439
|
+
metadata:
|
|
440
|
+
rubygems_mfa_required: 'true'
|
|
473
441
|
post_install_message:
|
|
474
442
|
rdoc_options: []
|
|
475
443
|
require_paths:
|
|
@@ -485,7 +453,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
485
453
|
- !ruby/object:Gem::Version
|
|
486
454
|
version: '0'
|
|
487
455
|
requirements: []
|
|
488
|
-
rubygems_version: 3.
|
|
456
|
+
rubygems_version: 3.1.6
|
|
489
457
|
signing_key:
|
|
490
458
|
specification_version: 4
|
|
491
459
|
summary: Ruby application to manage flow of content from Jupiter into Swift for preservation
|