repomd_parser 0.1.4 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
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