#!/usr/bin/env ruby

require 'pp'
require File.join(File.dirname(__FILE__), '..','lib','noah.rb')

# This doesn't actually send watch notifications
# but it shows how you could register a new watch
# for the agents to handle
a = Noah::Application.new
a.name = "my_kickass_application"
a.valid?
a.save

a.watch! :endpoint => 'http://localhost:4567/webhook' # Boom headshot
pp Noah::Watcher.find(:pattern => "//noah/application/my_kickass_application").first
# Default watch pattern is '//noah/model/name'

# You can also register a new watch with a custom pattern - kind of pointless obviously
b = Noah::Configuration.new
b.name = "my_awesome_configuration"
b.valid?
b.save
b.watch! :endpoint => 'http://localhost:4567/webhook', :pattern => '//noah/configuration/my_awesome_configuration'
pp Noah::Watcher.find(:pattern => "//noah/configuration/my_awesome_configuration").first
# There's now a watcher for pattern 'noah.application.my_other_awesome_app.delete'

# The idea now is that some background watcher agent will pick up on these registered watches
# See https://github.com/lusis/Noah/wiki/Watcher-Braindump