emasser 3.12.0 → 3.22.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 +4 -4
- data/.env-example +18 -12
- data/.github/workflows/anchore-syft.yml +38 -0
- data/.github/workflows/codeql-analysis.yml +2 -2
- data/.github/workflows/push-to-docker-mail.yml +1 -2
- data/.github/workflows/push-to-docker.yml +2 -2
- data/.github/workflows/rubocop.yml +1 -1
- data/.github/workflows/test-cli.yml +4 -4
- data/.mergify.yml +11 -11
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +6 -0
- data/Dockerfile +6 -4
- data/Gemfile.lock +108 -64
- data/README.md +7 -7
- data/docs/features.md +492 -524
- data/emasser.gemspec +19 -13
- data/images/emasser_architecture.png +0 -0
- data/lib/emasser/configuration.rb +136 -35
- data/lib/emasser/constants.rb +4 -0
- data/lib/emasser/delete.rb +75 -7
- data/lib/emasser/errors.rb +9 -0
- data/lib/emasser/get.rb +610 -177
- data/lib/emasser/help/approvalCac_post_mapper.md +6 -5
- data/lib/emasser/help/approvalPac_post_mapper.md +1 -5
- data/lib/emasser/help/artifacts_del_mapper.md +2 -2
- data/lib/emasser/help/artifacts_post_mapper.md +23 -34
- data/lib/emasser/help/artifacts_put_mapper.md +28 -9
- data/lib/emasser/help/cloudresource_post_mapper.md +4 -3
- data/lib/emasser/help/controls_put_mapper.md +24 -16
- data/lib/emasser/help/hardware_post_mapper.md +41 -0
- data/lib/emasser/help/hardware_put_mapper.md +42 -0
- data/lib/emasser/help/milestone_del_mapper.md +1 -1
- data/lib/emasser/help/milestone_post_mapper.md +3 -1
- data/lib/emasser/help/milestone_put_mapper.md +1 -8
- data/lib/emasser/help/poam_del_mapper.md +1 -1
- data/lib/emasser/help/poam_post_mapper.md +40 -14
- data/lib/emasser/help/poam_put_mapper.md +43 -18
- data/lib/emasser/help/software_post_mapper.md +59 -0
- data/lib/emasser/help/software_put_mapper.md +60 -0
- data/lib/emasser/help/staticcode_post_mapper.md +0 -4
- data/lib/emasser/help/testresults_post_mapper.md +8 -11
- data/lib/emasser/output_converters.rb +50 -42
- data/lib/emasser/post.rb +603 -231
- data/lib/emasser/put.rb +453 -193
- data/lib/emasser/version.rb +1 -1
- metadata +51 -33
- data/images/emasser_architecture.jpg +0 -0
- data/images/emasser_diagram-Page-3.jpg +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ea103b11885ac1177827b4c904231e195551c3e3aa3eff600f68b9f6f515209
|
4
|
+
data.tar.gz: 1fa842722e5c8df28d04cbf50d08fd4d7cc93a9cc4e4ca029d38802c252551fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cbc31d64a2f79e938c68d39062bbc6ed713254e1e5801c187217bc03de5ab6ca5de307a6f4baf6a7bc3179b92dbb8d11ac35b78ef4bf78c9f194bc71bf802e69
|
7
|
+
data.tar.gz: aa638c03037d408dc81e183052401ca7d5dd7402d9185f3059a8a46352345e519f35827fbde7c6bde94af5512a04b22f7d24c36a70ee2e8a87e8330f2856eef4
|
data/.env-example
CHANGED
@@ -1,12 +1,18 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
export
|
4
|
-
export
|
5
|
-
export
|
6
|
-
export
|
7
|
-
export
|
8
|
-
|
9
|
-
export
|
10
|
-
|
11
|
-
|
12
|
-
export
|
1
|
+
# -----------------------------------------------------------------------------
|
2
|
+
# Required environment variables
|
3
|
+
export EMASSER_API_KEY=<The eMASS API key (api-key)>
|
4
|
+
export EMASSER_HOST_URL=<The Full Qualified Domain Name (FQDN) for the eMASS server>
|
5
|
+
export EMASSER_KEY_FILE_PATH=<The eMASS key.pem private key file in PEM format (.pem)>
|
6
|
+
export EMASSER_CERT_FILE_PATH=<The eMASS client.pem certificate file in PEM format (.pem)>
|
7
|
+
export EMASSER_KEY_FILE_PASSWORD=<Secret phrase used to protect the encryption key>
|
8
|
+
# Required by most eMASS instances for actionable requests (post,put,delete)
|
9
|
+
export EMASSER_USER_UID=<The eMASS User Unique Identifier (user-uid)>
|
10
|
+
# -----------------------------------------------------------------------------
|
11
|
+
# Optional environment variables
|
12
|
+
export EMASSER_CLIENT_SIDE_VALIDATION=<Client side validation - true or false (default true)>
|
13
|
+
export EMASSER_VERIFY_SSL=<verify SSL - true or false (default true)>
|
14
|
+
export EMASSER_VERIFY_SSL_HOST=<verify host SSL - true or false (default true)>
|
15
|
+
export EMASSER_DEBUGGING=<set debugging - true or false (default false)>
|
16
|
+
export EMASSER_CLI_DISPLAY_NULL=<display null value fields - true or false (default true)>
|
17
|
+
export EMASSER_EPOCH_TO_DATETIME=<convert epoch to data/time value - true or false (default true)>
|
18
|
+
export EMASSER_DOWNLOAD_DIR=`Directory where exported files are saved (default eMASSerDownloads)`
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
2
|
+
# They are provided by a third-party and are governed by
|
3
|
+
# separate terms of service, privacy policy, and support
|
4
|
+
# documentation.
|
5
|
+
|
6
|
+
# This workflow checks out code, builds an image, performs a container image
|
7
|
+
# scan with Anchore's Syft tool, and uploads the results to the GitHub Dependency
|
8
|
+
# submission API.
|
9
|
+
|
10
|
+
# For more information on the Anchore sbom-action usage
|
11
|
+
# and parameters, see https://github.com/anchore/sbom-action. For more
|
12
|
+
# information about the Anchore SBOM tool, Syft, see
|
13
|
+
# https://github.com/anchore/syft
|
14
|
+
name: Anchore Syft SBOM scan
|
15
|
+
|
16
|
+
on:
|
17
|
+
push:
|
18
|
+
branches: [ "main" ]
|
19
|
+
|
20
|
+
permissions:
|
21
|
+
contents: write
|
22
|
+
|
23
|
+
jobs:
|
24
|
+
Anchore-Build-Scan:
|
25
|
+
permissions:
|
26
|
+
contents: write # required to upload to the Dependency submission API
|
27
|
+
runs-on: ubuntu-latest
|
28
|
+
steps:
|
29
|
+
- name: Checkout the code
|
30
|
+
uses: actions/checkout@v4
|
31
|
+
- name: Build the Docker image
|
32
|
+
run: docker build . --file Dockerfile --tag localbuild/testimage:latest
|
33
|
+
- name: Scan the image and upload dependency results
|
34
|
+
uses: anchore/sbom-action@bb716408e75840bbb01e839347cd213767269d4a
|
35
|
+
with:
|
36
|
+
image: "localbuild/testimage:latest"
|
37
|
+
artifact-name: image.spdx.json
|
38
|
+
dependency-snapshot: true
|
@@ -42,7 +42,7 @@ jobs:
|
|
42
42
|
|
43
43
|
# Initializes the CodeQL tools for scanning.
|
44
44
|
- name: Initialize CodeQL
|
45
|
-
uses: github/codeql-action/init@
|
45
|
+
uses: github/codeql-action/init@v3
|
46
46
|
with:
|
47
47
|
languages: ${{ matrix.language }}
|
48
48
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
@@ -53,7 +53,7 @@ jobs:
|
|
53
53
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
54
54
|
# If this step fails, then you should remove it and run the build manually (see below)
|
55
55
|
- name: Autobuild
|
56
|
-
uses: github/codeql-action/autobuild@
|
56
|
+
uses: github/codeql-action/autobuild@v3
|
57
57
|
|
58
58
|
# ℹ️ Command-line programs to run using the OS shell.
|
59
59
|
# 📚 https://git.io/JvXDl
|
@@ -1,4 +1,4 @@
|
|
1
|
-
name: Push
|
1
|
+
name: Push eMASSer to Docker Hub on every release
|
2
2
|
|
3
3
|
on:
|
4
4
|
release:
|
@@ -23,7 +23,7 @@ jobs:
|
|
23
23
|
string: "${{ github.event.release.tag_name }}"
|
24
24
|
replace-with: ''
|
25
25
|
flags: 'g'
|
26
|
-
- name: Checkout the
|
26
|
+
- name: Checkout the eMASSer Repository
|
27
27
|
uses: actions/checkout@v4
|
28
28
|
- name: Build and push
|
29
29
|
id: docker_build
|
@@ -12,10 +12,10 @@ jobs:
|
|
12
12
|
fail-fast: false
|
13
13
|
matrix:
|
14
14
|
platform: [ ubuntu-latest, macos-latest, windows-latest ]
|
15
|
-
ruby-version: ['
|
15
|
+
ruby-version: ['3.4']
|
16
16
|
runs-on: ${{ matrix.platform }}
|
17
17
|
steps:
|
18
|
-
- name: Setup Ruby ${{matrix.ruby}}
|
18
|
+
- name: Setup Ruby ${{ matrix.ruby-version }}
|
19
19
|
uses: ruby/setup-ruby@v1
|
20
20
|
with:
|
21
21
|
ruby-version: ${{ matrix.ruby-version }}
|
@@ -24,14 +24,14 @@ jobs:
|
|
24
24
|
with:
|
25
25
|
args: install curl -y
|
26
26
|
if: matrix.platform == 'windows-latest'
|
27
|
-
- name: Testing on ${{ matrix.platform }} for Ruby ${{ matrix.ruby }}
|
27
|
+
- name: Testing on ${{ matrix.platform }} for Ruby ${{ matrix.ruby-version }}
|
28
28
|
if: matrix.platform == 'windows-latest'
|
29
29
|
run: |
|
30
30
|
# bundle install
|
31
31
|
# bundle info emass_client
|
32
32
|
# rspec spec --format documentation
|
33
33
|
echo "need to fix path to libcurl.dll"
|
34
|
-
- name: Testing on ${{ matrix.platform }} for Ruby ${{ matrix.ruby }}
|
34
|
+
- name: Testing on ${{ matrix.platform }} for Ruby ${{ matrix.ruby-version }}
|
35
35
|
if: matrix.platform == 'ubuntu-latest' || matrix.platform == 'macos-latest'
|
36
36
|
run: |
|
37
37
|
bundle install
|
data/.mergify.yml
CHANGED
@@ -1,25 +1,25 @@
|
|
1
1
|
queue_rules:
|
2
2
|
- name: default
|
3
|
-
|
3
|
+
queue_conditions:
|
4
|
+
- label=ready-to-merge
|
5
|
+
merge_conditions:
|
4
6
|
- "#approved-reviews-by>=1"
|
5
7
|
- base=main
|
8
|
+
merge_method: squash
|
6
9
|
|
7
10
|
pull_request_rules:
|
8
|
-
- name: automatic merge for master when reviewed and CI passes
|
9
|
-
conditions:
|
10
|
-
- label=ready-to-merge
|
11
|
-
actions:
|
12
|
-
queue:
|
13
|
-
name: default
|
14
|
-
method: squash
|
15
11
|
- name: delete head branch after merge
|
16
12
|
conditions:
|
17
13
|
- merged
|
18
14
|
actions:
|
19
|
-
|
15
|
+
delete_head_branch: {}
|
20
16
|
- name: ask developers to resolve conflict
|
21
17
|
conditions:
|
22
18
|
- conflict
|
23
19
|
actions:
|
24
|
-
|
25
|
-
|
20
|
+
comment:
|
21
|
+
message: This pull request has a conflict. Could you fix it @{{author}}?
|
22
|
+
- name: automatic merge for master when reviewed and CI passes
|
23
|
+
conditions: []
|
24
|
+
actions:
|
25
|
+
queue:
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
|
|
4
4
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
5
5
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
6
6
|
|
7
|
+
## [3.20.0] Feb 28, 2025
|
8
|
+
### Changes
|
9
|
+
- Implemented eMASS API V3.22 specifications (to include previous updates)
|
10
|
+
- Updated documentation to include new capabilities (endpoints)
|
11
|
+
- Updated docker container to use Ruby v3 and appropriate dependencies
|
12
|
+
|
7
13
|
## [3.12.0] Oct 11, 2023
|
8
14
|
### Changes
|
9
15
|
- Implemented eMASS API V3.12 specifications (to include previous updates)
|
data/Dockerfile
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# Buld from ruby 2.7.5 image
|
2
|
-
FROM ruby:2.
|
2
|
+
FROM ruby:3.2.5 as build
|
3
3
|
|
4
4
|
LABEL name="emasser" \
|
5
5
|
vendor="MITRE" \
|
@@ -13,8 +13,8 @@ LABEL name="emasser" \
|
|
13
13
|
# Set the base directory that will be used from now on
|
14
14
|
WORKDIR /emasser
|
15
15
|
|
16
|
-
# Install dependency
|
17
|
-
RUN gem install bundler -v '2.
|
16
|
+
# Install dependency (old bundler was 2.3.5)
|
17
|
+
RUN gem install bundler -v '2.6.5'
|
18
18
|
RUN apt update && apt install -y build-essential
|
19
19
|
COPY . .
|
20
20
|
RUN bundle install
|
@@ -27,7 +27,9 @@ RUN mkdir gems
|
|
27
27
|
RUN mv emasser*.gem gems/emasser.gem
|
28
28
|
|
29
29
|
|
30
|
-
FROM ruby:2-alpine
|
30
|
+
# FROM ruby:2-alpine
|
31
|
+
# Updated to ruby:3-alpine
|
32
|
+
FROM ruby:3-alpine
|
31
33
|
|
32
34
|
# Use the line below when testing creating the container locally
|
33
35
|
# RUN sed -i 's/https/http/g' /etc/apk/repositories
|
data/Gemfile.lock
CHANGED
@@ -1,108 +1,152 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
emasser (3.
|
4
|
+
emasser (3.22.0)
|
5
5
|
activesupport (>= 6.1.4, < 7.1.0)
|
6
|
-
colorize (~>
|
7
|
-
dotenv (~>
|
8
|
-
emass_client (~> 3.
|
6
|
+
colorize (~> 1.1.0)
|
7
|
+
dotenv (~> 3.1.2)
|
8
|
+
emass_client (~> 3.20)
|
9
9
|
rubyzip (~> 2.3.2)
|
10
|
-
thor (~> 1.
|
10
|
+
thor (~> 1.3.0)
|
11
11
|
|
12
12
|
GEM
|
13
13
|
remote: https://rubygems.org/
|
14
14
|
specs:
|
15
|
-
activesupport (7.0.8)
|
15
|
+
activesupport (7.0.8.7)
|
16
16
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
17
17
|
i18n (>= 1.6, < 2)
|
18
18
|
minitest (>= 5.1)
|
19
19
|
tzinfo (~> 2.0)
|
20
20
|
ast (2.4.2)
|
21
|
-
|
21
|
+
backport (1.2.0)
|
22
|
+
benchmark (0.4.0)
|
23
|
+
bundler-audit (0.9.2)
|
22
24
|
bundler (>= 1.2.0, < 3)
|
23
25
|
thor (~> 1.0)
|
24
26
|
byebug (11.1.3)
|
25
|
-
colorize (
|
26
|
-
concurrent-ruby (1.
|
27
|
-
diff-lcs (1.
|
28
|
-
dotenv (
|
29
|
-
emass_client (3.
|
27
|
+
colorize (1.1.0)
|
28
|
+
concurrent-ruby (1.3.5)
|
29
|
+
diff-lcs (1.6.0)
|
30
|
+
dotenv (3.1.7)
|
31
|
+
emass_client (3.22.0)
|
30
32
|
typhoeus (~> 1.0, >= 1.0.1)
|
31
33
|
ethon (0.16.0)
|
32
34
|
ffi (>= 1.15.0)
|
33
|
-
ffi (1.
|
34
|
-
|
35
|
-
i18n (1.14.1)
|
35
|
+
ffi (1.17.1-x64-mingw-ucrt)
|
36
|
+
i18n (1.14.7)
|
36
37
|
concurrent-ruby (~> 1.0)
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
38
|
+
jaro_winkler (1.6.0)
|
39
|
+
json (2.10.1)
|
40
|
+
kramdown (2.5.1)
|
41
|
+
rexml (>= 3.3.9)
|
42
|
+
kramdown-parser-gfm (1.1.0)
|
43
|
+
kramdown (~> 2.0)
|
44
|
+
language_server-protocol (3.17.0.4)
|
45
|
+
lint_roller (1.1.0)
|
46
|
+
logger (1.6.6)
|
47
|
+
minitest (5.25.4)
|
48
|
+
nokogiri (1.18.3-x64-mingw-ucrt)
|
49
|
+
racc (~> 1.4)
|
50
|
+
observer (0.1.2)
|
51
|
+
ostruct (0.6.1)
|
52
|
+
parallel (1.26.3)
|
53
|
+
parser (3.3.7.1)
|
41
54
|
ast (~> 2.4.1)
|
42
55
|
racc
|
43
|
-
racc (1.
|
56
|
+
racc (1.8.1)
|
44
57
|
rainbow (3.1.1)
|
45
|
-
rake (13.
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
rspec
|
53
|
-
rspec-
|
54
|
-
|
58
|
+
rake (13.2.1)
|
59
|
+
rbs (3.8.1)
|
60
|
+
logger
|
61
|
+
regexp_parser (2.10.0)
|
62
|
+
reverse_markdown (3.0.0)
|
63
|
+
nokogiri
|
64
|
+
rexml (3.4.1)
|
65
|
+
rspec (3.13.0)
|
66
|
+
rspec-core (~> 3.13.0)
|
67
|
+
rspec-expectations (~> 3.13.0)
|
68
|
+
rspec-mocks (~> 3.13.0)
|
69
|
+
rspec-core (3.13.3)
|
70
|
+
rspec-support (~> 3.13.0)
|
71
|
+
rspec-expectations (3.13.3)
|
55
72
|
diff-lcs (>= 1.2.0, < 2.0)
|
56
|
-
rspec-support (~> 3.
|
57
|
-
rspec-mocks (3.
|
73
|
+
rspec-support (~> 3.13.0)
|
74
|
+
rspec-mocks (3.13.2)
|
58
75
|
diff-lcs (>= 1.2.0, < 2.0)
|
59
|
-
rspec-support (~> 3.
|
60
|
-
rspec-support (3.
|
61
|
-
rubocop (1.
|
76
|
+
rspec-support (~> 3.13.0)
|
77
|
+
rspec-support (3.13.2)
|
78
|
+
rubocop (1.73.0)
|
62
79
|
json (~> 2.3)
|
80
|
+
language_server-protocol (~> 3.17.0.2)
|
81
|
+
lint_roller (~> 1.1.0)
|
63
82
|
parallel (~> 1.10)
|
64
|
-
parser (>= 3.
|
83
|
+
parser (>= 3.3.0.2)
|
65
84
|
rainbow (>= 2.2.2, < 4.0)
|
66
|
-
regexp_parser (>=
|
67
|
-
|
68
|
-
rubocop-ast (>= 1.28.0, < 2.0)
|
85
|
+
regexp_parser (>= 2.9.3, < 3.0)
|
86
|
+
rubocop-ast (>= 1.38.0, < 2.0)
|
69
87
|
ruby-progressbar (~> 1.7)
|
70
|
-
unicode-display_width (>= 2.4.0, <
|
71
|
-
rubocop-ast (1.
|
72
|
-
parser (>= 3.
|
73
|
-
rubocop-minitest (0.
|
74
|
-
|
75
|
-
|
76
|
-
rubocop (>= 1.
|
77
|
-
|
78
|
-
|
79
|
-
rubocop (
|
88
|
+
unicode-display_width (>= 2.4.0, < 4.0)
|
89
|
+
rubocop-ast (1.38.1)
|
90
|
+
parser (>= 3.3.1.0)
|
91
|
+
rubocop-minitest (0.37.1)
|
92
|
+
lint_roller (~> 1.1)
|
93
|
+
rubocop (>= 1.72.1, < 2.0)
|
94
|
+
rubocop-ast (>= 1.38.0, < 2.0)
|
95
|
+
rubocop-performance (1.24.0)
|
96
|
+
lint_roller (~> 1.1)
|
97
|
+
rubocop (>= 1.72.1, < 2.0)
|
98
|
+
rubocop-ast (>= 1.38.0, < 2.0)
|
99
|
+
rubocop-rake (0.7.1)
|
100
|
+
lint_roller (~> 1.1)
|
101
|
+
rubocop (>= 1.72.1)
|
80
102
|
ruby-progressbar (1.13.0)
|
81
103
|
rubyzip (2.3.2)
|
82
|
-
|
83
|
-
|
104
|
+
solargraph (0.51.2)
|
105
|
+
backport (~> 1.2)
|
106
|
+
benchmark
|
107
|
+
bundler (~> 2.0)
|
108
|
+
diff-lcs (~> 1.4)
|
109
|
+
jaro_winkler (~> 1.6)
|
110
|
+
kramdown (~> 2.3)
|
111
|
+
kramdown-parser-gfm (~> 1.1)
|
112
|
+
logger (~> 1.6)
|
113
|
+
observer (~> 0.1)
|
114
|
+
ostruct (~> 0.6)
|
115
|
+
parser (~> 3.0)
|
116
|
+
rbs (~> 3.0)
|
117
|
+
reverse_markdown (>= 2.0, < 4)
|
118
|
+
rubocop (~> 1.38)
|
119
|
+
thor (~> 1.0)
|
120
|
+
tilt (~> 2.0)
|
121
|
+
yard (~> 0.9, >= 0.9.24)
|
122
|
+
thor (1.3.2)
|
123
|
+
tilt (2.6.0)
|
124
|
+
typhoeus (1.4.1)
|
84
125
|
ethon (>= 0.9.0)
|
85
126
|
tzinfo (2.0.6)
|
86
127
|
concurrent-ruby (~> 1.0)
|
87
|
-
unicode-display_width (
|
88
|
-
|
128
|
+
unicode-display_width (3.1.4)
|
129
|
+
unicode-emoji (~> 4.0, >= 4.0.4)
|
130
|
+
unicode-emoji (4.0.4)
|
131
|
+
yaml (0.3.0)
|
132
|
+
yard (0.9.37)
|
89
133
|
|
90
134
|
PLATFORMS
|
91
|
-
x64-
|
92
|
-
x86_64-linux
|
135
|
+
x64-mingw-ucrt
|
93
136
|
|
94
137
|
DEPENDENCIES
|
95
|
-
bundler (~> 2.
|
96
|
-
bundler-audit (~> 0.
|
138
|
+
bundler (~> 2.5)
|
139
|
+
bundler-audit (~> 0.9)
|
97
140
|
byebug (~> 11.1.3)
|
98
141
|
emasser!
|
99
|
-
rake (~> 13.
|
100
|
-
rspec (~> 3.
|
142
|
+
rake (~> 13.2.1)
|
143
|
+
rspec (~> 3.13.0)
|
101
144
|
rubocop (~> 1.7)
|
102
|
-
rubocop-minitest (~> 0.
|
103
|
-
rubocop-performance (~> 1.
|
104
|
-
rubocop-rake (~> 0.
|
105
|
-
|
145
|
+
rubocop-minitest (~> 0.35)
|
146
|
+
rubocop-performance (~> 1.21)
|
147
|
+
rubocop-rake (~> 0.6)
|
148
|
+
solargraph (~> 0.50)
|
149
|
+
yaml (~> 0.3.0)
|
106
150
|
|
107
151
|
BUNDLED WITH
|
108
|
-
2.
|
152
|
+
2.6.5
|
data/README.md
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|

|
3
3
|
  
|
4
4
|
|
5
|
-

|
6
|
-

|
5
|
+
[](https://github.com/mitre/emasser/actions/workflows/test-cli.yml)
|
6
|
+
[](https://github.com/mitre/emasser/actions/workflows/codeql-analysis.yml)
|
7
7
|
[](https://github.com/mitre/emasser/actions/workflows/gh-pages.yml)
|
8
|
-

|
8
|
+
[](https://github.com/mitre/emasser/actions/workflows/rubocop.yml)
|
9
9
|
|
10
10
|
## About
|
11
11
|
|
@@ -28,10 +28,10 @@ The `eMASSer` CLI [**Architecture**](#emasser-cli-architecture) depicts the stru
|
|
28
28
|
|
29
29
|
### Installation Dependencies
|
30
30
|
* git
|
31
|
-
* Ruby version
|
31
|
+
* Ruby version 3.22 or greater
|
32
32
|
|
33
33
|
### Runtime Major Dependencies
|
34
|
-
* Ruby version
|
34
|
+
* Ruby version 3.22 or greater
|
35
35
|
* `rubyzip (latest version)`
|
36
36
|
* `emass_client (latest version)`
|
37
37
|
* On Windows the `cURL` binary is required (libcurl.dll). To install cURL:
|
@@ -157,12 +157,12 @@ Because interactions with the API are handled by a dependency, the bulk of `eMAS
|
|
157
157
|
The `eMASSer` CLI makes use of the `emass_client` ruby gem to communicate with an `eMASS` instance via the `eMASS API` as depicted in the diagram below:
|
158
158
|
|
159
159
|
<div align="center">
|
160
|
-
<img src="images/emasser_architecture.
|
160
|
+
<img src="images/emasser_architecture.png" alt="emasser CLI Architecture" title="emasser CLI Architecture">
|
161
161
|
</div>
|
162
162
|
|
163
163
|
### NOTICE
|
164
164
|
|
165
|
-
©
|
165
|
+
© 2025 The MITRE Corporation.
|
166
166
|
|
167
167
|
Approved for Public Release; Distribution Unlimited. Case Number 18-3678.
|
168
168
|
|