Sha256: 96ee7bfe3317e8a64a5591b76aafdffbf14c98381c83f0c300a56d634eff60d8

Contents?: true

Size: 460 Bytes

Versions: 11

Compression:

Stored size: 460 Bytes

Contents

module Symphonia
  # Store in-app menu super-global object for all instances/workers
  class MenuManager
    class << self

      def mapper
        $mapper ||= {}
      end

      # @param [Symbol] name
      def menu(name)
        mapper[name] || {}
      end

      def map(menu_name)
        mapper[menu_name] ||= {}
        yield mapper[menu_name]
      end

      def clear(menu_name)
        !mapper.delete(menu_name).nil?
      end

    end

  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
symphonia-6.0.6 lib/symphonia/menu_manager.rb
symphonia-6.0.5 lib/symphonia/menu_manager.rb
symphonia-6.0.4 lib/symphonia/menu_manager.rb
symphonia-6.0.2 lib/symphonia/menu_manager.rb
symphonia-6.0.1 lib/symphonia/menu_manager.rb
symphonia-6.0.0 lib/symphonia/menu_manager.rb
symphonia-5.0.6 lib/symphonia/menu_manager.rb
symphonia-5.0.5 lib/symphonia/menu_manager.rb
symphonia-5.0.4 lib/symphonia/menu_manager.rb
symphonia-5.0.3 lib/symphonia/menu_manager.rb
symphonia-5.0.0 lib/symphonia/menu_manager.rb