repomd_parser 0.1.2 → 0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f66b992112b4ddbe3d7a9c3059334212693df24d75e7602d1c81783ecfc3541b
4
- data.tar.gz: 4f45b6566455f64bb6e8d955ad875c8d57aeb8e5a86afb09d432587897ccf11d
3
+ metadata.gz: e30a0963a99091363f07215d726b850835931f857d009e84ae92609b68cdc772
4
+ data.tar.gz: 016d84a1b4932ce1234f2a7ff01b06d612c3bb71223c716831dd861233837d4f
5
5
  SHA512:
6
- metadata.gz: 7746d5eee7cdd68ad593de3cf13b53ac779faf183c31a48fa1dcf0161aac62335010a1d881c0e6d0baddbb668bc14dc3902be4df9b87730018908227807f785e
7
- data.tar.gz: 4c8a404fa99ec5aae9213b97582a65cc7c4b59e0dfe675c9596effcb0cf1ebe7e89ea2951038a926c131d2ad3659e5df0dc8f992eb7feb801887444a5a293abe
6
+ metadata.gz: db6fec53fdc531e39a5f6b71d01f64576faf9e00ba6fc2a21ae6e363e37dad7513b61ceddacf219f70ea50f291ae1cfb318ca2c4e25fb6ac07c6c8bb210f71dc
7
+ data.tar.gz: cf1d7b57fb27e40fb1d082e843236f831bf13066cad42d5447f125d63bf89e285fae55dde5071e6ec091e7bd75d8adbdd564273159cc7e85aa26cf59b80e4001
data/Gemfile.lock CHANGED
@@ -1,32 +1,32 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- repomd_parser (0.1.2)
5
- nokogiri (~> 1.8, >= 1.8.4)
4
+ repomd_parser (0.1.3)
5
+ nokogiri (~> 1.8, >= 1.8.5)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
10
  diff-lcs (1.3)
11
11
  docile (1.3.1)
12
- json (2.1.0)
13
- mini_portile2 (2.3.0)
14
- nokogiri (1.8.4)
15
- mini_portile2 (~> 2.3.0)
12
+ json (2.2.0)
13
+ mini_portile2 (2.4.0)
14
+ nokogiri (1.10.3)
15
+ mini_portile2 (~> 2.4.0)
16
16
  rake (10.5.0)
17
- rspec (3.7.0)
18
- rspec-core (~> 3.7.0)
19
- rspec-expectations (~> 3.7.0)
20
- rspec-mocks (~> 3.7.0)
21
- rspec-core (3.7.1)
22
- rspec-support (~> 3.7.0)
23
- rspec-expectations (3.7.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
24
  diff-lcs (>= 1.2.0, < 2.0)
25
- rspec-support (~> 3.7.0)
26
- rspec-mocks (3.7.0)
25
+ rspec-support (~> 3.8.0)
26
+ rspec-mocks (3.8.0)
27
27
  diff-lcs (>= 1.2.0, < 2.0)
28
- rspec-support (~> 3.7.0)
29
- rspec-support (3.7.1)
28
+ rspec-support (~> 3.8.0)
29
+ rspec-support (3.8.0)
30
30
  simplecov (0.16.1)
31
31
  docile (~> 1.1)
32
32
  json (>= 1.8, < 3)
data/README.md CHANGED
@@ -66,6 +66,13 @@ Represents a file referenced in the metadata file. Has the following accessors:
66
66
  * `size` in bytes.
67
67
  * `arch`.
68
68
 
69
+ RPM and DRPM files additionally have the following attributes:
70
+
71
+ * `name`.
72
+ * `version`.
73
+ * `release`.
74
+ * `build_time`.
75
+
69
76
  ## Caveats
70
77
 
71
78
  * Relies on the file name to determine if the file is compressed (automatically decompresses `.gz` files)
@@ -27,12 +27,15 @@ class RepomdParser::PrimaryXmlParser < RepomdParser::BaseParser
27
27
  @package = {}
28
28
  elsif (name == 'version')
29
29
  @package[:version] = get_attribute(attrs, 'ver')
30
+ @package[:release] = get_attribute(attrs, 'rel')
30
31
  elsif (name == 'location')
31
32
  @package[:location] = get_attribute(attrs, 'href')
32
33
  elsif (name == 'checksum')
33
34
  @package[:checksum_type] = get_attribute(attrs, 'type')
34
35
  elsif (name == 'size')
35
36
  @package[:size] = get_attribute(attrs, 'package').to_i
37
+ elsif (name == 'time')
38
+ @package[:build_time] = get_attribute(attrs, 'build')
36
39
  end
37
40
  end
38
41
 
@@ -52,6 +55,10 @@ class RepomdParser::PrimaryXmlParser < RepomdParser::BaseParser
52
55
  type: :rpm,
53
56
  size: @package[:size].to_i,
54
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
55
62
  )
56
63
  end
57
64
  end
@@ -16,9 +16,27 @@
16
16
  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
17
 
18
18
  class RepomdParser::Reference
19
- attr_accessor :location, :checksum_type, :checksum, :type, :size, :arch
19
+ attr_accessor :location,
20
+ :checksum_type,
21
+ :checksum,
22
+ :type,
23
+ :size,
24
+ :arch,
25
+ :version,
26
+ :release,
27
+ :name,
28
+ :build_time
20
29
 
21
- def initialize(location:, checksum_type:, checksum:, type:, size:, arch: nil)
30
+ def initialize(location:,
31
+ checksum_type:,
32
+ checksum:,
33
+ type:,
34
+ size:,
35
+ arch: nil,
36
+ version: nil,
37
+ release: nil,
38
+ name: nil,
39
+ build_time: nil)
22
40
  local_variables.each do |local_var|
23
41
  method = "#{local_var}="
24
42
  send(method, binding.local_variable_get(local_var)) if (respond_to?(method))
@@ -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.2'
19
+ VERSION = '0.1.3'
20
20
  end
@@ -27,5 +27,5 @@ Gem::Specification.new do |spec|
27
27
  spec.add_development_dependency "rspec", "~> 3.0"
28
28
  spec.add_development_dependency 'simplecov', '~> 0.16.1'
29
29
 
30
- spec.add_dependency 'nokogiri', '~> 1.8', '>= 1.8.4'
30
+ spec.add_dependency 'nokogiri', '~> 1.8', '>= 1.8.5'
31
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: repomd_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Kapelyukhin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-11-12 00:00:00.000000000 Z
11
+ date: 2019-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -75,7 +75,7 @@ dependencies:
75
75
  version: '1.8'
76
76
  - - ">="
77
77
  - !ruby/object:Gem::Version
78
- version: 1.8.4
78
+ version: 1.8.5
79
79
  type: :runtime
80
80
  prerelease: false
81
81
  version_requirements: !ruby/object:Gem::Requirement
@@ -85,7 +85,7 @@ dependencies:
85
85
  version: '1.8'
86
86
  - - ">="
87
87
  - !ruby/object:Gem::Version
88
- version: 1.8.4
88
+ version: 1.8.5
89
89
  description:
90
90
  email:
91
91
  - ikapelyukhin@suse.com