ivymeter 0.1.0
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 +7 -0
- data/.rspec +3 -0
- data/.rubocop.yml +19 -0
- data/CHANGELOG.md +3 -0
- data/README.md +38 -0
- data/Rakefile +12 -0
- data/exe/generate_operation_codes +122 -0
- data/lib/ivymeter/events/base.rb +196 -0
- data/lib/ivymeter/events/bundle.rb +42 -0
- data/lib/ivymeter/events/container.rb +61 -0
- data/lib/ivymeter/events/piece.rb +54 -0
- data/lib/ivymeter/events/tray.rb +46 -0
- data/lib/ivymeter/opcode.rb +37 -0
- data/lib/ivymeter/opcodes.rb +7454 -0
- data/lib/ivymeter/prop.rb +48 -0
- data/lib/ivymeter/version.rb +5 -0
- data/lib/ivymeter.rb +15 -0
- data/sig/ivymeter/events/base.rbs +94 -0
- data/sig/ivymeter/events/bundle.rbs +33 -0
- data/sig/ivymeter/events/container.rbs +48 -0
- data/sig/ivymeter/events/piece.rbs +46 -0
- data/sig/ivymeter/events/tray.rbs +37 -0
- data/sig/ivymeter/prop.rbs +18 -0
- data/sig/ivymeter.rbs +136 -0
- metadata +80 -0
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module IvyMeter
|
4
|
+
module Prop
|
5
|
+
def self.included(base)
|
6
|
+
base.extend ClassMethods
|
7
|
+
end
|
8
|
+
|
9
|
+
module ClassMethods
|
10
|
+
def prop(name, json_name, _csv_name, type: :string)
|
11
|
+
define_method(name) do
|
12
|
+
value = @data[json_name]
|
13
|
+
return nil if value.nil?
|
14
|
+
|
15
|
+
case type
|
16
|
+
when :date
|
17
|
+
Date.parse(value)
|
18
|
+
when :datetime
|
19
|
+
value.is_a?(DateTime) ? value : DateTime.parse(value)
|
20
|
+
else
|
21
|
+
value
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
define_method("#{name}=") do |value|
|
26
|
+
return @data[json_name] = nil if value.nil?
|
27
|
+
|
28
|
+
@data[json_name] = case type
|
29
|
+
when :date
|
30
|
+
value.is_a?(Date) ? value : Date.parse(value)
|
31
|
+
when :datetime
|
32
|
+
if value.is_a?(DateTime)
|
33
|
+
value
|
34
|
+
else
|
35
|
+
begin
|
36
|
+
DateTime.parse(value)
|
37
|
+
rescue ArgumentError
|
38
|
+
DateTime.iso8601(value)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
else
|
42
|
+
value
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
data/lib/ivymeter.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'ivymeter/version'
|
4
|
+
require_relative 'ivymeter/opcode'
|
5
|
+
require_relative 'ivymeter/opcodes'
|
6
|
+
require_relative 'ivymeter/events/base'
|
7
|
+
require_relative 'ivymeter/events/container'
|
8
|
+
require_relative 'ivymeter/events/tray'
|
9
|
+
require_relative 'ivymeter/events/bundle'
|
10
|
+
require_relative 'ivymeter/events/piece'
|
11
|
+
|
12
|
+
module IvyMeter
|
13
|
+
class Error < StandardError; end
|
14
|
+
# Your code goes here...
|
15
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
module IvyMeter
|
2
|
+
class Event
|
3
|
+
include Prop
|
4
|
+
|
5
|
+
def self.inherited: (Class subclass) -> void
|
6
|
+
def self.property_mappings: () -> Hash[Symbol, Hash[Symbol, untyped]]
|
7
|
+
def self.from_json: (Hash[String, untyped] json_data) -> Event
|
8
|
+
def self.from_csv: (Hash[String, untyped] row) -> Event
|
9
|
+
|
10
|
+
def to_json: () -> String
|
11
|
+
def actual?: () -> bool
|
12
|
+
def assumed_actual?: () -> bool
|
13
|
+
def logical?: () -> bool
|
14
|
+
def assumed_logical?: () -> bool
|
15
|
+
def assumed?: () -> bool
|
16
|
+
def opcode: () -> IvyMeter::OpCode?
|
17
|
+
def stop_the_clock_scan?: () -> bool
|
18
|
+
def unexpected_opcode?: () -> bool
|
19
|
+
def clearance_cutoff_time: () -> String?
|
20
|
+
def mail_phase: () -> String?
|
21
|
+
def process_description: () -> String?
|
22
|
+
|
23
|
+
# Common properties
|
24
|
+
attr_accessor edoc_job_id: String?
|
25
|
+
attr_accessor edoc_mailing_group_id: String?
|
26
|
+
attr_accessor edoc_submitter_crid: String?
|
27
|
+
|
28
|
+
# Handling event properties
|
29
|
+
attr_accessor scan_datetime: DateTime?
|
30
|
+
attr_accessor scan_event_code: String?
|
31
|
+
attr_accessor scan_facility_city: String?
|
32
|
+
attr_accessor scan_facility_name: String?
|
33
|
+
attr_accessor scan_facility_state: String?
|
34
|
+
attr_accessor scan_facility_zip: String?
|
35
|
+
attr_accessor scan_locale_key: String?
|
36
|
+
attr_accessor handling_event_type: String?
|
37
|
+
attr_accessor handling_event_type_description: String?
|
38
|
+
|
39
|
+
# Mail properties
|
40
|
+
attr_accessor mail_class_description: String?
|
41
|
+
attr_accessor mail_shape_description: String?
|
42
|
+
|
43
|
+
# Scanner properties
|
44
|
+
attr_accessor scanner_type: String?
|
45
|
+
attr_accessor machine_name: String?
|
46
|
+
attr_accessor device_id: String?
|
47
|
+
|
48
|
+
# Start the clock properties
|
49
|
+
attr_accessor start_the_clock_date: Date?
|
50
|
+
attr_accessor start_the_clock_facility_address: String?
|
51
|
+
attr_accessor start_the_clock_facility_city: String?
|
52
|
+
attr_accessor start_the_clock_facility_locale_key: String?
|
53
|
+
attr_accessor start_the_clock_facility_name: String?
|
54
|
+
attr_accessor start_the_clock_facility_state: String?
|
55
|
+
attr_accessor start_the_clock_facility_zip: String?
|
56
|
+
|
57
|
+
# Recipient CRID properties
|
58
|
+
attr_accessor recipient_crid_of_mid_on_piece: String?
|
59
|
+
attr_accessor recipient_crid_of_mid_on_piece_delegator: String?
|
60
|
+
attr_accessor recipient_mail_owner_crid: String?
|
61
|
+
attr_accessor recipient_mail_owner_delegator_crid: String?
|
62
|
+
attr_accessor recipient_routing_code_authorized_crid: String?
|
63
|
+
|
64
|
+
# Operational status
|
65
|
+
attr_accessor operational_status: String?
|
66
|
+
|
67
|
+
# Common handling event properties
|
68
|
+
attr_accessor handling_event_datetime: String?
|
69
|
+
attr_accessor handling_event_facility_city: String?
|
70
|
+
attr_accessor handling_event_facility_name: String?
|
71
|
+
attr_accessor handling_event_facility_state: String?
|
72
|
+
attr_accessor handling_event_facility_zip: String?
|
73
|
+
attr_accessor handling_event_locale_key: String?
|
74
|
+
attr_accessor handling_event_scan_state: String?
|
75
|
+
attr_accessor handling_event_code: String?
|
76
|
+
|
77
|
+
# Common eDoc properties
|
78
|
+
attr_accessor edoc_container_id: String?
|
79
|
+
attr_accessor edoc_csa_agreement_id: String?
|
80
|
+
attr_accessor edoc_customer_group_id: String?
|
81
|
+
attr_accessor edoc_parent_container_id: String?
|
82
|
+
attr_accessor edoc_sibling_container_id: String?
|
83
|
+
attr_accessor edoc_user_license_code: String?
|
84
|
+
|
85
|
+
# Common recipient CRID properties
|
86
|
+
attr_accessor recipient_edoc_submitter_crid: String?
|
87
|
+
attr_accessor recipient_edoc_submitter_delegator_crid: String?
|
88
|
+
attr_accessor recipient_mail_preparer_crid: String?
|
89
|
+
attr_accessor recipient_mail_preparer_delegator_crid: String?
|
90
|
+
|
91
|
+
# Common mail properties
|
92
|
+
attr_accessor piece_count: String?
|
93
|
+
end
|
94
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module IvyMeter
|
2
|
+
class Event::BundleEvent < Event
|
3
|
+
# Bundle-specific properties
|
4
|
+
attr_accessor bundle_id: String?
|
5
|
+
attr_accessor edoc_container_id: String?
|
6
|
+
attr_accessor edoc_container_zip: String?
|
7
|
+
attr_accessor edoc_csa_agreement_id: String?
|
8
|
+
attr_accessor edoc_customer_group_id: String?
|
9
|
+
attr_accessor edoc_parent_container_id: String?
|
10
|
+
attr_accessor edoc_sibling_container_id: String?
|
11
|
+
attr_accessor edoc_user_license_code: String?
|
12
|
+
attr_accessor piece_count: String?
|
13
|
+
|
14
|
+
# Bundle IMb properties
|
15
|
+
attr_accessor imb: String?
|
16
|
+
attr_accessor imb_mid: String?
|
17
|
+
attr_accessor imb_routing_code: String?
|
18
|
+
attr_accessor imb_serial_number: String?
|
19
|
+
attr_accessor imb_stid: String?
|
20
|
+
attr_accessor imb_tracking_code: String?
|
21
|
+
|
22
|
+
# Bundle-specific recipient CRID properties
|
23
|
+
attr_accessor recipient_crid_of_mid_on_bundle: String?
|
24
|
+
attr_accessor recipient_crid_of_mid_on_bundle_delegator: String?
|
25
|
+
|
26
|
+
# Postage statement properties
|
27
|
+
attr_accessor postage_statement_finalization_datetime: DateTime?
|
28
|
+
attr_accessor postage_statement_finalization_facility_name: String?
|
29
|
+
|
30
|
+
# Routing code
|
31
|
+
attr_accessor routing_code_imb_matching_portion: String?
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module IvyMeter
|
2
|
+
class Event::ContainerEvent < Event
|
3
|
+
# Container-specific properties
|
4
|
+
attr_accessor container_id: String?
|
5
|
+
attr_accessor bundle_count: String?
|
6
|
+
attr_accessor edoc_container_id: String?
|
7
|
+
attr_accessor edoc_container_zip: String?
|
8
|
+
attr_accessor edoc_csa_agreement_id: String?
|
9
|
+
attr_accessor edoc_customer_group_id: String?
|
10
|
+
attr_accessor edoc_parent_container_id: String?
|
11
|
+
attr_accessor edoc_sibling_container_id: String?
|
12
|
+
attr_accessor edoc_user_license_code: String?
|
13
|
+
|
14
|
+
# FAST appointment properties
|
15
|
+
attr_accessor fast_appointment_scheduled_datetime: DateTime?
|
16
|
+
attr_accessor fast_appointment_unload_end_time: DateTime?
|
17
|
+
attr_accessor fast_appointment_unload_start_time: DateTime?
|
18
|
+
|
19
|
+
# Count properties
|
20
|
+
attr_accessor piece_count: String?
|
21
|
+
attr_accessor tray_count: String?
|
22
|
+
|
23
|
+
# Container IMb properties
|
24
|
+
attr_accessor imcb: String?
|
25
|
+
attr_accessor imcb_mid: String?
|
26
|
+
attr_accessor imcb_routing_code: String?
|
27
|
+
attr_accessor imcb_serial_number: String?
|
28
|
+
attr_accessor imcb_stid: String?
|
29
|
+
attr_accessor imcb_tracking_code: String?
|
30
|
+
|
31
|
+
# Container-specific recipient CRID properties
|
32
|
+
attr_accessor recipient_crid_of_mid_on_container: String?
|
33
|
+
attr_accessor recipient_crid_of_mid_on_container_delegator: String?
|
34
|
+
attr_accessor recipient_fast_scheduler_crid: String?
|
35
|
+
attr_accessor recipient_fast_scheduler_delegator_crid: String?
|
36
|
+
|
37
|
+
# Parent references
|
38
|
+
attr_accessor parent_tray_edoc_container_id: String?
|
39
|
+
attr_accessor parent_tray_edoc_imtb: String?
|
40
|
+
|
41
|
+
# Postage statement properties
|
42
|
+
attr_accessor postage_statement_finalization_datetime: DateTime?
|
43
|
+
attr_accessor postage_statement_finalization_facility_name: String?
|
44
|
+
|
45
|
+
# Routing code
|
46
|
+
attr_accessor routing_code_imcb_matching_portion: String?
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module IvyMeter
|
2
|
+
class Event::PieceEvent < Event
|
3
|
+
# Delivery date properties
|
4
|
+
attr_accessor anticipated_delivery_date: Date?
|
5
|
+
attr_accessor expected_delivery_date: Date?
|
6
|
+
attr_accessor predicted_delivery_date: Date?
|
7
|
+
|
8
|
+
# IMb properties
|
9
|
+
attr_accessor imb: String?
|
10
|
+
attr_accessor imb_mid: String?
|
11
|
+
attr_accessor imb_routing_code: String?
|
12
|
+
attr_accessor imb_serial_number: String?
|
13
|
+
attr_accessor imb_stid: String?
|
14
|
+
attr_accessor imb_tracking_code: String?
|
15
|
+
|
16
|
+
# IMpb properties
|
17
|
+
attr_accessor impb: String?
|
18
|
+
|
19
|
+
# LDE properties
|
20
|
+
attr_accessor lde_delivery_mode: String?
|
21
|
+
attr_accessor lde_inventory_method: String?
|
22
|
+
attr_accessor lde_trigger_method: String?
|
23
|
+
|
24
|
+
# Mail phase
|
25
|
+
attr_accessor mail_phase: String?
|
26
|
+
|
27
|
+
# Operational status
|
28
|
+
attr_accessor operational_status: String?
|
29
|
+
|
30
|
+
# Parent references
|
31
|
+
attr_accessor parent_container_edoc_container_id: String?
|
32
|
+
attr_accessor parent_container_edoc_imtb: String?
|
33
|
+
attr_accessor parent_tray_edoc_container_id: String?
|
34
|
+
attr_accessor parent_tray_edoc_imtb: String?
|
35
|
+
|
36
|
+
# Piece identifier
|
37
|
+
attr_accessor piece_id: String?
|
38
|
+
|
39
|
+
# Postage statement properties
|
40
|
+
attr_accessor postage_statement_finalization_datetime: DateTime?
|
41
|
+
attr_accessor postage_statement_finalization_facility_name: String?
|
42
|
+
|
43
|
+
# Routing code
|
44
|
+
attr_accessor routing_code_imb_matching_portion: String?
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module IvyMeter
|
2
|
+
class Event::TrayEvent < Event
|
3
|
+
# Tray-specific properties
|
4
|
+
attr_accessor tray_id: String?
|
5
|
+
attr_accessor edoc_container_id: String?
|
6
|
+
attr_accessor edoc_container_zip: String?
|
7
|
+
attr_accessor edoc_csa_agreement_id: String?
|
8
|
+
attr_accessor edoc_customer_group_id: String?
|
9
|
+
attr_accessor edoc_parent_container_id: String?
|
10
|
+
attr_accessor edoc_sibling_container_id: String?
|
11
|
+
attr_accessor edoc_user_license_code: String?
|
12
|
+
attr_accessor piece_count: String?
|
13
|
+
|
14
|
+
# Tray IMb properties
|
15
|
+
attr_accessor imtb: String?
|
16
|
+
attr_accessor imtb_mid: String?
|
17
|
+
attr_accessor imtb_routing_code: String?
|
18
|
+
attr_accessor imtb_serial_number: String?
|
19
|
+
attr_accessor imtb_stid: String?
|
20
|
+
attr_accessor imtb_tracking_code: String?
|
21
|
+
|
22
|
+
# Tray-specific recipient CRID properties
|
23
|
+
attr_accessor recipient_crid_of_mid_on_tray: String?
|
24
|
+
attr_accessor recipient_crid_of_mid_on_tray_delegator: String?
|
25
|
+
|
26
|
+
# Parent references
|
27
|
+
attr_accessor parent_bundle_edoc_container_id: String?
|
28
|
+
attr_accessor parent_bundle_edoc_imb: String?
|
29
|
+
|
30
|
+
# Postage statement properties
|
31
|
+
attr_accessor postage_statement_finalization_datetime: DateTime?
|
32
|
+
attr_accessor postage_statement_finalization_facility_name: String?
|
33
|
+
|
34
|
+
# Routing code
|
35
|
+
attr_accessor routing_code_imtb_matching_portion: String?
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module IvyMeter
|
2
|
+
module Prop
|
3
|
+
def self.included: (Module base) -> void
|
4
|
+
|
5
|
+
module ClassMethods
|
6
|
+
def prop: (
|
7
|
+
Symbol name,
|
8
|
+
String json_name,
|
9
|
+
String csv_name,
|
10
|
+
?type: (:string | :date | :datetime)
|
11
|
+
) -> void
|
12
|
+
end
|
13
|
+
|
14
|
+
def initialize: () -> void
|
15
|
+
def []: (String key) -> untyped
|
16
|
+
def []=: (String key, untyped value) -> untyped
|
17
|
+
end
|
18
|
+
end
|
data/sig/ivymeter.rbs
ADDED
@@ -0,0 +1,136 @@
|
|
1
|
+
module IvyMeter
|
2
|
+
VERSION: String
|
3
|
+
# See the writing guide of rbs: https://github.com/ruby/rbs#guides
|
4
|
+
|
5
|
+
class Error < StandardError
|
6
|
+
end
|
7
|
+
|
8
|
+
class Event
|
9
|
+
include Prop
|
10
|
+
|
11
|
+
def self.inherited: (Class) -> void
|
12
|
+
def self.prop: (Symbol name, String json_name, String csv_name, ?type: Symbol) -> void
|
13
|
+
def self.property_mappings: () -> Hash[Symbol, Hash[Symbol, untyped]]
|
14
|
+
def self.from_json: (Hash[Symbol, untyped] json_data) -> Event
|
15
|
+
def self.from_csv: (Hash[Symbol, untyped] row) -> Event
|
16
|
+
|
17
|
+
def to_json: () -> String
|
18
|
+
def actual?: () -> bool
|
19
|
+
def assumed_actual?: () -> bool
|
20
|
+
def logical?: () -> bool
|
21
|
+
def assumed_logical?: () -> bool
|
22
|
+
def assumed?: () -> bool
|
23
|
+
def opcode: () -> untyped
|
24
|
+
def stop_the_clock_scan?: () -> bool
|
25
|
+
def unexpected_opcode?: () -> bool
|
26
|
+
def clearance_cutoff_time: () -> untyped
|
27
|
+
def mail_phase: () -> untyped
|
28
|
+
def process_description: () -> untyped
|
29
|
+
end
|
30
|
+
|
31
|
+
class Event::ContainerEvent < Event
|
32
|
+
attr_accessor container_id: String
|
33
|
+
attr_accessor bundle_count: Integer
|
34
|
+
attr_accessor edoc_container_id: String
|
35
|
+
attr_accessor edoc_container_zip: String
|
36
|
+
attr_accessor edoc_csa_agreement_id: String
|
37
|
+
attr_accessor edoc_customer_group_id: String
|
38
|
+
attr_accessor edoc_parent_container_id: String
|
39
|
+
attr_accessor edoc_sibling_container_id: String
|
40
|
+
attr_accessor edoc_user_license_code: String
|
41
|
+
attr_accessor fast_appointment_scheduled_datetime: Time
|
42
|
+
attr_accessor fast_appointment_unload_end_time: Time
|
43
|
+
attr_accessor fast_appointment_unload_start_time: Time
|
44
|
+
attr_accessor piece_count: Integer
|
45
|
+
attr_accessor tray_count: Integer
|
46
|
+
attr_accessor imcb: String
|
47
|
+
attr_accessor imcb_mid: String
|
48
|
+
attr_accessor imcb_routing_code: String
|
49
|
+
attr_accessor imcb_serial_number: String
|
50
|
+
attr_accessor imcb_stid: String
|
51
|
+
attr_accessor imcb_tracking_code: String
|
52
|
+
attr_accessor recipient_crid_of_mid_on_container: String
|
53
|
+
attr_accessor recipient_crid_of_mid_on_container_delegator: String
|
54
|
+
attr_accessor recipient_fast_scheduler_crid: String
|
55
|
+
attr_accessor recipient_fast_scheduler_delegator_crid: String
|
56
|
+
attr_accessor parent_tray_edoc_container_id: String
|
57
|
+
attr_accessor parent_tray_edoc_imtb: String
|
58
|
+
attr_accessor postage_statement_finalization_datetime: Time
|
59
|
+
attr_accessor postage_statement_finalization_facility_name: String
|
60
|
+
attr_accessor routing_code_imcb_matching_portion: String
|
61
|
+
end
|
62
|
+
|
63
|
+
class Event::TrayEvent < Event
|
64
|
+
attr_accessor tray_id: String
|
65
|
+
attr_accessor edoc_container_id: String
|
66
|
+
attr_accessor edoc_container_zip: String
|
67
|
+
attr_accessor edoc_csa_agreement_id: String
|
68
|
+
attr_accessor edoc_customer_group_id: String
|
69
|
+
attr_accessor edoc_parent_container_id: String
|
70
|
+
attr_accessor edoc_sibling_container_id: String
|
71
|
+
attr_accessor edoc_user_license_code: String
|
72
|
+
attr_accessor piece_count: Integer
|
73
|
+
attr_accessor imtb: String
|
74
|
+
attr_accessor imtb_mid: String
|
75
|
+
attr_accessor imtb_routing_code: String
|
76
|
+
attr_accessor imtb_serial_number: String
|
77
|
+
attr_accessor imtb_stid: String
|
78
|
+
attr_accessor imtb_tracking_code: String
|
79
|
+
attr_accessor recipient_crid_of_mid_on_tray: String
|
80
|
+
attr_accessor recipient_crid_of_mid_on_tray_delegator: String
|
81
|
+
attr_accessor parent_bundle_edoc_container_id: String
|
82
|
+
attr_accessor parent_bundle_edoc_imb: String
|
83
|
+
attr_accessor postage_statement_finalization_datetime: Time
|
84
|
+
attr_accessor postage_statement_finalization_facility_name: String
|
85
|
+
attr_accessor routing_code_imtb_matching_portion: String
|
86
|
+
end
|
87
|
+
|
88
|
+
class Event::BundleEvent < Event
|
89
|
+
attr_accessor bundle_id: String
|
90
|
+
attr_accessor edoc_container_id: String
|
91
|
+
attr_accessor edoc_container_zip: String
|
92
|
+
attr_accessor edoc_csa_agreement_id: String
|
93
|
+
attr_accessor edoc_customer_group_id: String
|
94
|
+
attr_accessor edoc_parent_container_id: String
|
95
|
+
attr_accessor edoc_sibling_container_id: String
|
96
|
+
attr_accessor edoc_user_license_code: String
|
97
|
+
attr_accessor piece_count: Integer
|
98
|
+
attr_accessor imb: String
|
99
|
+
attr_accessor imb_mid: String
|
100
|
+
attr_accessor imb_routing_code: String
|
101
|
+
attr_accessor imb_serial_number: String
|
102
|
+
attr_accessor imb_stid: String
|
103
|
+
attr_accessor imb_tracking_code: String
|
104
|
+
attr_accessor recipient_crid_of_mid_on_bundle: String
|
105
|
+
attr_accessor recipient_crid_of_mid_on_bundle_delegator: String
|
106
|
+
attr_accessor postage_statement_finalization_datetime: Time
|
107
|
+
attr_accessor postage_statement_finalization_facility_name: String
|
108
|
+
attr_accessor routing_code_imb_matching_portion: String
|
109
|
+
end
|
110
|
+
|
111
|
+
class Event::PieceEvent < Event
|
112
|
+
attr_accessor anticipated_delivery_date: Date
|
113
|
+
attr_accessor expected_delivery_date: Date
|
114
|
+
attr_accessor predicted_delivery_date: Date
|
115
|
+
attr_accessor imb: String
|
116
|
+
attr_accessor imb_mid: String
|
117
|
+
attr_accessor imb_routing_code: String
|
118
|
+
attr_accessor imb_serial_number: String
|
119
|
+
attr_accessor imb_stid: String
|
120
|
+
attr_accessor imb_tracking_code: String
|
121
|
+
attr_accessor impb: String
|
122
|
+
attr_accessor lde_delivery_mode: String
|
123
|
+
attr_accessor lde_inventory_method: String
|
124
|
+
attr_accessor lde_trigger_method: String
|
125
|
+
attr_accessor mail_phase: String
|
126
|
+
attr_accessor operational_status: String
|
127
|
+
attr_accessor parent_container_edoc_container_id: String
|
128
|
+
attr_accessor parent_container_edoc_imtb: String
|
129
|
+
attr_accessor parent_tray_edoc_container_id: String
|
130
|
+
attr_accessor parent_tray_edoc_imtb: String
|
131
|
+
attr_accessor piece_id: String
|
132
|
+
attr_accessor postage_statement_finalization_datetime: Time
|
133
|
+
attr_accessor postage_statement_finalization_facility_name: String
|
134
|
+
attr_accessor routing_code_imb_matching_portion: String
|
135
|
+
end
|
136
|
+
end
|
metadata
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ivymeter
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- nora
|
8
|
+
bindir: exe
|
9
|
+
cert_chain: []
|
10
|
+
date: 2025-04-14 00:00:00.000000000 Z
|
11
|
+
dependencies:
|
12
|
+
- !ruby/object:Gem::Dependency
|
13
|
+
name: xsv
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
15
|
+
requirements:
|
16
|
+
- - "~>"
|
17
|
+
- !ruby/object:Gem::Version
|
18
|
+
version: '1.0'
|
19
|
+
type: :development
|
20
|
+
prerelease: false
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
requirements:
|
23
|
+
- - "~>"
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: '1.0'
|
26
|
+
email:
|
27
|
+
- nora@hackclub.com
|
28
|
+
executables:
|
29
|
+
- generate_operation_codes
|
30
|
+
extensions: []
|
31
|
+
extra_rdoc_files: []
|
32
|
+
files:
|
33
|
+
- ".rspec"
|
34
|
+
- ".rubocop.yml"
|
35
|
+
- CHANGELOG.md
|
36
|
+
- README.md
|
37
|
+
- Rakefile
|
38
|
+
- exe/generate_operation_codes
|
39
|
+
- lib/ivymeter.rb
|
40
|
+
- lib/ivymeter/events/base.rb
|
41
|
+
- lib/ivymeter/events/bundle.rb
|
42
|
+
- lib/ivymeter/events/container.rb
|
43
|
+
- lib/ivymeter/events/piece.rb
|
44
|
+
- lib/ivymeter/events/tray.rb
|
45
|
+
- lib/ivymeter/opcode.rb
|
46
|
+
- lib/ivymeter/opcodes.rb
|
47
|
+
- lib/ivymeter/prop.rb
|
48
|
+
- lib/ivymeter/version.rb
|
49
|
+
- sig/ivymeter.rbs
|
50
|
+
- sig/ivymeter/events/base.rbs
|
51
|
+
- sig/ivymeter/events/bundle.rbs
|
52
|
+
- sig/ivymeter/events/container.rbs
|
53
|
+
- sig/ivymeter/events/piece.rbs
|
54
|
+
- sig/ivymeter/events/tray.rbs
|
55
|
+
- sig/ivymeter/prop.rbs
|
56
|
+
homepage: https://github.com/24c02/ivymeter
|
57
|
+
licenses: []
|
58
|
+
metadata:
|
59
|
+
allowed_push_host: https://rubygems.org
|
60
|
+
homepage_uri: https://github.com/24c02/ivymeter
|
61
|
+
source_code_uri: https://github.com/yourusername/ivymeter
|
62
|
+
changelog_uri: https://github.com/yourusername/ivymeter/blob/main/CHANGELOG.md
|
63
|
+
rdoc_options: []
|
64
|
+
require_paths:
|
65
|
+
- lib
|
66
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 3.1.0
|
71
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
requirements: []
|
77
|
+
rubygems_version: 3.6.2
|
78
|
+
specification_version: 4
|
79
|
+
summary: data classes for USPS' IV-MTR
|
80
|
+
test_files: []
|