Class: Filesortd::Callback
- Inherits:
-
Object
- Object
- Filesortd::Callback
- Defined in:
- lib/filesortd/callback.rb
Overview
Folder DSL (add matchers)
Instance Attribute Summary collapse
-
#matcher_sets ⇒ Object
Returns the value of attribute matcher_sets.
Instance Method Summary collapse
- #any(&callback) ⇒ Object
- #call(paths) ⇒ Object
- #downloaded_from(pattern, &callback) ⇒ Object
- #extension(ext, &callback) ⇒ Object (also: #ext)
-
#initialize ⇒ Callback
constructor
A new instance of Callback.
- #kind(pattern, &callback) ⇒ Object
- #label(lbl, &callback) ⇒ Object
- #match(options = {}, &callback) ⇒ Object
- #pattern(pattern, &callback) ⇒ Object
Constructor Details
#initialize ⇒ Callback
Returns a new instance of Callback.
10 11 12 |
# File 'lib/filesortd/callback.rb', line 10 def initialize @matcher_sets = {} end |
Instance Attribute Details
#matcher_sets ⇒ Object
Returns the value of attribute matcher_sets.
8 9 10 |
# File 'lib/filesortd/callback.rb', line 8 def matcher_sets @matcher_sets end |
Instance Method Details
#any(&callback) ⇒ Object
19 20 21 |
# File 'lib/filesortd/callback.rb', line 19 def any(&callback) match :any => nil, &callback end |
#call(paths) ⇒ Object
44 45 46 47 48 49 50 51 52 53 |
# File 'lib/filesortd/callback.rb', line 44 def call(paths) paths.each do |path| @matcher_sets.each do |matchers, callback| # If matcher is an array already, it won't be changed # And if it's a single matcher, it'll be wrapped into an array matchers = [matchers].flatten Docile.dsl_eval(Afile.new(path), &callback) if matchers.all? { |m| m.match(path) } end end end |
#downloaded_from(pattern, &callback) ⇒ Object
40 41 42 |
# File 'lib/filesortd/callback.rb', line 40 def downloaded_from(pattern, &callback) match :downloaded_from => pattern, &callback end |
#extension(ext, &callback) ⇒ Object Also known as: ext
27 28 29 |
# File 'lib/filesortd/callback.rb', line 27 def extension(ext, &callback) match :extension => ext, &callback end |
#kind(pattern, &callback) ⇒ Object
32 33 34 |
# File 'lib/filesortd/callback.rb', line 32 def kind(pattern, &callback) match :kind => pattern, &callback end |
#label(lbl, &callback) ⇒ Object
36 37 38 |
# File 'lib/filesortd/callback.rb', line 36 def label(lbl, &callback) match :label => lbl, &callback end |
#match(options = {}, &callback) ⇒ Object
14 15 16 17 |
# File 'lib/filesortd/callback.rb', line 14 def match(={}, &callback) matchers = .map { |matchr, params| matcher(matchr.to_sym, params) } @matcher_sets[matchers] = callback end |
#pattern(pattern, &callback) ⇒ Object
23 24 25 |
# File 'lib/filesortd/callback.rb', line 23 def pattern(pattern, &callback) match :pattern => pattern, &callback end |