56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
# File 'lib/gitmodel/index.rb', line 56
def load(branch = GitModel.default_branch)
@indexes = GitModel.cache(branch, "#{@model_class.db_subdir}-index-load") do
unless generated?(branch)
GitModel.logger.debug "No index generated for #{@model_class}, on branch #{branch}, not loading."
else
GitModel.logger.debug "Loading indexes for #{@model_class}..."
indexes = {}
blob = GitModel.current_tree(branch) / filename
data = Yajl::Parser.parse(blob.data)
data.each do |attr_and_values|
attr = attr_and_values[0]
values = {}
attr_and_values[1].each do |value_and_ids|
value = value_and_ids[0]
ids = SortedSet.new(value_and_ids[1])
values[value] = ids
end
indexes[attr] = values
end
end
indexes
end
end
|