Sha256: 27a92080d843c3e4fd82d19ae8db3dede96894dd6ba6bafe2a37aa25edc1b0df

Contents?: true

Size: 858 Bytes

Versions: 4

Compression:

Stored size: 858 Bytes

Contents

# encoding: utf-8

describe "CREATE FUNCTION" do

  let(:function) do
    QueryBuilder::CQL.keyspace(:wildlife).function(:count_species)
  end

  let(:statement) { function.create(:java, "return MyClass.count(input));") }

  it_behaves_like :query_builder do
    subject   { statement }
    let(:cql) { "CREATE FUNCTION wildlife.count_species () RETURNS NULL ON NULL INPUT LANGUAGE 'java' AS 'return MyClass.count(input));';" }
  end

  it_behaves_like :query_builder do
    subject do
      statement
        .or_replace
        .if_not_exists
        .argument(:input, :double)
        .returns(:int)
        .called_on_null
    end

    let(:cql) { "CREATE OR REPLACE FUNCTION IF NOT EXISTS wildlife.count_species (input double) CALLED ON NULL INPUT RETURNS int LANGUAGE 'java' AS 'return MyClass.count(input));';" }
  end

end # describe CREATE FUNCTION

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
query_builder-0.0.4 spec/integration/create_function_spec.rb
query_builder-0.0.3 spec/integration/create_function_spec.rb
query_builder-0.0.2 spec/integration/create_function_spec.rb
query_builder-0.0.1 spec/integration/create_function_spec.rb