Sha256: 6a8a76ce34151f277a82f02ddf4193cc7707ad7dc09f8117b4f2e5e8b1cd5d5b

Contents?: true

Size: 886 Bytes

Versions: 5

Compression:

Stored size: 886 Bytes

Contents

require_relative "contract"

module Tangany
  module Customers
    module Contracts
      module Customers
        module CreateSchemas
          module Customer
            module ClassMethods
              def schema
                Dry::Schema.Params do
                  required(:id).filled(:string, max_size?: 40)
                  required(:owner).hash do
                    required(:entityId).filled(:string)
                  end
                  required(:authorized).array(:hash) do
                    required(:entityId).filled(:string)
                  end
                  required(:contracts).array(CreateSchemas::Contract.schema)
                end
              end
            end

            extend ClassMethods

            def self.included(base)
              base.extend(ClassMethods)
            end
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
tangany-0.0.5 lib/tangany/customers/contracts/customers/create_schemas/customer.rb
tangany-0.0.4 lib/tangany/customers/contracts/customers/create_schemas/customer.rb
tangany-0.0.3 lib/tangany/customers/contracts/customers/create_schemas/customer.rb
tangany-0.0.2 lib/tangany/customers/contracts/customers/create_schemas/customer.rb
tangany-0.0.1 lib/tangany/customers/contracts/customers/create_schemas/customer.rb