Sha256: cf2fd40a3e2d77584ea3a3eceb5d72f80c3f3210c797daf57098aec990fa6819

Contents?: true

Size: 539 Bytes

Versions: 14

Compression:

Stored size: 539 Bytes

Contents

module ROM
  module SQL
    # @api private
    class DSL < BasicObject
      # @api private
      attr_reader :schema

      # @api private
      def initialize(schema)
        @schema = schema
      end

      # @api private
      def call(&block)
        result = instance_exec(&block)

        if result.is_a?(::Array)
          result
        else
          [result]
        end
      end

      # @api private
      def respond_to_missing?(name, include_private = false)
        super || schema.key?(name)
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
rom-sql-1.3.1 lib/rom/sql/dsl.rb
rom-sql-1.3.0 lib/rom/sql/dsl.rb
rom-sql-1.2.2 lib/rom/sql/dsl.rb
rom-sql-1.2.1 lib/rom/sql/dsl.rb
rom-sql-1.2.0 lib/rom/sql/dsl.rb
rom-sql-1.1.2 lib/rom/sql/dsl.rb
rom-sql-1.1.1 lib/rom/sql/dsl.rb
rom-sql-1.1.0 lib/rom/sql/dsl.rb
rom-sql-1.0.3 lib/rom/sql/dsl.rb
rom-sql-1.0.2 lib/rom/sql/dsl.rb
rom-sql-1.0.1 lib/rom/sql/dsl.rb
rom-sql-1.0.0 lib/rom/sql/dsl.rb
rom-sql-1.0.0.rc2 lib/rom/sql/dsl.rb
rom-sql-1.0.0.rc1 lib/rom/sql/dsl.rb