Class: Krikri::MappingDSL::RdfSubjects::SubjectDeclaration
- Inherits:
-
PropertyDeclaration
- Object
- PropertyDeclaration
- Krikri::MappingDSL::RdfSubjects::SubjectDeclaration
- Defined in:
- lib/krikri/mapping_dsl/rdf_subjects.rb
Instance Attribute Summary
Attributes inherited from PropertyDeclaration
Instance Method Summary collapse
Methods inherited from PropertyDeclaration
Constructor Details
This class inherits a constructor from Krikri::MappingDSL::PropertyDeclaration
Instance Method Details
#to_proc ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/krikri/mapping_dsl/rdf_subjects.rb', line 11 def to_proc block = @block if @block value = @value lambda do |target, record| value = value.call(record) if value.respond_to? :call return target.rdf_subject if Array(value).empty? raise "Error mapping #{record}, #{target}\t" \ "URI must be set to a single value; got #{value}" if Array(value).count != 1 value = value.first if value.is_a? Enumerable return target.send(setter, value) unless block target.send(setter, instance_exec(value, &block)) end end |