Sha256: ca14db18b86f12ed4755f63a852ca2c534dfd19ecf00be4239403832aae8f5e3

Contents?: true

Size: 546 Bytes

Versions: 1

Compression:

Stored size: 546 Bytes

Contents

# frozen_string_literal: true

module Gladwords
  class Schema < ROM::Schema
    # Specialized schema DSL with Adwords-specific features
    #
    # @api public
    class DSL < ROM::Schema::DSL
      attr_reader :shitlist_list

      def shitlist(*attr_names)
        @shitlist_list ||= []
        @shitlist_list += attr_names
      end

      private

      # Return schema opts
      # @return [Hash]
      #
      # @api private
      def opts
        opts = super
        { **opts, shitlist: shitlist_list || [] }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gladwords-1.0.1 lib/gladwords/schema/dsl.rb