diff --git a/lib/bolognese/cli.rb b/lib/bolognese/cli.rb index 1f0eeed8..8f2a899b 100644 --- a/lib/bolognese/cli.rb +++ b/lib/bolognese/cli.rb @@ -35,7 +35,8 @@ def convert(input) from: options[:from], regenerate: options[:regenerate], style: options[:style], - locale: options[:locale]) + locale: options[:locale], + show_errors: options[:show_errors]) to = options[:to] || "schema_org" if options[:show_errors] && !metadata.valid? diff --git a/lib/bolognese/metadata.rb b/lib/bolognese/metadata.rb index 390d83d0..1ebc3d6f 100644 --- a/lib/bolognese/metadata.rb +++ b/lib/bolognese/metadata.rb @@ -6,7 +6,7 @@ module Bolognese class Metadata include Bolognese::MetadataUtils - attr_accessor :string, :from, :sandbox, :meta, :regenerate, :issue + attr_accessor :string, :from, :sandbox, :meta, :regenerate, :issue, :show_errors attr_reader :doc, :page_start, :page_end attr_writer :id, :provider_id, :client_id, :doi, :identifiers, :creators, :contributors, :titles, :publisher, :rights_list, :dates, :publication_year, :volume, :url, :version_info, diff --git a/lib/bolognese/writers/codemeta_writer.rb b/lib/bolognese/writers/codemeta_writer.rb index a0849782..6ff9d35d 100644 --- a/lib/bolognese/writers/codemeta_writer.rb +++ b/lib/bolognese/writers/codemeta_writer.rb @@ -4,7 +4,7 @@ module Bolognese module Writers module CodemetaWriter def codemeta - return nil unless valid? + return nil unless valid? || show_errors hsh = { "@context" => id.present? ? "https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld" : nil, diff --git a/spec/readers/datacite_json_reader_spec.rb b/spec/readers/datacite_json_reader_spec.rb index f1e93395..4d3bef93 100644 --- a/spec/readers/datacite_json_reader_spec.rb +++ b/spec/readers/datacite_json_reader_spec.rb @@ -44,7 +44,7 @@ it "SoftwareSourceCode missing_comma" do input = fixture_path + "datacite_software_missing_comma.json" - subject = Bolognese::Metadata.new(input: input, from: "datacite_json") + subject = Bolognese::Metadata.new(input: input, from: "datacite_json", show_errors: true) expect(subject.valid?).to be false expect(subject.errors).to eq(["expected comma, not a string at line 4, column 11 [parse.c:381]"]) expect(subject.codemeta).to be_nil @@ -52,7 +52,7 @@ it "SoftwareSourceCode overlapping_keys" do input = fixture_path + "datacite_software_overlapping_keys.json" - subject = Bolognese::Metadata.new(input: input, from: "datacite_json") + subject = Bolognese::Metadata.new(input: input, from: "datacite_json", show_errors: true) expect(subject.valid?).to be false expect(subject.errors).to eq(["The same key is defined more than once: id"]) expect(subject.codemeta).to be_nil