class DataDepo::Query
Public Class Methods
new(name=nil, path=[])
click to toggle source
# File lib/data_depo/query.rb, line 9 def initialize(name=nil, path=[]) @name = name @path = path end
Public Instance Methods
[](*keys)
click to toggle source
# File lib/data_depo/query.rb, line 14 def [](*keys) raise if keys.empty? @name ||= keys.first path = (@path || []) | keys self.class.new(@name, path) end
each(&block)
click to toggle source
# File lib/data_depo/query.rb, line 22 def each(&block) data = DataDepo.current_loader.new(@path).load data.each(&block) end
files()
click to toggle source
# File lib/data_depo/query.rb, line 27 def files loader = DataDepo.current_loader.new(@path) loader.files end
Private Instance Methods
method_missing(name, *args, &block)
click to toggle source
Calls superclass method
# File lib/data_depo/query.rb, line 33 def method_missing(name, *args, &block) loader = DataDepo.current_loader.new(@path) unless loader.files.empty? a = ArrayData.gen(@name, loader.load) return a.respond_to?(name) ? a.__send__(name, *args, &block) : super end super end