Class: Abrupt::Transformation::Website::Input

Inherits:
Base show all
Defined in:
lib/abrupt/transformation/website/input.rb

Overview

Input service documentation see ‘wba.cs.hs-rm.de/AbRUPt/service/input/’ schema located in PROJECT_ROOT/assets/schema/v1/input.json

Constant Summary

Constants inherited from Base

Base::SCHEMA_MAPPING

Instance Attribute Summary collapse

Attributes inherited from Base

#md5, #parent_uri, #result, #uri, #values

Instance Method Summary collapse

Methods inherited from Base

#add_data_property, #add_individual, #add_object_property, #class_name, customize_to_schema, #initialize, #keyname, #resolve_parent_uri, #resolve_parent_uri_part, #resolve_uri, #resolve_uri_part, set_value

Constructor Details

This class inherits a constructor from Abrupt::Transformation::Base

Instance Attribute Details

#form_uriObject

Returns the value of attribute form_uri.



9
10
11
# File 'lib/abrupt/transformation/website/input.rb', line 9

def form_uri
  @form_uri
end

Instance Method Details

#add_data_properties(input) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/abrupt/transformation/website/input.rb', line 32

def add_data_properties(input)
  input.each do |type, value|
    next unless type && value
    v = value.is_a?(String) ? CGI.escapeHTML(value) : value
    add_data_property type, v
  end
end

#add_individualsObject



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/abrupt/transformation/website/input.rb', line 11

def add_individuals
  return @result unless @values[keyname]
  form_id = Digest::MD5.hexdigest(@values[keyname].to_s)
  @uri = ['Form', form_id]
  add_individual
  @parent_uri += @uri
  @values[keyname].each do |input_type, inputs|
    add_individuals_for_inputs(inputs, input_type)
  end
  @result
end

#add_individuals_for_inputs(inputs, input_type) ⇒ Object



23
24
25
26
27
28
29
30
# File 'lib/abrupt/transformation/website/input.rb', line 23

def add_individuals_for_inputs(inputs, input_type)
  [inputs].flatten.compact.each do |input|
    form_element_id = input[:id] || Digest::MD5.hexdigest(input.to_s)
    @uri = [input_type.to_s.camelcase, form_element_id]
    add_individual
    add_data_properties input
  end
end