class RoadForest::TypeHandlers::RDFaWriter::RenderEnvironment
Attributes
Public Class Methods
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 8 def initialize(engine) @_engine = engine end
Public Instance Methods
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 12 def _base_env_ self end
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 16 def add_debug(msg = nil, &block) @_engine.add_debug(msg, &block) end
Haml rendering helper. Escape entities to avoid whitespace issues.
# In addtion to “&<>, encode n and r to ensure that whitespace is properly preserved
@param [String] str @return [String]
Entity-encoded string
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 146 def escape_entities(str) CGI.escapeHTML(str).gsub(/[\n\r]/) {|c| '&#x' + c.unpack('h').first + ';'} end
Haml rendering helper. Data to be added to a @content value
@param [RDF::Literal] literal @return [String, nil] @raise [RDF::WriterError]
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 89 def get_content(literal) raise RDF::WriterError, "Getting content for #{literal.inspect}, which must be a literal" unless literal.is_a?(RDF::Literal) case literal when RDF::Literal::Date, RDF::Literal::Time, RDF::Literal::DateTime literal.to_s end end
rendering helper. Return appropriate, term, CURIE or URI for the given resource.
@param [RDF::Value] resource @return [String] value to use to identify URI @raise [RDF::WriterError]
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 134 def get_curie(resource) _engine.get_curie(resource) end
Haml rendering helper. Return CURIE for the literal datatype, if the literal is a typed literal.
@param [RDF::Resource] literal @return [String, nil] @raise [RDF::WriterError]
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 69 def get_dt_curie(literal) raise RDF::WriterError, "Getting datatype CURIE for #{literal.inspect}, which must be a literal" unless literal.is_a?(RDF::Literal) get_curie(literal.datatype) if literal.literal? && literal.datatype? end
Haml rendering helper. Return language for plain literal, if there is no language, or it is the same as the document, return nil
@param [RDF::Literal] literal @return [Symbol, nil] @raise [RDF::WriterError]
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 79 def get_lang(literal) raise RDF::WriterError, "Getting datatype CURIE for #{literal.inspect}, which must be a literal" unless literal.is_a?(RDF::Literal) literal.language if literal.literal? && literal.language && literal.language.to_s != _engine.lang.to_s end
Haml rendering helper. Return an appropriate label for a resource.
@param [RDF::Resource] resource @return [String] @raise [RDF::WriterError]
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 123 def get_predicate_name(resource) raise RDF::WriterError, "Getting predicate name for #{resource.inspect}, which must be a resource" unless resource.is_a?(RDF::Resource) get_curie(resource) end
Haml rendering helper. Display value for object, may be non-canonical if get_content
returns a non-nil value
@param [RDF::Literal] literal @return [String] @raise [RDF::WriterError]
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 102 def get_value(literal) raise RDF::WriterError, "Getting value for #{literal.inspect}, which must be a literal" unless literal.is_a?(RDF::Literal) case literal when RDF::Literal::Date literal.object.strftime("%A, %d %B %Y") when RDF::Literal::Time literal.object.strftime("%H:%M:%S %Z").sub(/\+00:00/, "UTC") when RDF::Literal::DateTime literal.object.strftime("%H:%M:%S %Z on %A, %d %B %Y").sub(/\+00:00/, "UTC") else literal.to_s end rescue literal.to_s # When all else fails ... end
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 20 def inspect "<#{self.class.name}:#{"%x" % self.object_id} #{instance_variables.map do |name| next if name == :@_engine "#{name}=#{instance_variable_get(name).inspect}" end.compact.join(" ")}>" end
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 31 def is_subject? false end
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 27 def like_a?(klass) is_a?(klass) end
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 55 def list_property_envs(predicate, lists) _engine.list_property_envs(predicate, lists) end
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 35 def literal? false end
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 59 def object_env(predicate, term) _engine.object_env(predicate, term) end
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 39 def render_checked false end
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 51 def simple_property_env(predicate, nonlists) _engine.simple_property_env(predicate, nonlists) end
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 47 def subject_env(term) _engine.subject_env(term) end
# File lib/roadforest/type-handlers/rdfa-writer/render-environment.rb, line 43 def yielded(item) _engine.render(item) end