Class: SemgrepWebApp::Ecosystem1

Inherits:
Object
  • Object
show all
Defined in:
lib/semgrep_web_app/models/ecosystem1.rb

Overview

The ecosystem the dependency is in (e.g. pypi, npm, etc). | value | description | |-------|---------------| | no_package_manager | | | npm | | | pypi | | | gomod | | | cargo | | | maven | | | gem | | | composer | | | nuget | | | pub | | | swiftpm | | | hex | | | cocoapods | | | mix | | | opam | |

Constant Summary collapse

ECOSYSTEM1 =
[
  # TODO: Write general description for NO_PACKAGE_MANAGER
  NO_PACKAGE_MANAGER = 'no_package_manager'.freeze,

  # TODO: Write general description for NPM
  NPM = 'npm'.freeze,

  # TODO: Write general description for PYPI
  PYPI = 'pypi'.freeze,

  # TODO: Write general description for GOMOD
  GOMOD = 'gomod'.freeze,

  # TODO: Write general description for CARGO
  CARGO = 'cargo'.freeze,

  # TODO: Write general description for MAVEN
  MAVEN = 'maven'.freeze,

  # TODO: Write general description for GEM
  GEM = 'gem'.freeze,

  # TODO: Write general description for COMPOSER
  COMPOSER = 'composer'.freeze,

  # TODO: Write general description for NUGET
  NUGET = 'nuget'.freeze,

  # TODO: Write general description for PUB
  PUB = 'pub'.freeze,

  # TODO: Write general description for SWIFTPM
  SWIFTPM = 'swiftpm'.freeze,

  # TODO: Write general description for HEX
  HEX = 'hex'.freeze,

  # TODO: Write general description for COCOAPODS
  COCOAPODS = 'cocoapods'.freeze,

  # TODO: Write general description for MIX
  MIX = 'mix'.freeze,

  # TODO: Write general description for OPAM
  OPAM = 'opam'.freeze
].freeze

Class Method Summary collapse

Class Method Details

.from_value(value, default_value = NO_PACKAGE_MANAGER) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/semgrep_web_app/models/ecosystem1.rb', line 66

def self.from_value(value, default_value = NO_PACKAGE_MANAGER)
  return default_value if value.nil?

  str = value.to_s.strip

  case str.downcase
  when 'no_package_manager' then NO_PACKAGE_MANAGER
  when 'npm' then NPM
  when 'pypi' then PYPI
  when 'gomod' then GOMOD
  when 'cargo' then CARGO
  when 'maven' then MAVEN
  when 'gem' then GEM
  when 'composer' then COMPOSER
  when 'nuget' then NUGET
  when 'pub' then PUB
  when 'swiftpm' then SWIFTPM
  when 'hex' then HEX
  when 'cocoapods' then COCOAPODS
  when 'mix' then MIX
  when 'opam' then OPAM
  else
    default_value
  end
end

.validate(value) ⇒ Object



60
61
62
63
64
# File 'lib/semgrep_web_app/models/ecosystem1.rb', line 60

def self.validate(value)
  return false if value.nil?

  ECOSYSTEM1.include?(value)
end