Module: EacFs::Traversable

Defined in:
lib/eac_fs/traversable.rb

Constant Summary collapse

PROP_METHOD_PREFIX =
'traverser_'
BOOLEAN_PROPS =
%i[hidden_directories recursive sort].freeze
PATH_PROPS =
%i[check_directory check_file].freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.prop_method_name(prop) ⇒ Object



12
13
14
# File 'lib/eac_fs/traversable.rb', line 12

def prop_method_name(prop)
  "#{PROP_METHOD_PREFIX}#{prop}"
end

Instance Method Details

#traverser_check_path(path) ⇒ Object



33
34
35
# File 'lib/eac_fs/traversable.rb', line 33

def traverser_check_path(path)
  traverser_new.check_path(path)
end

#traverser_newObject



37
38
39
40
41
42
43
# File 'lib/eac_fs/traversable.rb', line 37

def traverser_new
  r = ::EacFs::Traverser.new
  (BOOLEAN_PROPS + PATH_PROPS).each do |prop|
    r.send("#{prop}=", method(::EacFs::Traversable.prop_method_name(prop)))
  end
  r
end