Class: RoadForest::TypeHandlers::RDFaWriter::RenderEnvironment
- Inherits:
-
Object
- Object
- RoadForest::TypeHandlers::RDFaWriter::RenderEnvironment
- Defined in:
- lib/roadforest/type-handlers/rdfa-writer/render-environment.rb
Direct Known Subclasses
DocumentEnvironment, ObjectEnvironment, PropertyEnvironment, RDFPostCurie, SubjectEnvironment
Instance Attribute Summary collapse
-
#_engine ⇒ Object
readonly
Returns the value of attribute _engine.
-
#heading_predicates ⇒ Object
Returns the value of attribute heading_predicates.
-
#lang ⇒ Object
Returns the value of attribute lang.
-
#parent ⇒ Object
Returns the value of attribute parent.
Instance Method Summary collapse
- #_base_env_ ⇒ Object
- #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
- #like_a?(klass) ⇒ Boolean
- #list_property_envs(predicate, lists) ⇒ Object
- #literal? ⇒ Boolean
- #object_env(predicate, term) ⇒ Object
- #render_checked ⇒ Object
- #simple_property_env(predicate, nonlists) ⇒ Object
- #subject_env(term) ⇒ Object
- #yielded(item) ⇒ Object
Constructor Details
#initialize(engine) ⇒ RenderEnvironment
Returns a new instance of RenderEnvironment.
8 9 10 |
# File 'lib/roadforest/type-handlers/rdfa-writer/render-environment.rb', line 8 def initialize(engine) @_engine = engine end |
Instance Attribute Details
#_engine ⇒ Object (readonly)
Returns the value of attribute _engine.
6 7 8 |
# File 'lib/roadforest/type-handlers/rdfa-writer/render-environment.rb', line 6 def _engine @_engine end |
#heading_predicates ⇒ Object
Returns the value of attribute heading_predicates.
5 6 7 |
# File 'lib/roadforest/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/type-handlers/rdfa-writer/render-environment.rb', line 5 def lang @lang end |
#parent ⇒ Object
Returns the value of attribute parent.
5 6 7 |
# File 'lib/roadforest/type-handlers/rdfa-writer/render-environment.rb', line 5 def parent @parent end |
Instance Method Details
#_base_env_ ⇒ Object
12 13 14 |
# File 'lib/roadforest/type-handlers/rdfa-writer/render-environment.rb', line 12 def _base_env_ self end |
#add_debug(msg = nil, &block) ⇒ Object
16 17 18 |
# File 'lib/roadforest/type-handlers/rdfa-writer/render-environment.rb', line 16 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
146 147 148 |
# 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 |
#get_content(literal) ⇒ String?
Haml rendering helper. Data to be added to a @content value
89 90 91 92 93 94 95 |
# 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 |
#get_curie(resource) ⇒ String
rendering helper. Return appropriate, term, CURIE or URI for the given resource.
134 135 136 |
# File 'lib/roadforest/type-handlers/rdfa-writer/render-environment.rb', line 134 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.
69 70 71 72 |
# 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 |
#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
79 80 81 82 |
# 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 |
#get_predicate_name(resource) ⇒ String
Haml rendering helper. Return an appropriate label for a resource.
123 124 125 126 |
# 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 |
#get_value(literal) ⇒ String
Haml rendering helper. Display value for object, may be non-canonical if get_content returns a non-nil value
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
# 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 |
#inspect ⇒ Object
20 21 22 23 24 25 |
# 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 |
#is_subject? ⇒ Boolean
31 32 33 |
# File 'lib/roadforest/type-handlers/rdfa-writer/render-environment.rb', line 31 def is_subject? false end |
#like_a?(klass) ⇒ Boolean
27 28 29 |
# File 'lib/roadforest/type-handlers/rdfa-writer/render-environment.rb', line 27 def like_a?(klass) is_a?(klass) end |
#list_property_envs(predicate, lists) ⇒ Object
55 56 57 |
# 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 |
#literal? ⇒ Boolean
35 36 37 |
# File 'lib/roadforest/type-handlers/rdfa-writer/render-environment.rb', line 35 def literal? false end |
#object_env(predicate, term) ⇒ Object
59 60 61 |
# File 'lib/roadforest/type-handlers/rdfa-writer/render-environment.rb', line 59 def object_env(predicate, term) _engine.object_env(predicate, term) end |
#render_checked ⇒ Object
39 40 41 |
# File 'lib/roadforest/type-handlers/rdfa-writer/render-environment.rb', line 39 def render_checked false end |
#simple_property_env(predicate, nonlists) ⇒ Object
51 52 53 |
# 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 |
#subject_env(term) ⇒ Object
47 48 49 |
# File 'lib/roadforest/type-handlers/rdfa-writer/render-environment.rb', line 47 def subject_env(term) _engine.subject_env(term) end |
#yielded(item) ⇒ Object
43 44 45 |
# File 'lib/roadforest/type-handlers/rdfa-writer/render-environment.rb', line 43 def yielded(item) _engine.render(item) end |