examples/logservice.rb in spqr-0.0.4 vs examples/logservice.rb in spqr-0.1.0
- old
+ new
@@ -20,24 +20,23 @@
#
# If you invoke logservice.rb with an argument, it will place the
# generated log records in that file, and they will persist between
# invocations.
-require 'rubygems'
require 'spqr/spqr'
require 'spqr/app'
require 'rhubarb/rhubarb'
class LogService
include SPQR::Manageable
[:debug, :warn, :info, :error].each do |name|
- define_method name do |args|
- args['result'] = LogRecord.create(:l_when=>Time.now.to_i, :severity=>"#{name.to_s.upcase}", :msg=>args['msg'].dup)
+ define_method name do |msg|
+ LogRecord.create(:l_when=>Time.now.to_i, :severity=>"#{name.to_s.upcase}", :msg=>msg.dup)
end
- spqr_expose name do |args|
+ expose name do |args|
args.declare :msg, :lstr, :in
args.declare :result, :objId, :out
end
end
@@ -48,12 +47,12 @@
def self.find_by_id(i)
@@singleton ||= LogService.new
end
- spqr_package :examples
- spqr_class :LogService
+ qmf_package_name :examples
+ qmf_class_name :LogService
end
class LogRecord
include SPQR::Manageable
include Rhubarb::Persisting
@@ -63,25 +62,26 @@
declare_column :msg, :string
# XXX: rhubarb should create a find_all by default
declare_query :find_all, "1"
- spqr_property :l_when, :uint
- spqr_property :severity, :lstr
- spqr_property :msg, :lstr
+ qmf_property :l_when, :uint
+ qmf_property :severity, :lstr
+ qmf_property :msg, :lstr
- spqr_package :examples
- spqr_class :LogRecord
+ qmf_package_name :examples
+ qmf_class_name :LogRecord
def spqr_object_id
row_id
end
end
-TABLE = ARGV[0] or ":memory:"
-DO_CREATE = (TABLE == ":memory:" or not File.exist?(TABLE))
+DBLOC = (ARGV[0] or ":memory:")
+puts "storing results to #{DBLOC}"
+DO_CREATE = (DBLOC == ":memory:" or not File.exist?(DBLOC))
-Rhubarb::Persistence::open(TABLE)
+Rhubarb::Persistence::open(DBLOC)
LogRecord.create_table if DO_CREATE
app = SPQR::App.new(:loglevel => :debug)
app.register LogService, LogRecord