Module: Lookbook::Tags

Included in:
Lookbook
Defined in:
lib/lookbook/tags.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.process_tags(tag_objects) ⇒ Object



14
15
16
17
18
19
20
# File 'lib/lookbook/tags.rb', line 14

def self.process_tags(tag_objects)
  return [] if tag_objects.none?
  tag_objects.map do |tag_object|
    opts = Lookbook.config.preview_tags[tag_object.tag_name] || {}
    Lookbook::Tag.new(tag_object, opts[:args], **opts.except(:args))
  end.compact
end

Instance Method Details

#define_tag(name, args = nil, opts = {}, &block) ⇒ Object



3
4
5
6
7
8
9
10
11
12
# File 'lib/lookbook/tags.rb', line 3

def define_tag(name, args = nil, opts = {}, &block)
  name = name.to_s.downcase.underscore.to_sym
  if args.is_a? Hash
    opts = args
    args = nil
  end
  opts[:args] = args
  opts[:parser] = block if block
  Lookbook.config.preview_tags[name] = opts
end