xeme 0.3 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/xeme.rb +55 -18
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1413d7abd0e3cbfa5bebfad9dd795b007df52d93b177ab7233fbafc4bdd79c98
|
4
|
+
data.tar.gz: bad5d9f7de703c07d092a88f68ab97f5dbf01eae52ebdebc4632c611c5c3656d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03d58e05f1544a1b68400bfb76be1ae38e880b3e4bde7c4e0894591b83015d9eee26b81803b96910cc045e06045adc75943798a42a3ceeeaa9c3600dd6d8305a
|
7
|
+
data.tar.gz: 674de2ab9106711fef9c123e68ddba3cc4293f3d8a3f1c2c7032e361e0864005e4c2a047e41df1eba98419d92a6420095fcfc27f36d3bac6c88f2e7a0eb3dd1d
|
data/lib/xeme.rb
CHANGED
@@ -6,13 +6,12 @@ require 'forwardable'
|
|
6
6
|
# Xeme
|
7
7
|
#
|
8
8
|
|
9
|
-
##
|
10
9
|
# Objects of this class represent a set of results. See the README file for
|
11
10
|
# more details.
|
12
11
|
|
13
12
|
class Xeme
|
14
|
-
# version 0.3
|
15
|
-
VERSION = '0.3'
|
13
|
+
# version 0.3.1
|
14
|
+
VERSION = '0.3.1'
|
16
15
|
|
17
16
|
# A Xeme::Messages object, which is basically just a hash containing arrays
|
18
17
|
# for errors, warnings, and notes.
|
@@ -25,19 +24,13 @@ class Xeme
|
|
25
24
|
# initialize
|
26
25
|
#
|
27
26
|
|
28
|
-
##
|
29
27
|
# new() does not take any parameters.
|
30
28
|
|
31
29
|
def initialize
|
32
|
-
# initialize errors, warnings, notes, misc
|
33
30
|
@messages = Xeme::Messages.new
|
34
31
|
@misc = {}
|
35
|
-
|
36
|
-
# prefix and auto_misc
|
37
32
|
@prefixes = []
|
38
33
|
@auto_details_val = nil
|
39
|
-
|
40
|
-
# transaction
|
41
34
|
@transaction = nil
|
42
35
|
end
|
43
36
|
#
|
@@ -192,20 +185,19 @@ class Xeme
|
|
192
185
|
|
193
186
|
|
194
187
|
#---------------------------------------------------------------------------
|
195
|
-
#
|
188
|
+
# save_exception
|
196
189
|
#
|
197
190
|
|
198
|
-
##
|
199
191
|
# Use this method to hold on to details about an exception. An error message
|
200
|
-
# object will be created, along with the exception's to_s backtrace.
|
192
|
+
# object will be created, along with the exception's to_s and backtrace.
|
201
193
|
|
202
|
-
def
|
194
|
+
def save_exception(id, e, details={})
|
203
195
|
message = self.error(id, details)
|
204
196
|
message['error'] = e.to_s
|
205
197
|
message['backtrace'] = e.backtrace
|
206
198
|
end
|
207
199
|
#
|
208
|
-
#
|
200
|
+
# save_exception
|
209
201
|
#---------------------------------------------------------------------------
|
210
202
|
|
211
203
|
|
@@ -357,6 +349,21 @@ class Xeme
|
|
357
349
|
#---------------------------------------------------------------------------
|
358
350
|
|
359
351
|
|
352
|
+
#---------------------------------------------------------------------------
|
353
|
+
# new_exception
|
354
|
+
#
|
355
|
+
|
356
|
+
# Creates and returns a Xeme::Exception object. The Xeme object is attached
|
357
|
+
# to the Xeme::Exception object.
|
358
|
+
|
359
|
+
def new_exception(error_id)
|
360
|
+
return Xeme::Exception.new(error_id, self)
|
361
|
+
end
|
362
|
+
#
|
363
|
+
# new_exception
|
364
|
+
#---------------------------------------------------------------------------
|
365
|
+
|
366
|
+
|
360
367
|
# private methods
|
361
368
|
private
|
362
369
|
|
@@ -431,7 +438,6 @@ end
|
|
431
438
|
# Xeme::Message
|
432
439
|
#
|
433
440
|
|
434
|
-
##
|
435
441
|
# A Xeme::Message object represents a single error, warning, or note.
|
436
442
|
# It is the base class for Xeme::Message::Error,
|
437
443
|
# Xeme::Message::Warning, and
|
@@ -450,6 +456,9 @@ class Xeme::Message
|
|
450
456
|
# The id of the message.
|
451
457
|
attr_reader :id
|
452
458
|
|
459
|
+
# Details about the message.
|
460
|
+
attr_reader :details
|
461
|
+
|
453
462
|
# delegate to hsh
|
454
463
|
extend Forwardable
|
455
464
|
delegate %w([] []= each length clear delete) => :@details
|
@@ -565,9 +574,8 @@ end
|
|
565
574
|
# Xeme::Transaction
|
566
575
|
#
|
567
576
|
|
568
|
-
|
569
|
-
#
|
570
|
-
# results. It always provides a a timestamp and a unique ID for the results. It
|
577
|
+
# An object of this class provides meta information about the request and
|
578
|
+
# results. It always provides a timestamp and a unique ID for the results. It
|
571
579
|
# may also optionally include a request ID that was provided by the process
|
572
580
|
# that made the request, such as a call to a REST application. Do not directly
|
573
581
|
# instantiate this class; use Xeme#transaction.
|
@@ -626,3 +634,32 @@ end
|
|
626
634
|
#
|
627
635
|
# Xeme::Transaction
|
628
636
|
#===============================================================================
|
637
|
+
|
638
|
+
|
639
|
+
#===============================================================================
|
640
|
+
# Xeme::Exception
|
641
|
+
#
|
642
|
+
|
643
|
+
# Xeme::Exception is a subclass of StandardError and can be used exactly like a
|
644
|
+
# StandardError object. The one addition to StandardError is the `xeme` property
|
645
|
+
# which holds a Xeme object. Don't instantiate this class directly; use
|
646
|
+
# Xeme#new_exception.
|
647
|
+
|
648
|
+
class Xeme::Exception < StandardError
|
649
|
+
attr_reader :xeme # a xeme object
|
650
|
+
|
651
|
+
#---------------------------------------------------------------------------
|
652
|
+
# initialize
|
653
|
+
#
|
654
|
+
def initialize(error_code, xeme)
|
655
|
+
@error_code = error_code
|
656
|
+
@xeme = xeme
|
657
|
+
super @error_code
|
658
|
+
end
|
659
|
+
#
|
660
|
+
# initialize
|
661
|
+
#---------------------------------------------------------------------------
|
662
|
+
end
|
663
|
+
#
|
664
|
+
# Xeme::Exception
|
665
|
+
#===============================================================================
|