Sha256: 48cd5de52149f23840bad815537f4830ad9ef6e23dcc50da40b9587089f2c4b6

Contents?: true

Size: 933 Bytes

Versions: 14

Compression:

Stored size: 933 Bytes

Contents

module Vedeu

  module Null

    # Provides a non-existent model to swallow messages.
    class Interface

      # @param name [String]
      # @return [Vedeu::Null::Interface]
      def initialize(name = nil)
        @name = name
      end

      # @return [Hash<Symbol => String>]
      def attributes
        {
          name: name,
        }
      end

      # Pretend to store this model in the repository.
      #
      # @return [Vedeu::Null::Interface]
      def store
        self
      end

      # The null interface should not be visible.
      #
      # @return [FalseClass]
      def visible?
        false
      end

      # Override the visible= setter usually found on a Vedeu::Interface.
      #
      # @return [FalseClass]
      def visible=(*)
        false
      end

      protected

      # @!attribute [r] name
      # @return [String]
      attr_reader :name

    end # Interface

  end # Null

end # Vedeu

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
vedeu-0.4.32 lib/vedeu/null/interface.rb
vedeu-0.4.31 lib/vedeu/null/interface.rb
vedeu-0.4.30 lib/vedeu/null/interface.rb
vedeu-0.4.29 lib/vedeu/null/interface.rb
vedeu-0.4.28 lib/vedeu/null/interface.rb
vedeu-0.4.27 lib/vedeu/null/interface.rb
vedeu-0.4.26 lib/vedeu/null/interface.rb
vedeu-0.4.25 lib/vedeu/null/interface.rb
vedeu-0.4.24 lib/vedeu/null/interface.rb
vedeu-0.4.23 lib/vedeu/null/interface.rb
vedeu-0.4.22 lib/vedeu/null/interface.rb
vedeu-0.4.21 lib/vedeu/null/interface.rb
vedeu-0.4.20 lib/vedeu/null/interface.rb
vedeu-0.4.19 lib/vedeu/null/interface.rb