Sha256: 95e854c8c3a839b51564d907897c4869c1e7d66e939c931266a323d9bc18a2ef

Contents?: true

Size: 568 Bytes

Versions: 5

Compression:

Stored size: 568 Bytes

Contents

# frozen_string_literal: true

module Satis
  module Menus
    class Menu
      attr_reader :items, :level, :event
      def initialize(*args, **kwargs)
        @options = args.extract_options!
        @items = []
        @scope = Array.wrap(args.first)
        @level = kwargs[:level] || 0
        @event = kwargs[:event] || 'mouseover'
        yield self if block_given?
      end

      def item(*args, **kwargs, &block)
        kwargs[:scope] = @scope
        kwargs[:level] = @level
        @items << Item.new(*args, **kwargs, &block)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
satis-1.0.75 lib/satis/menus/menu.rb
satis-1.0.74 lib/satis/menus/menu.rb
satis-1.0.70 lib/satis/menus/menu.rb
satis-1.0.69 lib/satis/menus/menu.rb
satis-1.0.68 lib/satis/menus/menu.rb