Module: Bunto::Assets::Liquid::Tag::Proxies
- Defined in:
- lib/bunto/assets/liquid/tag/proxies.rb
Class Method Summary collapse
-
.add(name, tag, *args, &block) ⇒ Object
——————————————————————.
- .add_by_class(class_, name, tag, *args) ⇒ Object
-
.all ⇒ Object
——————————————————————.
-
.base_keys ⇒ Object
——————————————————————.
-
.get(name, tag = nil, arg = nil) ⇒ Object
——————————————————————.
-
.get_by_name_and_tag(name, tag) ⇒ Object
——————————————————————.
-
.get_by_name_and_tag_and_arg(name, tag, arg) ⇒ Object
——————————————————————.
-
.has?(name, tag = nil, arg = nil) ⇒ Boolean
——————————————————————.
-
.keys ⇒ Object
——————————————————————.
Class Method Details
.add(name, tag, *args, &block) ⇒ Object
26 27 28 |
# File 'lib/bunto/assets/liquid/tag/proxies.rb', line 26 def self.add(name, tag, *args, &block) add_by_class(*generate_class(name, tag, &block), *args) end |
.add_by_class(class_, name, tag, *args) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/bunto/assets/liquid/tag/proxies.rb', line 12 def self.add_by_class(class_, name, tag, *args) proc_ = proc { |v| [v.to_s, v, v.to_sym] } all << { :name => proc_.call(name).uniq, :args => [args].flatten.map(&proc_).flatten.uniq, :tags => [ tag].flatten.map(&proc_).flatten.uniq, :class => class_ } all end |
.all ⇒ Object
86 87 88 |
# File 'lib/bunto/assets/liquid/tag/proxies.rb', line 86 def self.all @_all ||= Set.new end |
.base_keys ⇒ Object
40 41 42 43 44 |
# File 'lib/bunto/assets/liquid/tag/proxies.rb', line 40 def self.base_keys all.select { |val| val[:class].is_a?(Symbol) }.map do |val| val[:name] end.flatten end |
.get(name, tag = nil, arg = nil) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/bunto/assets/liquid/tag/proxies.rb', line 54 def self.get(name, tag = nil, arg = nil) if name && tag && arg then get_by_name_and_tag_and_arg(name, tag, arg) elsif name && tag get_by_name_and_tag(name, tag) else all.select do |val| val[:name].include?(name) end end end |
.get_by_name_and_tag(name, tag) ⇒ Object
77 78 79 80 81 82 |
# File 'lib/bunto/assets/liquid/tag/proxies.rb', line 77 def self.get_by_name_and_tag(name, tag) all.select do |val| val[:name].include?(name) && (val[:tags].include?(:all) || val[:tags] \ .include?(tag)) end end |
.get_by_name_and_tag_and_arg(name, tag, arg) ⇒ Object
68 69 70 71 72 73 |
# File 'lib/bunto/assets/liquid/tag/proxies.rb', line 68 def self.get_by_name_and_tag_and_arg(name, tag, arg) all.select do |val| val[:name].include?(name) && (val[:tags].include?(:all) || val[:tags] \ .include?(tag)) && val[:args].include?(arg) end end |
.has?(name, tag = nil, arg = nil) ⇒ Boolean
48 49 50 |
# File 'lib/bunto/assets/liquid/tag/proxies.rb', line 48 def self.has?(name, tag = nil, arg = nil) get(name, tag, arg).any? end |
.keys ⇒ Object
32 33 34 35 36 |
# File 'lib/bunto/assets/liquid/tag/proxies.rb', line 32 def self.keys all.select { |val| !val[:class].is_a?(Symbol) }.map do |val| val[:name] end.flatten end |