Module: SPQR::Raiseable::ClassMixins

Includes:
Util
Defined in:
lib/spqr/event.rb

Instance Method Summary collapse

Methods included from Util

#const_lookup, #encode_argument, #get_xml_constant, #manageable?, #symbolize_dict

Instance Method Details

#appObject



59
60
61
# File 'lib/spqr/event.rb', line 59

def app
  @spqr_app
end

#app=(app) ⇒ Object



55
56
57
# File 'lib/spqr/event.rb', line 55

def app=(app)
  @spqr_app = app
end

#arg(name, kind, description = nil, options = nil) ⇒ Object



35
36
37
38
39
40
# File 'lib/spqr/event.rb', line 35

def arg(name, kind, description=nil, options=nil)
  @spqr_event_meta ||= EventMeta.new
  @spqr_event_meta.args << EventArgMeta.new(name.to_sym,kind,description,options)
  attr_accessor name.to_sym
  attr_setters << "#{name.to_s}="
end

#attr_settersObject



63
64
65
66
# File 'lib/spqr/event.rb', line 63

def attr_setters
  @attr_setters ||= []
  @attr_setters
end

#logObject



51
52
53
# File 'lib/spqr/event.rb', line 51

def log
  @spqr_log || ::SPQR::Sink.new
end

#log=(logger) ⇒ Object



47
48
49
# File 'lib/spqr/event.rb', line 47

def log=(logger)
  @spqr_log = logger
end

#qmf_class_name(nm) ⇒ Object



88
89
90
# File 'lib/spqr/event.rb', line 88

def qmf_class_name(nm)
  spqr_meta.classname = nm
end

#qmf_package_name(nm) ⇒ Object



84
85
86
# File 'lib/spqr/event.rb', line 84

def qmf_package_name(nm)
  spqr_meta.package = nm
end

#qmf_severity(sev) ⇒ Object Also known as: severity

Raises:

  • (ArgumentError)


92
93
94
95
# File 'lib/spqr/event.rb', line 92

def qmf_severity(sev)
  raise ArgumentError.new("Invalid event severity '#{sev.inspect}'") unless ::SPQR::XmlConstants::Severity.keys.include? sev.to_s
  spqr_meta.severity = sev
end

#schema_classObject



80
81
82
# File 'lib/spqr/event.rb', line 80

def schema_class
  @spqr_schema_class
end

#schematizeObject



68
69
70
71
72
73
74
75
76
77
78
# File 'lib/spqr/event.rb', line 68

def schematize
  severity = get_xml_constant(spqr_meta.severity.to_s, ::SPQR::XmlConstants::Severity)
  
  @spqr_schema_class = Qmf::SchemaEventClass.new(spqr_meta.package.to_s, spqr_meta.classname.to_s, severity)
  
  spqr_meta.args.each do |arg|
    encode_argument(arg, @spqr_schema_class)
  end
  
  @spqr_schema_class
end

#spqr_metaObject



42
43
44
45
# File 'lib/spqr/event.rb', line 42

def spqr_meta
  @spqr_event_meta ||= EventMeta.new
  
end