Class: Thor::Actions::EmptyDirectory
- Defined in:
- lib/vendor/thor/lib/thor/actions/empty_directory.rb
Overview
Class which holds create directory logic. This is the base class for other actions like create_file and directory.
This implementation is based in Templater actions, created by Jonas Nicklas and Michael S. Klishin under MIT LICENSE.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#base ⇒ Object
readonly
:nodoc:.
-
#config ⇒ Object
readonly
:nodoc:.
-
#destination ⇒ Object
readonly
:nodoc:.
-
#given_destination ⇒ Object
readonly
:nodoc:.
-
#relative_destination ⇒ Object
readonly
:nodoc:.
Instance Method Summary collapse
-
#exists? ⇒ Boolean
Checks if the destination file already exists.
-
#initialize(base, destination, config = {}) ⇒ EmptyDirectory
constructor
Initializes given the source and destination.
- #invoke! ⇒ Object
- #revoke! ⇒ Object
Constructor Details
#initialize(base, destination, config = {}) ⇒ EmptyDirectory
Initializes given the source and destination.
Parameters
- base<Thor::Base>
-
A Thor::Base instance
- source<String>
-
Relative path to the source of this file
- destination<String>
-
Relative path to the destination of this file
- config<Hash>
-
give :verbose => false to not log the status.
35 36 37 38 |
# File 'lib/vendor/thor/lib/thor/actions/empty_directory.rb', line 35 def initialize(base, destination, config={}) @base, @config = base, { :verbose => true }.merge(config) self.destination = destination end |
Instance Attribute Details
#base ⇒ Object (readonly)
:nodoc:
25 26 27 |
# File 'lib/vendor/thor/lib/thor/actions/empty_directory.rb', line 25 def base @base end |
#config ⇒ Object (readonly)
:nodoc:
25 26 27 |
# File 'lib/vendor/thor/lib/thor/actions/empty_directory.rb', line 25 def config @config end |
#destination ⇒ Object
:nodoc:
25 26 27 |
# File 'lib/vendor/thor/lib/thor/actions/empty_directory.rb', line 25 def destination @destination end |
#given_destination ⇒ Object (readonly)
:nodoc:
25 26 27 |
# File 'lib/vendor/thor/lib/thor/actions/empty_directory.rb', line 25 def given_destination @given_destination end |
#relative_destination ⇒ Object (readonly)
:nodoc:
25 26 27 |
# File 'lib/vendor/thor/lib/thor/actions/empty_directory.rb', line 25 def relative_destination @relative_destination end |
Instance Method Details
#exists? ⇒ Boolean
Checks if the destination file already exists.
Returns
- Boolean
-
true if the file exists, false otherwise.
45 46 47 |
# File 'lib/vendor/thor/lib/thor/actions/empty_directory.rb', line 45 def exists? ::File.exists?(destination) end |
#invoke! ⇒ Object
49 50 51 52 53 |
# File 'lib/vendor/thor/lib/thor/actions/empty_directory.rb', line 49 def invoke! invoke_with_conflict_check do ::FileUtils.mkdir_p(destination) end end |
#revoke! ⇒ Object
55 56 57 58 59 |
# File 'lib/vendor/thor/lib/thor/actions/empty_directory.rb', line 55 def revoke! say_status :remove, :red ::FileUtils.rm_rf(destination) if !pretend? && exists? given_destination end |