Class: Dependabot::DependencyFile

Inherits:
Object
  • Object
show all
Defined in:
lib/dependabot/dependency_file.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, content:, directory: "/", type: "file", support_file: false) ⇒ DependencyFile

Returns a new instance of DependencyFile.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/dependabot/dependency_file.rb', line 9

def initialize(name:, content:, directory: "/", type: "file",
               support_file: false)
  @name = name
  @content = content
  @directory = clean_directory(directory)
  @support_file = support_file

  # Type is used *very* sparingly. It lets the git_modules updater know that
  # a "file" is actually a submodule, and lets our Go updaters know which
  # file represents the main.go.
  # New use cases should be avoided if at all possible (and use the
  # support_file flag instead)
  @type = type
end

Instance Attribute Details

#contentObject

Returns the value of attribute content.



7
8
9
# File 'lib/dependabot/dependency_file.rb', line 7

def content
  @content
end

#directoryObject

Returns the value of attribute directory.



7
8
9
# File 'lib/dependabot/dependency_file.rb', line 7

def directory
  @directory
end

#nameObject

Returns the value of attribute name.



7
8
9
# File 'lib/dependabot/dependency_file.rb', line 7

def name
  @name
end

#support_fileObject

Returns the value of attribute support_file.



7
8
9
# File 'lib/dependabot/dependency_file.rb', line 7

def support_file
  @support_file
end

#typeObject

Returns the value of attribute type.



7
8
9
# File 'lib/dependabot/dependency_file.rb', line 7

def type
  @type
end

Instance Method Details

#==(other) ⇒ Object



38
39
40
41
42
43
44
# File 'lib/dependabot/dependency_file.rb', line 38

def ==(other)
  return false unless other.instance_of?(self.class)

  my_hash = to_h.reject { |k| k == "support_file" }
  their_hash = other.to_h.reject { |k| k == "support_file" }
  my_hash == their_hash
end

#eql?(other) ⇒ Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/dependabot/dependency_file.rb', line 50

def eql?(other)
  self.==(other)
end

#hashObject



46
47
48
# File 'lib/dependabot/dependency_file.rb', line 46

def hash
  to_h.hash
end

#pathObject



34
35
36
# File 'lib/dependabot/dependency_file.rb', line 34

def path
  Pathname.new(File.join(directory, name)).cleanpath.to_path
end

#support_file?Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/dependabot/dependency_file.rb', line 54

def support_file?
  @support_file
end

#to_hObject



24
25
26
27
28
29
30
31
32
# File 'lib/dependabot/dependency_file.rb', line 24

def to_h
  {
    "name" => name,
    "content" => content,
    "directory" => directory,
    "type" => type,
    "support_file" => support_file
  }
end