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.
10
11
12
13
14
15
16
|
# File 'lib/rspec/hive/query_builder.rb', line 10
def initialize(schema, connection)
@schema = schema
@connection = connection
@partition_hash = {}
@rows = []
@stubbing = false
end
|
Instance Method Details
#execute ⇒ Object
36
37
38
39
40
41
42
|
# File 'lib/rspec/hive/query_builder.rb', line 36
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
27
28
29
|
# File 'lib/rspec/hive/query_builder.rb', line 27
def insert(*new_rows)
spawn.insert!(new_rows)
end
|
#insert!(new_rows) ⇒ Object
31
32
33
34
|
# File 'lib/rspec/hive/query_builder.rb', line 31
def insert!(new_rows)
rows.concat(new_rows)
self
end
|
#partition(hash) ⇒ Object
18
19
20
|
# File 'lib/rspec/hive/query_builder.rb', line 18
def partition(hash)
spawn.partition!(hash)
end
|
#partition!(partition) ⇒ Object
22
23
24
25
|
# File 'lib/rspec/hive/query_builder.rb', line 22
def partition!(partition)
partition_hash.merge!(partition)
self
end
|
#with_stubbing ⇒ Object
44
45
46
|
# File 'lib/rspec/hive/query_builder.rb', line 44
def with_stubbing
spawn.with_stubbing!
end
|
#with_stubbing! ⇒ Object
48
49
50
51
|
# File 'lib/rspec/hive/query_builder.rb', line 48
def with_stubbing!
self.stubbing = true
self
end
|