Sha256: 314b02b82a28cce5c3d95b89cc9fecccd1b041d57b7fde9be6c509c56dcf4a4a

Contents?: true

Size: 1.54 KB

Versions: 14

Compression:

Stored size: 1.54 KB

Contents

# frozen_string_literal: true

module Expressir
  module Liquid
    module Declarations
      class EntityDrop < ::Expressir::Liquid::DeclarationDrop
        include ::Expressir::Liquid::IdentifierDrop

        def initialize(model)
          @model = model
          initialize_identifier(@model)
          super
        end

        def abstract
          @model.abstract
        end

        def supertype_expression
          drop_klass_by_model(@model.supertype_expression)
        end

        def subtype_of
          return [] unless @model.subtype_of

          @model.subtype_of.map do |item|
            drop_klass_by_model(item)
          end
        end

        def attributes
          return [] unless @model.attributes

          @model.attributes.map do |item|
            ::Expressir::Liquid::Declarations::AttributeDrop.new(item)
          end
        end

        def unique_rules
          return [] unless @model.unique_rules

          @model.unique_rules.map do |item|
            ::Expressir::Liquid::Declarations::UniqueRuleDrop.new(item)
          end
        end

        def where_rules
          return [] unless @model.where_rules

          @model.where_rules.map do |item|
            ::Expressir::Liquid::Declarations::WhereRuleDrop.new(item)
          end
        end

        def informal_propositions
          return [] unless @model.informal_propositions

          @model.informal_propositions.map do |item|
            ::Expressir::Liquid::Declarations::RemarkItemDrop.new(item)
          end
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
expressir-2.1.13 lib/expressir/liquid/declarations/entity_drop.rb
expressir-2.1.12 lib/expressir/liquid/declarations/entity_drop.rb
expressir-2.1.11 lib/expressir/liquid/declarations/entity_drop.rb
expressir-2.1.10 lib/expressir/liquid/declarations/entity_drop.rb
expressir-2.1.9 lib/expressir/liquid/declarations/entity_drop.rb
expressir-2.1.8 lib/expressir/liquid/declarations/entity_drop.rb
expressir-2.1.7 lib/expressir/liquid/declarations/entity_drop.rb
expressir-2.1.6 lib/expressir/liquid/declarations/entity_drop.rb
expressir-2.1.5 lib/expressir/liquid/declarations/entity_drop.rb
expressir-2.1.4 lib/expressir/liquid/declarations/entity_drop.rb
expressir-2.1.3 lib/expressir/liquid/declarations/entity_drop.rb
expressir-2.1.2 lib/expressir/liquid/declarations/entity_drop.rb
expressir-2.1.1 lib/expressir/liquid/declarations/entity_drop.rb
expressir-2.1.0 lib/expressir/liquid/declarations/entity_drop.rb