Class: Homebrew::InstallSteps::DSL Private

Inherits:
Object
  • Object
show all
Defined in:
install_steps.rb

This class is part of a private API. This class may only be used in the Homebrew/brew repository. Third parties should avoid using this class if possible, as it may be removed or changed without warning.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(default_base: nil, default_source_base: nil, default_target_base: nil) ⇒ void

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Parameters:



22
23
24
25
26
27
# File 'install_steps.rb', line 22

def initialize(default_base: nil, default_source_base: nil, default_target_base: nil)
  @default_base = ::T.let(default_base, ::T.nilable(::T.any(::String, ::Symbol)))
  @default_source_base = ::T.let(default_source_base, ::T.nilable(::T.any(::String, ::Symbol)))
  @default_target_base = ::T.let(default_target_base, ::T.nilable(::T.any(::String, ::Symbol)))
  @steps = ::T.let([], Steps)
end

Instance Attribute Details

#stepsSteps (readonly)

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



30
31
32
# File 'install_steps.rb', line 30

def steps
  @steps
end

Class Method Details

.build(default_base: nil, default_source_base: nil, default_target_base: nil, &block) ⇒ Steps

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Parameters:

Returns:



40
41
42
43
44
# File 'install_steps.rb', line 40

def self.build(default_base: nil, default_source_base: nil, default_target_base: nil, &block)
  dsl = new(default_base:, default_source_base:, default_target_base:)
  dsl.instance_eval(&block) if block
  dsl.steps
end

.normalise_steps(steps) ⇒ Steps

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Parameters:

  • steps (::T::Array[::T.untyped])

Returns:



47
48
49
50
51
# File 'install_steps.rb', line 47

def self.normalise_steps(steps)
  steps.map do |step|
    ::T.cast(normalise_step_value(step), Step)
  end
end

Instance Method Details

#compile_gsettings_schemasvoid

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.



188
189
190
# File 'install_steps.rb', line 188

def compile_gsettings_schemas
  add_rebuild_action("compile_gsettings_schemas", "share/glib-2.0/schemas")
end

#gdk_pixbuf_query_loadersvoid

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.



198
199
200
# File 'install_steps.rb', line 198

def gdk_pixbuf_query_loaders
  add_step("gdk_pixbuf_query_loaders")
end

#gio_querymodulesvoid

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.



193
194
195
# File 'install_steps.rb', line 193

def gio_querymodules
  add_rebuild_action("gio_querymodules", "lib/gio/modules")
end

#gtk_update_icon_cachevoid

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.



203
204
205
# File 'install_steps.rb', line 203

def gtk_update_icon_cache
  add_rebuild_action("gtk_update_icon_cache", "share/icons/hicolor")
end

#ln_s(source, target, source_base: nil, target_base: nil, source_formula: nil, target_formula: nil, force: false, uninstall: false) ⇒ void

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.

Parameters:



150
151
152
153
# File 'install_steps.rb', line 150

def ln_s(source, target, source_base: nil, target_base: nil, source_formula: nil, target_formula: nil,
         force: false, uninstall: false)
  symlink(source, target, source_base:, target_base:, source_formula:, target_formula:, force:, uninstall:)
end

#ln_sf(source, target, source_base: nil, target_base: nil, source_formula: nil, target_formula: nil, uninstall: false) ⇒ void

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.

Parameters:



166
167
168
169
# File 'install_steps.rb', line 166

def ln_sf(source, target, source_base: nil, target_base: nil, source_formula: nil, target_formula: nil,
          uninstall: false)
  symlink(source, target, source_base:, target_base:, source_formula:, target_formula:, force: true, uninstall:)
end

#mkdir(path, base: nil) ⇒ void

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.

Parameters:



69
70
71
# File 'install_steps.rb', line 69

def mkdir(path, base: nil)
  add_step("mkdir", "path" => path_spec(path, base:, default_base: @default_base))
end

#mkdir_p(path, base: nil) ⇒ void

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.

Parameters:



74
75
76
# File 'install_steps.rb', line 74

def mkdir_p(path, base: nil)
  add_step("mkdir_p", "path" => path_spec(path, base:, default_base: @default_base))
end

#move(source, target, source_base: nil, target_base: nil, force: false) ⇒ void Also known as: mv

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.

Parameters:



92
93
94
95
96
97
# File 'install_steps.rb', line 92

def move(source, target, source_base: nil, target_base: nil, force: false)
  add_step("move",
           "source" => path_spec(source, base: source_base, default_base: @default_source_base),
           "target" => path_spec(target, base: target_base, default_base: @default_target_base),
           "force"  => force)
end

#move_children(source, target, source_base: nil, target_base: nil) ⇒ void

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.

Parameters:



109
110
111
112
113
# File 'install_steps.rb', line 109

def move_children(source, target, source_base: nil, target_base: nil)
  add_step("move_children",
           "source" => path_spec(source, base: source_base, default_base: @default_source_base),
           "target" => path_spec(target, base: target_base, default_base: @default_target_base))
end

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.

Parameters:



127
128
129
130
131
132
133
134
135
136
# File 'install_steps.rb', line 127

def symlink(source, target, source_base: nil, target_base: nil, source_formula: nil, target_formula: nil,
            force: false, uninstall: false)
  add_step("symlink",
           "source"    => path_spec(source, base: source_base, formula: source_formula,
                                     default_base: @default_source_base),
           "target"    => path_spec(target, base: target_base, formula: target_formula,
                                     default_base: @default_target_base),
           "force"     => force,
           "uninstall" => uninstall)
end

#touch(path, base: nil) ⇒ void

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.

Parameters:



79
80
81
# File 'install_steps.rb', line 79

def touch(path, base: nil)
  add_step("touch", "path" => path_spec(path, base:, default_base: @default_base))
end

#update_desktop_databasevoid

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.



213
214
215
# File 'install_steps.rb', line 213

def update_desktop_database
  add_rebuild_action("update_desktop_database", "share/applications")
end

#update_mime_databasevoid

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.



208
209
210
# File 'install_steps.rb', line 208

def update_mime_database
  add_rebuild_action("update_mime_database", "share/mime")
end

#write(path, content, base: nil, overwrite: false) ⇒ void

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

This method returns an undefined value.

Parameters:



179
180
181
182
183
184
185
# File 'install_steps.rb', line 179

def write(path, content, base: nil, overwrite: false)
  content = "#{content}\n" unless content.end_with?("\n")
  add_step("write",
           "path"      => path_spec(path, base:, default_base: @default_base),
           "content"   => content,
           "overwrite" => overwrite)
end