Class: RoadForest::TypeHandlers::RDFaWriter::SubjectAffordanceDecorator

Inherits:
AffordanceDecorator show all
Defined in:
lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb

Constant Summary

Constants included from AffordanceClient

AffordanceClient::Af

Instance Attribute Summary

Attributes inherited from EnvironmentDecorator

#_decorated_

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from AffordanceDecorator

#affordance?, #graph, #rdfpost_curie, #template_kinds

Methods included from AffordanceClient

#affordance_node?, #affordance_present, #affordance_type_in_graph?, #affordances_in_graph?, #all_affordances, #has_affordance, #parameterized_navigation_affordance_in_graph?, #payload_has_param, #query_matches

Methods inherited from EnvironmentDecorator

decorates, #initialize, #like_a?, perhaps_decorate, registry_purpose, #setup

Methods included from Utility::ClassRegistry::Registrar

#all_names, extended, #get, #map_classes, #register, #registry

Constructor Details

This class inherits a constructor from RoadForest::TypeHandlers::RDFaWriter::EnvironmentDecorator

Class Method Details

.can_decorate?(env) ⇒ Boolean

Returns:

  • (Boolean)


234
235
236
237
238
239
240
241
242
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 234

def self.can_decorate?(env)
  return false unless env._base_env_.class <= SubjectEnvironment
  return false unless env.parent.like_a? AffordanceDecorator

  return (
    [:Update, :Remove, :Create].find do |type|
    affordance_type_in_graph?(env.subject, type, env._engine.graph)
    end || parameterized_navigation_affordance_in_graph?(env.subject, env._engine.graph))
end

Instance Method Details

#attrsObject



265
266
267
268
269
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 265

def attrs
  _decorated_.attrs.merge(
    :method => "POST", :action => subject / "put"
  )
end

#predicate_nodesObject



244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 244

def predicate_nodes
  @predicate_nodes ||=
    begin
      [].tap do |nodes|
        each_predicate do |pred|
          pred.each_object do |object|
            subj = _engine.subject_env(object)
            next if subj.nil?
            subj.rel = get_curie(pred.predicate)
            nodes << subj
          end
        end
      end
    end
  @predicate_nodes.enum_for(:each)
end

#prefixesObject



261
262
263
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 261

def prefixes
  _engine.prefixes
end