Module: Masamune::Actions::Transform

Extended by:
ActiveSupport::Concern, Forwardable
Includes:
Postgres
Defined in:
lib/masamune/actions/transform.rb

Defined Under Namespace

Classes: Wrapper

Constant Summary collapse

FILE_MODE =
0777 - File.umask

Instance Method Summary collapse

Methods included from Postgres

#create_postgres_database_if_not_exists, #load_postgres_schema, #load_postgres_setup_files, #postgres

Methods included from Transform::DefineSchema

#define_schema

Methods included from Transform::DefineTable

#define_table

Methods included from PostgresAdmin

#postgres_admin

Instance Method Details

#consolidate_dimension(target, options = {}) ⇒ Object



56
57
58
59
# File 'lib/masamune/actions/transform.rb', line 56

def consolidate_dimension(target, options = {})
  transform = Wrapper.consolidate_dimension(target)
  postgres file: transform.to_file, debug: target.debug, **options
end

#load_dimension(source_files, source, target, options = {}) ⇒ Object



49
50
51
52
53
54
# File 'lib/masamune/actions/transform.rb', line 49

def load_dimension(source_files, source, target, options = {})
  optional_apply_map(source_files, source, target) do |intermediate_files, intermediate|
    transform = Wrapper.load_dimension(intermediate_files, intermediate, target)
    postgres file: transform.to_file, debug: (source.debug || target.debug || intermediate.debug), **options
  end
end

#load_fact(source_files, source, target, date, options = {}) ⇒ Object



66
67
68
69
70
71
# File 'lib/masamune/actions/transform.rb', line 66

def load_fact(source_files, source, target, date, options = {})
  optional_apply_map(source_files, source, target) do |intermediate_files, intermediate|
    transform = Wrapper.load_fact(intermediate_files, intermediate, target, date)
    postgres file: transform.to_file, debug: (source.debug || target.debug || intermediate.debug), **options
  end
end

#relabel_dimension(target, options = {}) ⇒ Object



61
62
63
64
# File 'lib/masamune/actions/transform.rb', line 61

def relabel_dimension(target, options = {})
  transform = Wrapper.relabel_dimension(target)
  postgres file: transform.to_file, debug: target.debug, **options
end

#rollup_fact(source, target, date, options = {}) ⇒ Object



73
74
75
76
# File 'lib/masamune/actions/transform.rb', line 73

def rollup_fact(source, target, date, options = {})
  transform = Wrapper.rollup_fact(source, target, date)
  postgres file: transform.to_file, debug: (source.debug || target.debug), **options
end