Class: Dependabot::DependencyFile
- Inherits:
-
Object
- Object
- Dependabot::DependencyFile
show all
- Defined in:
- lib/dependabot/dependency_file.rb
Defined Under Namespace
Classes: ContentEncoding, Operation
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(name:, content:, directory: "/", type: "file", support_file: false, symlink_target: nil, content_encoding: ContentEncoding::UTF_8, deleted: false, operation: Operation::UPDATE) ⇒ DependencyFile
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/dependabot/dependency_file.rb', line 21
def initialize(name:, content:, directory: "/", type: "file",
support_file: false, symlink_target: nil,
content_encoding: ContentEncoding::UTF_8, deleted: false, operation: Operation::UPDATE)
@name = name
@content = content
@directory = clean_directory(directory)
@symlink_target = symlink_target
@support_file = support_file
@content_encoding = content_encoding
@operation = operation
@operation = Operation::DELETE if deleted
@type = type
return unless (type == "symlink") ^ symlink_target
raise "Symlinks must specify a target!" unless symlink_target
raise "Only symlinked files must specify a target!" if symlink_target
end
|
Instance Attribute Details
#content ⇒ Object
Returns the value of attribute content.
7
8
9
|
# File 'lib/dependabot/dependency_file.rb', line 7
def content
@content
end
|
#content_encoding ⇒ Object
Returns the value of attribute content_encoding.
7
8
9
|
# File 'lib/dependabot/dependency_file.rb', line 7
def content_encoding
@content_encoding
end
|
#directory ⇒ Object
Returns the value of attribute directory.
7
8
9
|
# File 'lib/dependabot/dependency_file.rb', line 7
def directory
@directory
end
|
#name ⇒ Object
Returns the value of attribute name.
7
8
9
|
# File 'lib/dependabot/dependency_file.rb', line 7
def name
@name
end
|
#operation ⇒ Object
Returns the value of attribute operation.
7
8
9
|
# File 'lib/dependabot/dependency_file.rb', line 7
def operation
@operation
end
|
#support_file ⇒ Object
Returns the value of attribute support_file.
7
8
9
|
# File 'lib/dependabot/dependency_file.rb', line 7
def support_file
@support_file
end
|
#symlink_target ⇒ Object
Returns the value of attribute symlink_target.
7
8
9
|
# File 'lib/dependabot/dependency_file.rb', line 7
def symlink_target
@symlink_target
end
|
#type ⇒ Object
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
69
70
71
72
73
74
75
|
# File 'lib/dependabot/dependency_file.rb', line 69
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
|
#binary? ⇒ Boolean
101
102
103
|
# File 'lib/dependabot/dependency_file.rb', line 101
def binary?
content_encoding == ContentEncoding::BASE64
end
|
#decoded_content ⇒ Object
105
106
107
108
109
|
# File 'lib/dependabot/dependency_file.rb', line 105
def decoded_content
return Base64.decode64(content) if binary?
content
end
|
#deleted ⇒ Object
89
90
91
|
# File 'lib/dependabot/dependency_file.rb', line 89
def deleted
@operation == Operation::DELETE
end
|
#deleted=(deleted) ⇒ Object
#deleted? ⇒ Boolean
97
98
99
|
# File 'lib/dependabot/dependency_file.rb', line 97
def deleted?
deleted
end
|
#eql?(other) ⇒ Boolean
81
82
83
|
# File 'lib/dependabot/dependency_file.rb', line 81
def eql?(other)
self.==(other)
end
|
#hash ⇒ Object
77
78
79
|
# File 'lib/dependabot/dependency_file.rb', line 77
def hash
to_h.hash
end
|
#path ⇒ Object
65
66
67
|
# File 'lib/dependabot/dependency_file.rb', line 65
def path
Pathname.new(File.join(directory, name)).cleanpath.to_path
end
|
#support_file? ⇒ Boolean
85
86
87
|
# File 'lib/dependabot/dependency_file.rb', line 85
def support_file?
@support_file
end
|
#to_h ⇒ Object
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
# File 'lib/dependabot/dependency_file.rb', line 49
def to_h
details = {
"name" => name,
"content" => content,
"directory" => directory,
"type" => type,
"support_file" => support_file,
"content_encoding" => content_encoding,
"deleted" => deleted,
"operation" => operation
}
details["symlink_target"] = symlink_target if symlink_target
details
end
|