class Ubiquity::Envoi::API::Utilities
Public Class Methods
content_fieldset_to_metadata_map(content_fieldset_details, options = { })
click to toggle source
# File lib/ubiquity/envoi/api/utilities.rb, line 124 def self.content_fieldset_to_metadata_map(content_fieldset_details, options = { }) fieldset_form = content_fieldset_details['form'] || [ ] metadata_map = { } key_field_by = options[:key_field_by] || 'label' fieldset_group = { } fieldset_form.each do |fsf| fieldset_group_id = fsf['id'] fieldset_group_name = fsf['name'] fieldset_group[fieldset_group_id] = fsf field_group_fields = fsf['fields'] field_group_fields.each do |field| field_label = field['label'] field_name = field['name'] field_required = field['required'] field_details = field['field'] field_type = field_details['type'] md_map_field_key = field[key_field_by] metadata_map[md_map_field_key] = { :field_name => field_name, :group_name => fieldset_group_name, :field_type => field_type, :field_required => field_required, :field_label => field_label } end end return metadata_map end
Public Instance Methods
content_details_metadata_simplify(content_details, options = { })
click to toggle source
# File lib/ubiquity/envoi/api/utilities.rb, line 8 def content_details_metadata_simplify(content_details, options = { }) metadata = { } groups = content_details['groups'] || [ ] groups.each do |group| group_label = group['label'] group_metadata = { } values = group['values'] values.each do |value| value_label = value['label'] value_value = value['value'] # display_value = value['display_value'] # # value_field = value['field'] # value_field_id = value_field['id'] # value_field_uri = value_field['uri'] md_key = value_label md_value = value_value group_metadata[md_key] = md_value end metadata[group_label] = group_metadata end metadata end
content_field_group_by(metadata_field_group, options = { })
click to toggle source
# File lib/ubiquity/envoi/api/utilities.rb, line 55 def content_field_group_by(metadata_field_group, options = { }) if metadata_field_group.is_a?(Array) return metadata_field_group.map { |mfg| content_field_group_by(mfg, options) } end md_field_type = options[:metadata_field_type] || 'label' # label, id | field_uri md_out = { } metadata_fieldgroup_values = metadata_field_group['values'] || [ ] metadata_fieldgroup_values.each do |md_field| # md_field_id = md_field['id'] # md_field_label = md_field['label'] md_field_value = md_field['value'] md_field_def = md_field['field'] # md_field_def_type = md_field_def['type'] md_field_key = case md_field_type when 'id', 'label' md_field[md_field_type] when 'field_uri' md_field_def['uri'] end # puts %("#{md_field_id}" => "#{md_field_value}",) # md_map[md_field_id] = { md_field_label => { :field_id => md_field_id, :group_id => metadata_fieldgroup_id, :field_type => md_field_def_type } } md_out[md_field_key] = md_field_value end md_out end
content_fieldset_get_by_name(args = { }, options = { })
click to toggle source
# File lib/ubiquity/envoi/api/utilities.rb, line 37 def content_fieldset_get_by_name(args = { }, options = { }) _name = args[:name] _response = content_fieldsets _results = _response['results'] _results.find { |fs| fs['name'] == _name } end
content_type_by_name(args = { }, options = { })
click to toggle source
# File lib/ubiquity/envoi/api/utilities.rb, line 44 def content_type_by_name(args = { }, options = { }) # return args.map { |a| content_type_by_name(a, options) } if args.is_a?(Array) # _args = Requests::BaseRequest.process_parameters([ { :name => :name } ], args) _args ||= args _name = _args[:name] _response = content_types_get _results = _response['results'] _results.find { |ct| ct['name'] == _name } end
metadata_by(args = { }, options = { })
click to toggle source
# File lib/ubiquity/envoi/api/utilities.rb, line 87 def metadata_by(args = { }, options = { }) entity = args[:entity] || args[:asset] || args[:project] metadata_fieldset = args[:metadata] || entity['metadata'] || { } md_field_type = args[:metadata_field_type] || 'label' # label, id | field_uri md_out = { } # metadata_fieldset_id = metadata_fieldset['fieldset_id'] metadata_fieldset_values = metadata_fieldset['values'] || { } # metadata_fieldgroup = metadata_fieldset_values || { } # metadata_fieldgroup_id = metadata_fieldgroup['fieldgroup_id'] metadata_fieldgroup_values = metadata_fieldset_values['values'] || [ ] metadata_fieldgroup_values.each do |md_field| # md_field_id = md_field['id'] # md_field_label = md_field['label'] md_field_value = md_field['value'] md_field_def = md_field['field'] # md_field_def_type = md_field_def['type'] md_field_key = case md_field_type when 'id', 'label' md_field[md_field_type] when 'field_uri' md_field_def['uri'] end # puts %("#{md_field_id}" => "#{md_field_value}",) # md_map[md_field_id] = { md_field_label => { :field_id => md_field_id, :group_id => metadata_fieldgroup_id, :field_type => md_field_def_type } } md_out[md_field_key] = md_field_value end md_out end