Class: Bulkrax::SampleCsvService::SchemaAnalyzer
- Inherits:
-
Object
- Object
- Bulkrax::SampleCsvService::SchemaAnalyzer
- Defined in:
- app/services/bulkrax/sample_csv_service/schema_analyzer.rb
Overview
Analyzes model schemas for required and controlled vocabulary fields
Instance Method Summary collapse
- #controlled_vocab_terms ⇒ Object
-
#initialize(klass) ⇒ SchemaAnalyzer
constructor
A new instance of SchemaAnalyzer.
- #required_terms ⇒ Object
Constructor Details
#initialize(klass) ⇒ SchemaAnalyzer
Returns a new instance of SchemaAnalyzer.
6 7 8 9 |
# File 'app/services/bulkrax/sample_csv_service/schema_analyzer.rb', line 6 def initialize(klass) @klass = klass @schema = load_schema end |
Instance Method Details
#controlled_vocab_terms ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'app/services/bulkrax/sample_csv_service/schema_analyzer.rb', line 23 def controlled_vocab_terms return [] unless @schema controlled_properties = extract_controlled_properties controlled_properties.empty? ? registered_controlled_vocab_fields : controlled_properties rescue StandardError [] end |
#required_terms ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 |
# File 'app/services/bulkrax/sample_csv_service/schema_analyzer.rb', line 11 def required_terms return [] if @schema.blank? @schema.select do |field| field.respond_to?(:meta) && field.["form"].is_a?(Hash) && field.["form"]["required"] == true end.map(&:name).map(&:to_s) rescue StandardError [] end |