Sha256: 7617578a91e6d6ae2fba561be31ecbc89cd5fe1b164a6e68e1a241e002f569ed

Contents?: true

Size: 623 Bytes

Versions: 12

Compression:

Stored size: 623 Bytes

Contents

module Lookbook
  module Tags
    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

    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
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
lookbook-1.0.8 lib/lookbook/tags.rb
lookbook-1.0.7 lib/lookbook/tags.rb
lookbook-1.0.6 lib/lookbook/tags.rb
lookbook-1.0.5 lib/lookbook/tags.rb
lookbook-1.0.4 lib/lookbook/tags.rb
lookbook-1.0.3 lib/lookbook/tags.rb
lookbook-1.0.2 lib/lookbook/tags.rb
lookbook-1.0.1 lib/lookbook/tags.rb
lookbook-1.0.0 lib/lookbook/tags.rb
lookbook-1.0.0.rc.3 lib/lookbook/tags.rb
lookbook-1.0.0.rc.2 lib/lookbook/tags.rb
lookbook-1.0.0.rc.1 lib/lookbook/tags.rb