Class: HammerCLI::Options::Normalizers::JSONInput
- Inherits:
-
File
- Object
- AbstractNormalizer
- File
- HammerCLI::Options::Normalizers::JSONInput
- Defined in:
- lib/hammer_cli/options/normalizers.rb
Instance Method Summary collapse
Methods inherited from File
Methods inherited from AbstractNormalizer
Instance Method Details
#format(val) ⇒ Object
157 158 159 160 161 162 163 164 165 166 167 168 |
# File 'lib/hammer_cli/options/normalizers.rb', line 157 def format(val) # The JSON input can be either the path to a file whose contents are # JSON or a JSON string. For example: # /my/path/to/file.json # or # '{ "units":[ { "name":"zip", "version":"9.0", "inclusion":"false" } ] }') json_string = ::File.exist?(::File.(val)) ? super(val) : val ::JSON.parse(json_string) rescue ::JSON::ParserError => e raise ArgumentError, _("Unable to parse JSON input.") end |