Class: RSpec::Hive::QueryBuilder
- Inherits:
-
Object
- Object
- RSpec::Hive::QueryBuilder
show all
- Defined in:
- lib/rspec/hive/query_builder.rb,
lib/rspec/hive/query_builder/type_faker.rb,
lib/rspec/hive/query_builder/null_strategy.rb,
lib/rspec/hive/query_builder/row_transformer.rb,
lib/rspec/hive/query_builder/value_by_type_strategy.rb
Defined Under Namespace
Classes: NullStrategy, RowTransformer, TypeFaker, ValueByTypeStrategy
Instance Method Summary
collapse
Constructor Details
#initialize(schema, connection) ⇒ QueryBuilder
Returns a new instance of QueryBuilder.
8
9
10
11
12
13
14
|
# File 'lib/rspec/hive/query_builder.rb', line 8
def initialize(schema, connection)
@schema = schema
@connection = connection
@partition_hash = {}
@rows = []
@stubbing = false
end
|
Instance Method Details
#execute ⇒ Object
34
35
36
37
38
39
40
|
# File 'lib/rspec/hive/query_builder.rb', line 34
def execute
if partition_hash.empty?
connection.load_into_table(schema, transformed_rows)
else
connection.load_into_table(schema, transformed_rows, partition_hash)
end
end
|
#insert(*new_rows) ⇒ Object
25
26
27
|
# File 'lib/rspec/hive/query_builder.rb', line 25
def insert(*new_rows)
spawn.insert!(new_rows)
end
|
#insert!(new_rows) ⇒ Object
29
30
31
32
|
# File 'lib/rspec/hive/query_builder.rb', line 29
def insert!(new_rows)
rows.concat(new_rows)
self
end
|
#partition(hash) ⇒ Object
16
17
18
|
# File 'lib/rspec/hive/query_builder.rb', line 16
def partition(hash)
spawn.partition!(hash)
end
|
#partition!(partition) ⇒ Object
20
21
22
23
|
# File 'lib/rspec/hive/query_builder.rb', line 20
def partition!(partition)
partition_hash.merge!(partition)
self
end
|
#with_stubbing ⇒ Object
42
43
44
|
# File 'lib/rspec/hive/query_builder.rb', line 42
def with_stubbing
spawn.with_stubbing!
end
|
#with_stubbing! ⇒ Object
46
47
48
49
|
# File 'lib/rspec/hive/query_builder.rb', line 46
def with_stubbing!
self.stubbing = true
self
end
|