Class: RoadForest::MediaType::RDFaWriter::RenderEnvironment
- Inherits:
-
Object
- Object
- RoadForest::MediaType::RDFaWriter::RenderEnvironment
- Defined in:
- lib/roadforest/content-handling/type-handlers/rdfa-writer/render-environment.rb
Direct Known Subclasses
DocumentEnvironment, ObjectEnvironment, PropertyEnvironment, SubjectEnvironment
Instance Attribute Summary collapse
-
#heading_predicates ⇒ Object
Returns the value of attribute heading_predicates.
-
#lang ⇒ Object
Returns the value of attribute lang.
Instance Method Summary collapse
- #add_debug(msg = nil, &block) ⇒ Object
-
#escape_entities(str) ⇒ String
Haml rendering helper.
-
#get_content(literal) ⇒ String?
Haml rendering helper.
-
#get_curie(resource) ⇒ String
rendering helper.
-
#get_dt_curie(literal) ⇒ String?
Haml rendering helper.
-
#get_lang(literal) ⇒ Symbol?
Haml rendering helper.
-
#get_predicate_name(resource) ⇒ String
Haml rendering helper.
-
#get_value(literal) ⇒ String
Haml rendering helper.
-
#initialize(engine) ⇒ RenderEnvironment
constructor
A new instance of RenderEnvironment.
- #inspect ⇒ Object
- #is_subject? ⇒ Boolean
- #literal? ⇒ Boolean
- #render_checked ⇒ Object
-
#subject(subject, &block) ⇒ String
Display a subject.
Constructor Details
#initialize(engine) ⇒ RenderEnvironment
Returns a new instance of RenderEnvironment.
7 8 9 |
# File 'lib/roadforest/content-handling/type-handlers/rdfa-writer/render-environment.rb', line 7 def initialize(engine) @_engine = engine end |
Instance Attribute Details
#heading_predicates ⇒ Object
Returns the value of attribute heading_predicates.
5 6 7 |
# File 'lib/roadforest/content-handling/type-handlers/rdfa-writer/render-environment.rb', line 5 def heading_predicates @heading_predicates end |
#lang ⇒ Object
Returns the value of attribute lang.
5 6 7 |
# File 'lib/roadforest/content-handling/type-handlers/rdfa-writer/render-environment.rb', line 5 def lang @lang end |
Instance Method Details
#add_debug(msg = nil, &block) ⇒ Object
11 12 13 |
# File 'lib/roadforest/content-handling/type-handlers/rdfa-writer/render-environment.rb', line 11 def add_debug(msg = nil, &block) @_engine.add_debug(msg, &block) end |
#escape_entities(str) ⇒ String
Haml rendering helper. Escape entities to avoid whitespace issues.
# In addtion to “&<>, encode n and r to ensure that whitespace is properly preserved
139 140 141 |
# File 'lib/roadforest/content-handling/type-handlers/rdfa-writer/render-environment.rb', line 139 def escape_entities(str) CGI.escapeHTML(str).gsub(/[\n\r]/) {|c| '&#x' + c.unpack('h').first + ';'} end |
#get_content(literal) ⇒ String?
Haml rendering helper. Data to be added to a @content value
82 83 84 85 86 87 88 |
# File 'lib/roadforest/content-handling/type-handlers/rdfa-writer/render-environment.rb', line 82 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 |
#get_curie(resource) ⇒ String
rendering helper. Return appropriate, term, CURIE or URI for the given resource.
127 128 129 |
# File 'lib/roadforest/content-handling/type-handlers/rdfa-writer/render-environment.rb', line 127 def get_curie(resource) @_engine.get_curie(resource) end |
#get_dt_curie(literal) ⇒ String?
Haml rendering helper. Return CURIE for the literal datatype, if the literal is a typed literal.
62 63 64 65 |
# File 'lib/roadforest/content-handling/type-handlers/rdfa-writer/render-environment.rb', line 62 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 |
#get_lang(literal) ⇒ Symbol?
Haml rendering helper. Return language for plain literal, if there is no language, or it is the same as the document, return nil
72 73 74 75 |
# File 'lib/roadforest/content-handling/type-handlers/rdfa-writer/render-environment.rb', line 72 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 |
#get_predicate_name(resource) ⇒ String
Haml rendering helper. Return an appropriate label for a resource.
116 117 118 119 |
# File 'lib/roadforest/content-handling/type-handlers/rdfa-writer/render-environment.rb', line 116 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 |
#get_value(literal) ⇒ String
Haml rendering helper. Display value for object, may be non-canonical if get_content returns a non-nil value
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/roadforest/content-handling/type-handlers/rdfa-writer/render-environment.rb', line 95 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 |
#inspect ⇒ Object
15 16 17 18 19 20 |
# File 'lib/roadforest/content-handling/type-handlers/rdfa-writer/render-environment.rb', line 15 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 |
#is_subject? ⇒ Boolean
44 45 46 |
# File 'lib/roadforest/content-handling/type-handlers/rdfa-writer/render-environment.rb', line 44 def is_subject? false end |
#literal? ⇒ Boolean
48 49 50 |
# File 'lib/roadforest/content-handling/type-handlers/rdfa-writer/render-environment.rb', line 48 def literal? false end |
#render_checked ⇒ Object
52 53 54 |
# File 'lib/roadforest/content-handling/type-handlers/rdfa-writer/render-environment.rb', line 52 def render_checked false end |
#subject(subject, &block) ⇒ String
Display a subject.
If the Haml template contains an entry matching the subject’s rdf:type URI, that entry will be used as the template for this subject and it’s properties.
40 41 42 |
# File 'lib/roadforest/content-handling/type-handlers/rdfa-writer/render-environment.rb', line 40 def subject(subject, &block) @_engine.render_subject(subject, &block) end |