repomd_parser 0.1.4 → 0.1.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b0aa34e347a32f4b4af754c3b3271a19b67683b4e218dea618314fd2ae910cd
4
- data.tar.gz: 53e8e07e649ee88d5088d4366af364b2c3a194ac79f27382d516a260ae06c0ed
3
+ metadata.gz: 651e3571a7eb4f5e890a8b8fab2cb1d2e1ffe9b446099f9b1ef7a4e1bfa1654e
4
+ data.tar.gz: cc198d24a1ac1aaf09a3ae5a9ca50fb06fe16b52311ab9ab7ecc8b29ef0af4e3
5
5
  SHA512:
6
- metadata.gz: ea72a4563021572da6f2721a40f6b67ad3b9253cd947fd631fe10f0c265af8b2b6f3177c5abad059ca18029a11f1ade7cc4cf7725928aab890e19bf313681c29
7
- data.tar.gz: a9c6b920a55d6e111deecb346412d89e7b0ef3a042192001379fdf52958627916f1694cacd42d1704cc7c7682e062ebcea3dfeb5caff2009d5e1bef027a47728
6
+ metadata.gz: d61636f109f8c67d526d3b4d88a531ccf49cf9b2f65e91c475884e9c435a126b7c3d8d1b992ebeca4e2be079d5f92d285edd1e3031480fdd0df99d92130791d6
7
+ data.tar.gz: c02f8e14053a30d28f6b3c216522cd6edc83099adac98553b099f68b0901f5d9922b0cc99e7e92934ed13be7d6ecb2d40a0435ba9ad563befec5b724f3074645
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
- source "https://rubygems.org"
1
+ source 'https://rubygems.org'
2
2
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
3
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
5
  # Specify your gem's dependencies in repomd_parser.gemspec
6
6
  gemspec
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # RepomdParser [![Build Status](https://travis-ci.org/ikapelyukhin/repomd-parser.svg?branch=master)](https://travis-ci.org/ikapelyukhin/repomd-parser)
1
+ # RepomdParser
2
2
 
3
3
  RPM repository metadata parser.
4
4
 
@@ -75,11 +75,11 @@ RPM and DRPM files additionally have the following attributes:
75
75
 
76
76
  ## Caveats
77
77
 
78
- * Relies on the file name to determine if the file is compressed (automatically decompresses `.gz` files)
78
+ * Relies on the file extension to determine if the file is compressed (automatically decompresses `.gz` and `.zst` files)
79
79
 
80
80
  ## Development
81
81
 
82
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
82
+ After checking out the repo, run `bundle install` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
83
83
 
84
84
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
85
85
 
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- task :default => :spec
6
+ task default: :spec
@@ -19,30 +19,28 @@ require 'nokogiri'
19
19
  require 'zlib'
20
20
 
21
21
  class RepomdParser::BaseParser < Nokogiri::XML::SAX::Document
22
-
23
22
  def initialize(filename)
23
+ super()
24
24
  @referenced_files = []
25
25
  @filename = filename
26
26
  end
27
27
 
28
28
  def parse
29
- if (File.extname(@filename) == '.gz')
30
- Zlib::GzipReader.open(@filename) do |gz|
31
- Nokogiri::XML::SAX::Parser.new(self).parse(gz)
32
- end
33
- else
34
- File.open(@filename) do |fh|
35
- Nokogiri::XML::SAX::Parser.new(self).parse(fh)
36
- end
37
- end
38
-
29
+ Nokogiri::XML::SAX::Parser.new(self).parse(file_io_class.open(@filename))
39
30
  @referenced_files
40
31
  end
41
32
 
42
33
  protected
43
34
 
35
+ def file_io_class
36
+ case File.extname(@filename)
37
+ when '.gz' then Zlib::GzipReader
38
+ when '.zst' then RepomdParser::ZstdReader
39
+ else File
40
+ end
41
+ end
42
+
44
43
  def get_attribute(attributes, name)
45
44
  attributes.select { |e| e[0] == name }.first[1]
46
45
  end
47
-
48
46
  end
@@ -16,49 +16,45 @@
16
16
  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
17
 
18
18
  class RepomdParser::DeltainfoXmlParser < RepomdParser::BaseParser
19
-
20
- def initialize(filename)
21
- super(filename)
22
- end
23
-
24
19
  def start_element(name, attrs = [])
25
20
  @current_node = name.to_sym
26
- if (name == 'newpackage')
21
+ case name
22
+ when 'newpackage'
27
23
  @package = {}
28
24
  @package[:version] = get_attribute(attrs, 'version')
29
25
  @package[:name] = get_attribute(attrs, 'name')
30
26
  @package[:arch] = get_attribute(attrs, 'arch')
31
- elsif (name == 'delta')
27
+ when 'delta'
32
28
  @delta = {}
33
- elsif (name == 'checksum')
29
+ when 'checksum'
34
30
  @delta[:checksum_type] = get_attribute(attrs, 'type')
35
31
  end
36
32
  end
37
33
 
38
34
  def characters(string)
39
- if (@current_node == :filename)
35
+ case @current_node
36
+ when :filename
40
37
  @delta[:location] ||= ''
41
38
  @delta[:location] += string.strip
42
- elsif (@current_node == :checksum)
39
+ when :checksum
43
40
  @delta[:checksum] ||= ''
44
41
  @delta[:checksum] += string.strip
45
- elsif (@current_node == :size)
42
+ when :size
46
43
  @delta[:size] ||= ''
47
44
  @delta[:size] += string.strip
48
45
  end
49
46
  end
50
47
 
51
48
  def end_element(name)
52
- if (name == 'delta')
53
- @referenced_files << RepomdParser::Reference.new(
54
- location: @delta[:location],
55
- checksum_type: @delta[:checksum_type],
56
- checksum: @delta[:checksum],
57
- type: :drpm,
58
- size: @delta[:size].to_i,
59
- arch: @package[:arch],
60
- )
61
- end
62
- end
49
+ return unless name == 'delta'
63
50
 
51
+ @referenced_files << RepomdParser::Reference.new(
52
+ location: @delta[:location],
53
+ checksum_type: @delta[:checksum_type],
54
+ checksum: @delta[:checksum],
55
+ type: :drpm,
56
+ size: @delta[:size].to_i,
57
+ arch: @package[:arch]
58
+ )
59
+ end
64
60
  end
@@ -16,51 +16,49 @@
16
16
  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
17
 
18
18
  class RepomdParser::PrimaryXmlParser < RepomdParser::BaseParser
19
-
20
- def initialize(filename)
21
- super(filename)
22
- end
23
-
24
19
  def start_element(name, attrs = [])
25
20
  @current_node = name.to_sym
26
- if (name == 'package')
21
+ case name
22
+ when 'package'
27
23
  @package = {}
28
- elsif (name == 'version')
24
+ when 'version'
29
25
  @package[:version] = get_attribute(attrs, 'ver')
30
26
  @package[:release] = get_attribute(attrs, 'rel')
31
- elsif (name == 'location')
27
+ when 'location'
32
28
  @package[:location] = get_attribute(attrs, 'href')
33
- elsif (name == 'checksum')
29
+ when 'checksum'
34
30
  @package[:checksum_type] = get_attribute(attrs, 'type')
35
- elsif (name == 'size')
31
+ when 'size'
36
32
  @package[:size] = get_attribute(attrs, 'package').to_i
37
- elsif (name == 'time')
33
+ when 'time'
38
34
  @package[:build_time] = get_attribute(attrs, 'build')
39
35
  end
40
36
  end
41
37
 
42
38
  def characters(string)
43
- if (%i[name arch checksum].include? @current_node)
44
- @package[@current_node] ||= ''
45
- @package[@current_node] += string.strip
46
- end
39
+ return unless %i[name arch checksum summary description rpm:license].include? @current_node
40
+
41
+ @package[@current_node] ||= ''
42
+ @package[@current_node] += string.strip
47
43
  end
48
44
 
49
45
  def end_element(name)
50
- if (name == 'package')
51
- @referenced_files << RepomdParser::Reference.new(
52
- location: @package[:location],
53
- checksum_type: @package[:checksum_type],
54
- checksum: @package[:checksum],
55
- type: :rpm,
56
- size: @package[:size].to_i,
57
- arch: @package[:arch],
58
- version: @package[:version],
59
- release: @package[:release],
60
- name: @package[:name],
61
- build_time: Time.at(@package[:build_time].to_i).utc
62
- )
63
- end
64
- end
46
+ return unless name == 'package'
65
47
 
48
+ @referenced_files << RepomdParser::Reference.new(
49
+ location: @package[:location],
50
+ checksum_type: @package[:checksum_type],
51
+ checksum: @package[:checksum],
52
+ type: :rpm,
53
+ size: @package[:size].to_i,
54
+ arch: @package[:arch],
55
+ version: @package[:version],
56
+ release: @package[:release],
57
+ name: @package[:name],
58
+ summary: @package[:summary],
59
+ description: @package[:description],
60
+ license: @package[:'rpm:license'],
61
+ build_time: Time.at(@package[:build_time].to_i).utc
62
+ )
63
+ end
66
64
  end
@@ -25,6 +25,9 @@ class RepomdParser::Reference
25
25
  :version,
26
26
  :release,
27
27
  :name,
28
+ :summary,
29
+ :description,
30
+ :license,
28
31
  :build_time
29
32
 
30
33
  def initialize(location:,
@@ -36,18 +39,21 @@ class RepomdParser::Reference
36
39
  version: nil,
37
40
  release: nil,
38
41
  name: nil,
42
+ summary: nil,
43
+ description: nil,
44
+ license: nil,
39
45
  build_time: nil)
40
46
  local_variables.each do |local_var|
41
47
  method = "#{local_var}="
42
- send(method, binding.local_variable_get(local_var)) if (respond_to?(method))
48
+ send(method, binding.local_variable_get(local_var)) if respond_to?(method)
43
49
  end
44
50
  end
45
51
 
46
52
  # Overloaded comparator for specs
47
- def ==(obj)
53
+ def ==(other)
48
54
  result = true
49
55
  instance_variables.each do |instance_var|
50
- result &&= (instance_variable_get(instance_var) == obj.instance_variable_get(instance_var))
56
+ result &&= (instance_variable_get(instance_var) == other.instance_variable_get(instance_var))
51
57
  end
52
58
  result
53
59
  end
@@ -16,7 +16,6 @@
16
16
  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
17
 
18
18
  class RepomdParser::RepomdXmlParser
19
-
20
19
  def initialize(filename)
21
20
  @filename = filename
22
21
  end
@@ -48,5 +47,4 @@ class RepomdParser::RepomdXmlParser
48
47
 
49
48
  files
50
49
  end
51
-
52
50
  end
@@ -16,5 +16,5 @@
16
16
  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
17
 
18
18
  module RepomdParser
19
- VERSION = '0.1.4'
19
+ VERSION = '0.1.6'.freeze
20
20
  end
@@ -0,0 +1,40 @@
1
+ # repomd_parser -- Ruby gem to parse RPM repository metadata
2
+ # Copyright (C) 2024 Ivan Kapelyukhin
3
+ #
4
+ # This program is free software; you can redistribute it and/or modify
5
+ # it under the terms of the GNU General Public License as published by
6
+ # the Free Software Foundation; either version 2 of the License, or
7
+ # (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU General Public License along
15
+ # with this program; if not, write to the Free Software Foundation, Inc.,
16
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+
18
+ require 'zstd-ruby'
19
+
20
+ class RepomdParser::ZstdReader < File
21
+ def initialize(*args)
22
+ super(*args)
23
+ @stream = Zstd::StreamingDecompress.new
24
+ @buffer = ''
25
+ end
26
+
27
+ def read(len = nil, out = nil)
28
+ @buffer << @stream.decompress(super(len)) while @buffer.size < len && !eof
29
+
30
+ if @buffer.size > len
31
+ out = @buffer[0..len]
32
+ @buffer = @buffer[len..-1]
33
+ else
34
+ out = @buffer
35
+ @buffer = ''
36
+ end
37
+
38
+ out
39
+ end
40
+ end
data/lib/repomd_parser.rb CHANGED
@@ -24,3 +24,4 @@ require 'repomd_parser/base_parser'
24
24
  require 'repomd_parser/repomd_xml_parser'
25
25
  require 'repomd_parser/deltainfo_xml_parser'
26
26
  require 'repomd_parser/primary_xml_parser'
27
+ require 'repomd_parser/zstd_reader'
@@ -1,31 +1,38 @@
1
-
2
- lib = File.expand_path("../lib", __FILE__)
1
+ lib = File.expand_path('lib', __dir__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "repomd_parser/version"
3
+ require 'repomd_parser/version'
5
4
 
6
5
  Gem::Specification.new do |spec|
7
- spec.name = "repomd_parser"
6
+ spec.name = 'repomd_parser'
8
7
  spec.version = RepomdParser::VERSION
9
- spec.authors = ["Ivan Kapelyukhin"]
10
- spec.email = ["ikapelyukhin@suse.com"]
8
+ spec.authors = ['Ivan Kapelyukhin']
9
+ spec.email = ['ikapelyukhin@opensuse.org']
11
10
 
12
- spec.summary = %q{RPM repository metadata (RepoMD) parser}
13
- spec.homepage = "https://github.com/ikapelyukhin/repomd-parser"
11
+ spec.summary = 'RPM repository metadata (RepoMD) parser'
12
+ spec.homepage = 'https://github.com/ikapelyukhin/repomd-parser'
14
13
  spec.license = 'GPL-2.0-or-later'
15
14
 
16
15
  # Specify which files should be added to the gem when it is released.
17
16
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
18
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
19
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }.reject { |f| f.match(%r{^\.}) }
17
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
18
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }.reject { |f| f.match(/^\./) }
20
19
  end
21
- spec.bindir = "exe"
20
+ spec.bindir = 'exe'
22
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
- spec.require_paths = ["lib"]
22
+ spec.require_paths = ['lib']
23
+ spec.required_ruby_version = '>= 2.5'
24
+
25
+ spec.metadata = { 'rubygems_mfa_required' => 'true' }
24
26
 
25
- spec.add_development_dependency "bundler", "~> 1.16"
26
- spec.add_development_dependency "rake", "~> 10.0"
27
- spec.add_development_dependency "rspec", "~> 3.0"
27
+ spec.add_development_dependency 'bundler', '>= 1.16'
28
+ spec.add_development_dependency 'rake', '~> 13.0'
29
+ spec.add_development_dependency 'rspec', '~> 3.0'
28
30
  spec.add_development_dependency 'simplecov', '~> 0.16.1'
29
31
 
32
+ # Locked because of Ruby >= 2.5 dependency
33
+ spec.add_development_dependency 'rubocop', '<= 1.25'
34
+ spec.add_development_dependency 'rubocop-ast', '<= 1.17.0'
35
+
30
36
  spec.add_dependency 'nokogiri', '~> 1.8'
37
+ spec.add_dependency 'zstd-ruby', '~> 1.3', '>= 1.3.5.0'
31
38
  end
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: repomd_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Kapelyukhin
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-18 00:00:00.000000000 Z
11
+ date: 2024-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.16'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.16'
27
27
  - !ruby/object:Gem::Dependency
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,34 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.16.1
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "<="
74
+ - !ruby/object:Gem::Version
75
+ version: '1.25'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "<="
81
+ - !ruby/object:Gem::Version
82
+ version: '1.25'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop-ast
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "<="
88
+ - !ruby/object:Gem::Version
89
+ version: 1.17.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "<="
95
+ - !ruby/object:Gem::Version
96
+ version: 1.17.0
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: nokogiri
71
99
  requirement: !ruby/object:Gem::Requirement
@@ -80,19 +108,37 @@ dependencies:
80
108
  - - "~>"
81
109
  - !ruby/object:Gem::Version
82
110
  version: '1.8'
83
- description:
111
+ - !ruby/object:Gem::Dependency
112
+ name: zstd-ruby
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1.3'
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: 1.3.5.0
121
+ type: :runtime
122
+ prerelease: false
123
+ version_requirements: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: '1.3'
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: 1.3.5.0
131
+ description:
84
132
  email:
85
- - ikapelyukhin@suse.com
133
+ - ikapelyukhin@opensuse.org
86
134
  executables: []
87
135
  extensions: []
88
136
  extra_rdoc_files: []
89
137
  files:
90
138
  - COPYING.txt
91
139
  - Gemfile
92
- - Gemfile.lock
93
140
  - README.md
94
141
  - Rakefile
95
- - bin/setup
96
142
  - lib/repomd_parser.rb
97
143
  - lib/repomd_parser/base_parser.rb
98
144
  - lib/repomd_parser/deltainfo_xml_parser.rb
@@ -100,12 +146,14 @@ files:
100
146
  - lib/repomd_parser/reference.rb
101
147
  - lib/repomd_parser/repomd_xml_parser.rb
102
148
  - lib/repomd_parser/version.rb
149
+ - lib/repomd_parser/zstd_reader.rb
103
150
  - repomd_parser.gemspec
104
151
  homepage: https://github.com/ikapelyukhin/repomd-parser
105
152
  licenses:
106
153
  - GPL-2.0-or-later
107
- metadata: {}
108
- post_install_message:
154
+ metadata:
155
+ rubygems_mfa_required: 'true'
156
+ post_install_message:
109
157
  rdoc_options: []
110
158
  require_paths:
111
159
  - lib
@@ -113,16 +161,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
113
161
  requirements:
114
162
  - - ">="
115
163
  - !ruby/object:Gem::Version
116
- version: '0'
164
+ version: '2.5'
117
165
  required_rubygems_version: !ruby/object:Gem::Requirement
118
166
  requirements:
119
167
  - - ">="
120
168
  - !ruby/object:Gem::Version
121
169
  version: '0'
122
170
  requirements: []
123
- rubyforge_project:
124
- rubygems_version: 2.7.3
125
- signing_key:
171
+ rubygems_version: 3.3.15
172
+ signing_key:
126
173
  specification_version: 4
127
174
  summary: RPM repository metadata (RepoMD) parser
128
175
  test_files: []
data/Gemfile.lock DELETED
@@ -1,47 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- repomd_parser (0.1.4)
5
- nokogiri (~> 1.8)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- diff-lcs (1.3)
11
- docile (1.3.1)
12
- json (2.2.0)
13
- mini_portile2 (2.4.0)
14
- nokogiri (1.10.3)
15
- mini_portile2 (~> 2.4.0)
16
- rake (10.5.0)
17
- rspec (3.8.0)
18
- rspec-core (~> 3.8.0)
19
- rspec-expectations (~> 3.8.0)
20
- rspec-mocks (~> 3.8.0)
21
- rspec-core (3.8.0)
22
- rspec-support (~> 3.8.0)
23
- rspec-expectations (3.8.3)
24
- diff-lcs (>= 1.2.0, < 2.0)
25
- rspec-support (~> 3.8.0)
26
- rspec-mocks (3.8.0)
27
- diff-lcs (>= 1.2.0, < 2.0)
28
- rspec-support (~> 3.8.0)
29
- rspec-support (3.8.0)
30
- simplecov (0.16.1)
31
- docile (~> 1.1)
32
- json (>= 1.8, < 3)
33
- simplecov-html (~> 0.10.0)
34
- simplecov-html (0.10.2)
35
-
36
- PLATFORMS
37
- ruby
38
-
39
- DEPENDENCIES
40
- bundler (~> 1.16)
41
- rake (~> 10.0)
42
- repomd_parser!
43
- rspec (~> 3.0)
44
- simplecov (~> 0.16.1)
45
-
46
- BUNDLED WITH
47
- 1.16.3
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