diff options
| author | Can Eldem <celdem@gitlab.com> | 2020-07-10 16:41:15 +0000 |
|---|---|---|
| committer | Can Eldem <celdem@gitlab.com> | 2020-07-10 16:41:15 +0000 |
| commit | c17546f6cfccf07d27f7984321fe62a7788e8da1 (patch) | |
| tree | 54093c956c0f4dcf4c2ad352847017aee9a88edc /spec/support/report.rb | |
| parent | c7385965b4166fb6ab2db3387c67cd54aef1b8df (diff) | |
| parent | 36cdb0040abda394264455a1fdf3d6782af95ceb (diff) | |
Merge branch '217897-isolated-omnibus-lm' into 'master'v3.17.0
Isolate license_management ruby from project ruby
See merge request gitlab-org/security-products/license-management!181
Diffstat (limited to 'spec/support/report.rb')
| -rw-r--r-- | spec/support/report.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/support/report.rb b/spec/support/report.rb new file mode 100644 index 0000000..d6546ae --- /dev/null +++ b/spec/support/report.rb @@ -0,0 +1,37 @@ +class Report + attr_reader :report + + def initialize(raw) + @report = JSON.parse(raw, symbolize_names: true) + end + + def [](key) + report[key] + end + + def dependency_names + report[:dependencies].map { |x| x[:name] } + end + + def licenses_for(name) + (find(name) || {}).fetch(:licenses, []) + end + + def find(name) + report[:dependencies].find do |dependency| + dependency[:name] == name + end + end + + def nil? + report.nil? + end + + def to_hash + to_h + end + + def to_h + report + end +end |
