Class: Bulkrax::CsvTemplate::SchemaAnalyzer
- Inherits:
-
Object
- Object
- Bulkrax::CsvTemplate::SchemaAnalyzer
- Defined in:
- app/services/bulkrax/csv_template/schema_analyzer.rb
Overview
Analyzes model schemas for required and controlled vocabulary fields
Instance Method Summary collapse
- #controlled_vocab_terms ⇒ Object
-
#initialize(klass:, admin_set_id: nil) ⇒ SchemaAnalyzer
constructor
A new instance of SchemaAnalyzer.
- #required_terms ⇒ Object
Constructor Details
#initialize(klass:, admin_set_id: nil) ⇒ SchemaAnalyzer
Returns a new instance of SchemaAnalyzer.
7 8 9 10 11 |
# File 'app/services/bulkrax/csv_template/schema_analyzer.rb', line 7 def initialize(klass:, admin_set_id: nil) @klass = klass @admin_set_id = admin_set_id @schema = load_schema end |
Instance Method Details
#controlled_vocab_terms ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'app/services/bulkrax/csv_template/schema_analyzer.rb', line 25 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
13 14 15 16 17 18 19 20 21 22 23 |
# File 'app/services/bulkrax/csv_template/schema_analyzer.rb', line 13 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 |