an_post_return 0.2.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/.cursor/mcp.json +21 -0
- data/.cursor/rules/cursor_rules.mdc +53 -0
- data/.cursor/rules/dev_workflow.mdc +215 -0
- data/.cursor/rules/self_improve.mdc +73 -0
- data/.cursor/rules/taskmaster.mdc +353 -0
- data/.env.example +14 -0
- data/.rspec +3 -0
- data/.standard.yml +3 -0
- data/.windsurfrules +474 -0
- data/CHANGELOG.md +5 -0
- data/CODE_OF_CONDUCT.md +132 -0
- data/LICENSE.txt +21 -0
- data/README-task-master.md +645 -0
- data/README.md +166 -0
- data/Rakefile +10 -0
- data/lib/an_post_return/client.rb +82 -0
- data/lib/an_post_return/configuration.rb +47 -0
- data/lib/an_post_return/errors.rb +21 -0
- data/lib/an_post_return/objects/base.rb +70 -0
- data/lib/an_post_return/objects/return_label.rb +11 -0
- data/lib/an_post_return/resources/return_label_resource.rb +123 -0
- data/lib/an_post_return/sftp/client.rb +132 -0
- data/lib/an_post_return/sftp/errors.rb +12 -0
- data/lib/an_post_return/sftp/tracking_parser.rb +116 -0
- data/lib/an_post_return/tracker.rb +97 -0
- data/lib/an_post_return/version.rb +5 -0
- data/lib/an_post_return.rb +45 -0
- data/scripts/example_prd.txt +47 -0
- data/scripts/prd.txt +147 -0
- data/scripts/sftp_test.rb +185 -0
- data/scripts/task-complexity-report.json +131 -0
- data/sig/anpost_api.rbs +4 -0
- metadata +302 -0
@@ -0,0 +1,131 @@
|
|
1
|
+
{
|
2
|
+
"meta": {
|
3
|
+
"generatedAt": "2025-04-23T14:30:12.935Z",
|
4
|
+
"tasksAnalyzed": 15,
|
5
|
+
"thresholdScore": 5,
|
6
|
+
"projectName": "Your Project Name",
|
7
|
+
"usedResearch": false
|
8
|
+
},
|
9
|
+
"complexityAnalysis": [
|
10
|
+
{
|
11
|
+
"taskId": 1,
|
12
|
+
"taskTitle": "Set up project structure and basic files",
|
13
|
+
"complexityScore": 4,
|
14
|
+
"recommendedSubtasks": 5,
|
15
|
+
"expansionPrompt": "Break down the process of setting up a Ruby gem structure with specific directories, files, and dependencies into clear sequential steps",
|
16
|
+
"reasoning": "This task involves standard Ruby gem setup with a moderate directory structure. While not highly complex, it requires careful organization of files and proper gemspec configuration. Breaking it into subtasks for initialization, directory creation, file setup, gemspec configuration, and module initialization would make it more manageable."
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"taskId": 2,
|
20
|
+
"taskTitle": "Implement Configuration class",
|
21
|
+
"complexityScore": 3,
|
22
|
+
"recommendedSubtasks": 4,
|
23
|
+
"expansionPrompt": "Divide the implementation of a Ruby configuration class with attribute management, validation, and module integration into logical steps",
|
24
|
+
"reasoning": "This is a relatively straightforward configuration implementation with a few attributes and standard pattern. The complexity is low to moderate, requiring attribute definition, module integration, validation logic, and documentation. Four subtasks would adequately cover the implementation needs."
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"taskId": 3,
|
28
|
+
"taskTitle": "Implement base error classes",
|
29
|
+
"complexityScore": 2,
|
30
|
+
"recommendedSubtasks": 4,
|
31
|
+
"expansionPrompt": "Break down the creation of a hierarchical error class structure with proper initialization and message handling into discrete steps",
|
32
|
+
"reasoning": "Creating error classes is a relatively simple task with low complexity. The hierarchy is straightforward with a base class and several subclasses. Four subtasks would cover designing the hierarchy, implementing the base class, implementing subclasses, and adding error wrapping functionality."
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"taskId": 4,
|
36
|
+
"taskTitle": "Implement Client class",
|
37
|
+
"complexityScore": 4,
|
38
|
+
"recommendedSubtasks": 5,
|
39
|
+
"expansionPrompt": "Divide the implementation of a client class that manages configuration, resource access, and validation into clear implementation steps",
|
40
|
+
"reasoning": "The client class serves as the main interface but has moderate complexity due to configuration handling, resource management, and validation requirements. Five subtasks would allow for proper separation of concerns: class structure, configuration handling, resource access methods, validation logic, and documentation."
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"taskId": 5,
|
44
|
+
"taskTitle": "Implement HTTP request handling",
|
45
|
+
"complexityScore": 6,
|
46
|
+
"recommendedSubtasks": 6,
|
47
|
+
"expansionPrompt": "Break down the implementation of an HTTP client with proxy support, header management, and comprehensive error handling into specific implementation tasks",
|
48
|
+
"reasoning": "HTTP request handling has higher complexity due to proxy configuration, header management, error mapping, and response parsing. Six subtasks would cover the core HTTP client, proxy configuration, header management, response parsing, error handling, and integration with the main client."
|
49
|
+
},
|
50
|
+
{
|
51
|
+
"taskId": 6,
|
52
|
+
"taskTitle": "Implement ReturnLabelResource resource",
|
53
|
+
"complexityScore": 5,
|
54
|
+
"recommendedSubtasks": 5,
|
55
|
+
"expansionPrompt": "Divide the implementation of an API resource class for generating return labels with validation, request formatting, and response handling into clear steps",
|
56
|
+
"reasoning": "This resource implementation has moderate complexity due to API interaction, parameter validation, and response handling. Five subtasks would cover class structure, parameter validation, request building, response parsing, and error handling specific to this resource."
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"taskId": 7,
|
60
|
+
"taskTitle": "Implement SFTP client",
|
61
|
+
"complexityScore": 6,
|
62
|
+
"recommendedSubtasks": 6,
|
63
|
+
"expansionPrompt": "Break down the implementation of an SFTP client with connection management, file operations, and error handling into discrete implementation tasks",
|
64
|
+
"reasoning": "SFTP client implementation has higher complexity due to connection management, file operations, and error handling for network operations. Six subtasks would cover client structure, connection management, file listing, file downloading, error handling, and integration with the main client."
|
65
|
+
},
|
66
|
+
{
|
67
|
+
"taskId": 8,
|
68
|
+
"taskTitle": "Implement tracking file parser",
|
69
|
+
"complexityScore": 5,
|
70
|
+
"recommendedSubtasks": 5,
|
71
|
+
"expansionPrompt": "Divide the implementation of a parser for specialized tracking file formats into logical parsing components and data transformation steps",
|
72
|
+
"reasoning": "File parsing has moderate complexity due to the need to understand and handle specific file formats and transform them into structured data. Five subtasks would cover parser structure, format analysis, line parsing, data transformation, and error handling for malformed content."
|
73
|
+
},
|
74
|
+
{
|
75
|
+
"taskId": 9,
|
76
|
+
"taskTitle": "Implement Tracking resource",
|
77
|
+
"complexityScore": 7,
|
78
|
+
"recommendedSubtasks": 6,
|
79
|
+
"expansionPrompt": "Break down the implementation of a tracking resource that integrates SFTP access, file parsing, and incremental processing into clear implementation steps",
|
80
|
+
"reasoning": "This task has higher complexity as it integrates multiple components (SFTP client and parser) and implements incremental file processing logic. Six subtasks would cover class structure, SFTP integration, file ordering logic, incremental processing, data aggregation, and error handling."
|
81
|
+
},
|
82
|
+
{
|
83
|
+
"taskId": 10,
|
84
|
+
"taskTitle": "Add comprehensive documentation",
|
85
|
+
"complexityScore": 4,
|
86
|
+
"recommendedSubtasks": 5,
|
87
|
+
"expansionPrompt": "Divide the process of adding YARD documentation to all classes and methods into logical documentation groups or components",
|
88
|
+
"reasoning": "Documentation has moderate complexity due to the need to cover multiple classes and methods with appropriate tags and examples. Five subtasks would allow documentation to be organized by component: core module, configuration, client, resources, and SFTP components."
|
89
|
+
},
|
90
|
+
{
|
91
|
+
"taskId": 11,
|
92
|
+
"taskTitle": "Implement RSpec test suite for configuration and client",
|
93
|
+
"complexityScore": 5,
|
94
|
+
"recommendedSubtasks": 5,
|
95
|
+
"expansionPrompt": "Break down the implementation of RSpec tests for configuration and client classes into specific test groups and scenarios",
|
96
|
+
"reasoning": "Testing configuration and client classes has moderate complexity due to the need for various test scenarios, mocks, and validation tests. Five subtasks would cover test setup, configuration tests, client initialization tests, resource access tests, and error handling tests."
|
97
|
+
},
|
98
|
+
{
|
99
|
+
"taskId": 12,
|
100
|
+
"taskTitle": "Implement RSpec tests for ReturnLabelResource resource",
|
101
|
+
"complexityScore": 6,
|
102
|
+
"recommendedSubtasks": 6,
|
103
|
+
"expansionPrompt": "Divide the implementation of RSpec tests for the ReturnLabelResource resource with API interaction testing into specific test groups and fixtures",
|
104
|
+
"reasoning": "Testing the ReturnLabelResource resource has higher complexity due to API interaction, VCR setup, fixture creation, and various test scenarios. Six subtasks would cover test setup, fixture creation, parameter validation tests, successful request tests, error handling tests, and integration tests."
|
105
|
+
},
|
106
|
+
{
|
107
|
+
"taskId": 13,
|
108
|
+
"taskTitle": "Implement RSpec tests for SFTP and Tracking",
|
109
|
+
"complexityScore": 7,
|
110
|
+
"recommendedSubtasks": 7,
|
111
|
+
"expansionPrompt": "Break down the implementation of RSpec tests for SFTP client, tracking parser, and Tracking resource into specific test components and scenarios",
|
112
|
+
"reasoning": "Testing SFTP and Tracking components has high complexity due to the need to mock SFTP interactions, create file fixtures, and test complex integration scenarios. Seven subtasks would cover test setup, SFTP client tests, parser tests, tracking resource tests, fixture creation, integration tests, and error handling tests."
|
113
|
+
},
|
114
|
+
{
|
115
|
+
"taskId": 14,
|
116
|
+
"taskTitle": "Create comprehensive README and usage examples",
|
117
|
+
"complexityScore": 3,
|
118
|
+
"recommendedSubtasks": 4,
|
119
|
+
"expansionPrompt": "Divide the creation of a comprehensive README with installation, configuration, and usage examples into logical documentation sections",
|
120
|
+
"reasoning": "Creating documentation has low to moderate complexity, primarily requiring clear organization and examples. Four subtasks would cover installation and setup documentation, configuration examples, usage examples for each feature, and development/contribution guidelines."
|
121
|
+
},
|
122
|
+
{
|
123
|
+
"taskId": 15,
|
124
|
+
"taskTitle": "Finalize gem packaging and release preparation",
|
125
|
+
"complexityScore": 3,
|
126
|
+
"recommendedSubtasks": 4,
|
127
|
+
"expansionPrompt": "Break down the process of finalizing a Ruby gem for release with proper metadata, versioning, and documentation into specific preparation steps",
|
128
|
+
"reasoning": "Finalizing the gem has low to moderate complexity, involving standard packaging steps. Four subtasks would cover gemspec updates, version setting, changelog creation, and final verification/build testing."
|
129
|
+
}
|
130
|
+
]
|
131
|
+
}
|
data/sig/anpost_api.rbs
ADDED
metadata
ADDED
@@ -0,0 +1,302 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: an_post_return
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Andy Chong
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2025-04-25 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: x25519
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.0.7
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.0.7
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: ed25519
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.2'
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 1.2.4
|
37
|
+
type: :runtime
|
38
|
+
prerelease: false
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - "~>"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '1.2'
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 1.2.4
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: bcrypt_pbkdf
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '1.0'
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 1.0.2
|
57
|
+
type: :runtime
|
58
|
+
prerelease: false
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - "~>"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '1.0'
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: 1.0.2
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
name: net-sftp
|
69
|
+
requirement: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - "~>"
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '3.0'
|
74
|
+
type: :runtime
|
75
|
+
prerelease: false
|
76
|
+
version_requirements: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - "~>"
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '3.0'
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: faraday
|
83
|
+
requirement: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - "~>"
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '2.0'
|
88
|
+
type: :runtime
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - "~>"
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '2.0'
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: json
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - "~>"
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '2.6'
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - "~>"
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '2.6'
|
109
|
+
- !ruby/object:Gem::Dependency
|
110
|
+
name: csv
|
111
|
+
requirement: !ruby/object:Gem::Requirement
|
112
|
+
requirements:
|
113
|
+
- - "~>"
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: '3.2'
|
116
|
+
type: :runtime
|
117
|
+
prerelease: false
|
118
|
+
version_requirements: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - "~>"
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '3.2'
|
123
|
+
- !ruby/object:Gem::Dependency
|
124
|
+
name: base64
|
125
|
+
requirement: !ruby/object:Gem::Requirement
|
126
|
+
requirements:
|
127
|
+
- - "~>"
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: 0.2.0
|
130
|
+
type: :runtime
|
131
|
+
prerelease: false
|
132
|
+
version_requirements: !ruby/object:Gem::Requirement
|
133
|
+
requirements:
|
134
|
+
- - "~>"
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: 0.2.0
|
137
|
+
- !ruby/object:Gem::Dependency
|
138
|
+
name: activesupport
|
139
|
+
requirement: !ruby/object:Gem::Requirement
|
140
|
+
requirements:
|
141
|
+
- - "~>"
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '7.0'
|
144
|
+
type: :runtime
|
145
|
+
prerelease: false
|
146
|
+
version_requirements: !ruby/object:Gem::Requirement
|
147
|
+
requirements:
|
148
|
+
- - "~>"
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '7.0'
|
151
|
+
- !ruby/object:Gem::Dependency
|
152
|
+
name: rake
|
153
|
+
requirement: !ruby/object:Gem::Requirement
|
154
|
+
requirements:
|
155
|
+
- - "~>"
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '13.0'
|
158
|
+
type: :development
|
159
|
+
prerelease: false
|
160
|
+
version_requirements: !ruby/object:Gem::Requirement
|
161
|
+
requirements:
|
162
|
+
- - "~>"
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: '13.0'
|
165
|
+
- !ruby/object:Gem::Dependency
|
166
|
+
name: rspec
|
167
|
+
requirement: !ruby/object:Gem::Requirement
|
168
|
+
requirements:
|
169
|
+
- - "~>"
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
version: '3.0'
|
172
|
+
type: :development
|
173
|
+
prerelease: false
|
174
|
+
version_requirements: !ruby/object:Gem::Requirement
|
175
|
+
requirements:
|
176
|
+
- - "~>"
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: '3.0'
|
179
|
+
- !ruby/object:Gem::Dependency
|
180
|
+
name: standard
|
181
|
+
requirement: !ruby/object:Gem::Requirement
|
182
|
+
requirements:
|
183
|
+
- - "~>"
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
version: '1.3'
|
186
|
+
type: :development
|
187
|
+
prerelease: false
|
188
|
+
version_requirements: !ruby/object:Gem::Requirement
|
189
|
+
requirements:
|
190
|
+
- - "~>"
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: '1.3'
|
193
|
+
- !ruby/object:Gem::Dependency
|
194
|
+
name: webmock
|
195
|
+
requirement: !ruby/object:Gem::Requirement
|
196
|
+
requirements:
|
197
|
+
- - "~>"
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: '3.18'
|
200
|
+
type: :development
|
201
|
+
prerelease: false
|
202
|
+
version_requirements: !ruby/object:Gem::Requirement
|
203
|
+
requirements:
|
204
|
+
- - "~>"
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '3.18'
|
207
|
+
- !ruby/object:Gem::Dependency
|
208
|
+
name: pry
|
209
|
+
requirement: !ruby/object:Gem::Requirement
|
210
|
+
requirements:
|
211
|
+
- - "~>"
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: '0.14'
|
214
|
+
type: :development
|
215
|
+
prerelease: false
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
requirements:
|
218
|
+
- - "~>"
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: '0.14'
|
221
|
+
- !ruby/object:Gem::Dependency
|
222
|
+
name: dotenv
|
223
|
+
requirement: !ruby/object:Gem::Requirement
|
224
|
+
requirements:
|
225
|
+
- - "~>"
|
226
|
+
- !ruby/object:Gem::Version
|
227
|
+
version: '2.8'
|
228
|
+
type: :development
|
229
|
+
prerelease: false
|
230
|
+
version_requirements: !ruby/object:Gem::Requirement
|
231
|
+
requirements:
|
232
|
+
- - "~>"
|
233
|
+
- !ruby/object:Gem::Version
|
234
|
+
version: '2.8'
|
235
|
+
description: A Ruby gem that provides a simple interface to interact with An Post's
|
236
|
+
API services, specifically for return label creation and tracking information retrieval.
|
237
|
+
email:
|
238
|
+
- andygg1996personal@gmail.com
|
239
|
+
executables: []
|
240
|
+
extensions: []
|
241
|
+
extra_rdoc_files: []
|
242
|
+
files:
|
243
|
+
- ".cursor/mcp.json"
|
244
|
+
- ".cursor/rules/cursor_rules.mdc"
|
245
|
+
- ".cursor/rules/dev_workflow.mdc"
|
246
|
+
- ".cursor/rules/self_improve.mdc"
|
247
|
+
- ".cursor/rules/taskmaster.mdc"
|
248
|
+
- ".env.example"
|
249
|
+
- ".rspec"
|
250
|
+
- ".standard.yml"
|
251
|
+
- ".windsurfrules"
|
252
|
+
- CHANGELOG.md
|
253
|
+
- CODE_OF_CONDUCT.md
|
254
|
+
- LICENSE.txt
|
255
|
+
- README-task-master.md
|
256
|
+
- README.md
|
257
|
+
- Rakefile
|
258
|
+
- lib/an_post_return.rb
|
259
|
+
- lib/an_post_return/client.rb
|
260
|
+
- lib/an_post_return/configuration.rb
|
261
|
+
- lib/an_post_return/errors.rb
|
262
|
+
- lib/an_post_return/objects/base.rb
|
263
|
+
- lib/an_post_return/objects/return_label.rb
|
264
|
+
- lib/an_post_return/resources/return_label_resource.rb
|
265
|
+
- lib/an_post_return/sftp/client.rb
|
266
|
+
- lib/an_post_return/sftp/errors.rb
|
267
|
+
- lib/an_post_return/sftp/tracking_parser.rb
|
268
|
+
- lib/an_post_return/tracker.rb
|
269
|
+
- lib/an_post_return/version.rb
|
270
|
+
- scripts/example_prd.txt
|
271
|
+
- scripts/prd.txt
|
272
|
+
- scripts/sftp_test.rb
|
273
|
+
- scripts/task-complexity-report.json
|
274
|
+
- sig/anpost_api.rbs
|
275
|
+
homepage: https://github.com/PostCo/an_post_return
|
276
|
+
licenses:
|
277
|
+
- MIT
|
278
|
+
metadata:
|
279
|
+
allowed_push_host: https://rubygems.org
|
280
|
+
homepage_uri: https://github.com/PostCo/an_post_return
|
281
|
+
source_code_uri: https://github.com/PostCo/an_post_return
|
282
|
+
changelog_uri: https://github.com/PostCo/an_post_return/blob/main/CHANGELOG.md
|
283
|
+
post_install_message:
|
284
|
+
rdoc_options: []
|
285
|
+
require_paths:
|
286
|
+
- lib
|
287
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
288
|
+
requirements:
|
289
|
+
- - ">="
|
290
|
+
- !ruby/object:Gem::Version
|
291
|
+
version: 3.0.0
|
292
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
293
|
+
requirements:
|
294
|
+
- - ">="
|
295
|
+
- !ruby/object:Gem::Version
|
296
|
+
version: '0'
|
297
|
+
requirements: []
|
298
|
+
rubygems_version: 3.5.23
|
299
|
+
signing_key:
|
300
|
+
specification_version: 4
|
301
|
+
summary: Ruby wrapper for An Post's API services
|
302
|
+
test_files: []
|