Files
AI/참고/firecrawl-main/apps/ruby-sdk/lib/firecrawl/models/monitor.rb
2026-05-12 19:40:31 +09:00

69 lines
2.3 KiB
Ruby

# frozen_string_literal: true
module Firecrawl
module Models
class Monitor
attr_reader :id, :name, :status, :schedule, :next_run_at, :last_run_at,
:current_check_id, :targets, :webhook, :notification,
:retention_days, :estimated_credits_per_month,
:last_check_summary, :created_at, :updated_at
def initialize(data)
@id = data["id"]
@name = data["name"]
@status = data["status"]
@schedule = data["schedule"]
@next_run_at = data["nextRunAt"]
@last_run_at = data["lastRunAt"]
@current_check_id = data["currentCheckId"]
@targets = data["targets"] || []
@webhook = data["webhook"]
@notification = data["notification"]
@retention_days = data["retentionDays"]
@estimated_credits_per_month = data["estimatedCreditsPerMonth"]
@last_check_summary = data["lastCheckSummary"]
@created_at = data["createdAt"]
@updated_at = data["updatedAt"]
end
end
class MonitorCheck
attr_reader :id, :monitor_id, :status, :trigger, :scheduled_for,
:started_at, :finished_at, :estimated_credits,
:reserved_credits, :actual_credits, :billing_status,
:summary, :target_results, :notification_status, :error,
:created_at, :updated_at
def initialize(data)
@id = data["id"]
@monitor_id = data["monitorId"]
@status = data["status"]
@trigger = data["trigger"]
@scheduled_for = data["scheduledFor"]
@started_at = data["startedAt"]
@finished_at = data["finishedAt"]
@estimated_credits = data["estimatedCredits"]
@reserved_credits = data["reservedCredits"]
@actual_credits = data["actualCredits"]
@billing_status = data["billingStatus"]
@summary = data["summary"] || {}
@target_results = data["targetResults"]
@notification_status = data["notificationStatus"]
@error = data["error"]
@created_at = data["createdAt"]
@updated_at = data["updatedAt"]
end
end
class MonitorCheckDetail < MonitorCheck
attr_accessor :pages, :next_url
def initialize(data)
super
@pages = data["pages"] || []
@next_url = data["next"]
end
end
end
end