Files
danbooru/app/logical/reports/post_versions.rb
2017-02-21 13:40:52 -08:00

40 lines
983 B
Ruby

module Reports
class PostVersions
attr_reader :tag, :query
def initialize(tag, query_type)
@tag = tag
if query_type == "added"
@query = GoogleBigQuery::PostVersion.new.find_added(tag)
else
@query = GoogleBigQuery::PostVersion.new.find_removed(tag)
end
end
def mock_version(row)
PostArchive.new.tap do |x|
x.id = row["f"][0]["v"]
x.post_id = row["f"][1]["v"]
x.updated_at = Time.at(row["f"][2]["v"].to_f)
x.updater_id = row["f"][3]["v"]
x.updater_ip_addr = row["f"][4]["v"]
x.tags = row["f"][5]["v"]
# x.added_tags = row["f"][6]["v"]
# x.removed_tags = row["f"][7]["v"]
x.parent_id = row["f"][8]["v"]
x.rating = row["f"][9]["v"]
x.source = row["f"][10]["v"]
end
end
def post_versions
if query["rows"].present?
query["rows"].map {|x| mock_version(x)}
else
[]
end
end
end
end