Class: MetabaseQuerySync::ReadIR::FromFiles

Inherits:
MetabaseQuerySync::ReadIR show all
Defined in:
lib/metabase_query_sync/read_ir/from_files.rb

Instance Method Summary collapse

Constructor Details

#initialize(path) ⇒ FromFiles

Returns a new instance of FromFiles.



5
6
7
# File 'lib/metabase_query_sync/read_ir/from_files.rb', line 5

def initialize(path)
  @path = path
end

Instance Method Details

#callObject



9
10
11
12
13
14
15
16
17
18
# File 'lib/metabase_query_sync/read_ir/from_files.rb', line 9

def call
  MetabaseQuerySync::IR::Graph.from_items(
    # @type [String] f
    Dir[File.join(@path, "**/*.{query,pulse}.yaml")].map do |f|
      data = YAML.load_file(f)
      next MetabaseQuerySync::IR::Query.from_h(data) if f.end_with? 'query.yaml'
      next MetabaseQuerySync::IR::Pulse.from_h(data) if f.end_with? 'pulse.yaml'
    end
  )
end