Skip to content

Commit

Permalink
issue #504: remove early returns and private attr_readers
Browse files Browse the repository at this point in the history
  • Loading branch information
ColinDKelley committed Nov 24, 2020
1 parent ec28e75 commit c9a6205
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 29 deletions.
17 changes: 9 additions & 8 deletions lib/listen/event/queue.rb
Expand Up @@ -30,20 +30,21 @@ def <<(args)
fail "Invalid change: #{change.inspect}" unless change.is_a?(Symbol)
fail "Invalid path: #{path.inspect}" unless path.is_a?(String)

dir = _safe_relative_from_cwd(dir)
event_queue.public_send(:<<, [type, change, dir, path, options])
dir = if @config.relative?
_safe_relative_from_cwd(dir)
else
dir
end
@event_queue << [type, change, dir, path, options]
end

delegate empty?: :event_queue
delegate pop: :event_queue
delegate close: :event_queue
delegate empty?: :@event_queue
delegate pop: :@event_queue
delegate close: :@event_queue

private

attr_reader :event_queue, :config

def _safe_relative_from_cwd(dir)
return dir unless config.relative?
dir.relative_path_from(Pathname.pwd)
rescue ArgumentError
dir
Expand Down
41 changes: 20 additions & 21 deletions lib/listen/record.rb
Expand Up @@ -17,8 +17,9 @@ def initialize(directory)
end

def add_dir(rel_path)
return if [nil, '', '.'].include? rel_path
@tree[rel_path] ||= {}
if ![nil, '', '.'].include?(rel_path)
@tree[rel_path] ||= {}
end
end

def update_file(rel_path, data)
Expand All @@ -34,18 +35,18 @@ def unset_path(rel_path)
def file_data(rel_path)
dirname, basename = Pathname(rel_path).split.map(&:to_s)
if [nil, '', '.'].include? dirname
tree[basename] ||= {}
tree[basename].dup
@tree[basename] ||= {}
@tree[basename].dup
else
tree[dirname] ||= {}
tree[dirname][basename] ||= {}
tree[dirname][basename].dup
@tree[dirname] ||= {}
@tree[dirname][basename] ||= {}
@tree[dirname][basename].dup
end
end

def dir_entries(rel_path)
subtree = if [nil, '', '.'].include? rel_path.to_s
tree
@tree
else
_sub_tree(rel_path)
end
Expand All @@ -57,7 +58,7 @@ def dir_entries(rel_path)
end

def _sub_tree(rel_path)
tree.each_with_object({}) do |(path, meta), result|
@tree.each_with_object({}) do |(path, meta), result|
next unless path.start_with?(rel_path)

if path == rel_path
Expand Down Expand Up @@ -86,26 +87,24 @@ def _auto_hash
Hash.new { |h, k| h[k] = {} }
end

attr_reader :tree

def _fast_update_file(dirname, basename, data)
if [nil, '', '.'].include? dirname
tree[basename] = (tree[basename] || {}).merge(data)
if [nil, '', '.'].include?(dirname)
@tree[basename] = (@tree[basename] || {}).merge(data)
else
tree[dirname] ||= {}
tree[dirname][basename] = (tree[dirname][basename] || {}).merge(data)
@tree[dirname] ||= {}
@tree[dirname][basename] = (@tree[dirname][basename] || {}).merge(data)
end
end

def _fast_unset_path(dirname, basename)
# this may need to be reworked to properly remove
# entries from a tree, without adding non-existing dirs to the record
if [nil, '', '.'].include? dirname
return unless tree.key?(basename)
tree.delete(basename)
else
return unless tree.key?(dirname)
tree[dirname].delete(basename)
if [nil, '', '.'].include?(dirname)
if @tree.key?(basename)
@tree.delete(basename)
end
elsif @tree.key?(dirname)
@tree[dirname].delete(basename)
end
end

Expand Down

0 comments on commit c9a6205

Please sign in to comment.