Class: RoadForest::TypeHandlers::RDFaWriter::EnvironmentDecorator

Inherits:
Object
  • Object
show all
Extended by:
Utility::ClassRegistry::Registrar
Defined in:
lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb

Direct Known Subclasses

AffordanceDecorator

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Utility::ClassRegistry::Registrar

all_names, extended, get, map_classes, register, registry

Constructor Details

#initialize(env) ⇒ EnvironmentDecorator

Returns a new instance of EnvironmentDecorator.



133
134
135
136
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 133

def initialize(env)
  @_decorated_ = env
  setup
end

Instance Attribute Details

#_decorated_Object (readonly)

Returns the value of attribute decorated.



145
146
147
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 145

def _decorated_
  @_decorated_
end

Class Method Details

.can_decorate?(env) ⇒ Boolean

Returns:

  • (Boolean)


119
120
121
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 119

def can_decorate?(env)
  return (env._base_env_.class <= @decorated_class)
end

.decorates(klass) ⇒ Object



107
108
109
110
111
112
113
114
115
116
117
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 107

def decorates(klass)
  register(self.name)
  @decorated_class = klass
  methods = klass.instance_methods
  methods -= self.instance_methods
  methods.each do |method|
    define_method(method) do |*args, &block|
      @_decorated_.__send__(method, *args, &block)
    end
  end
end

.perhaps_decorate(env) ⇒ Object



123
124
125
126
127
128
129
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 123

def perhaps_decorate(env)
  if can_decorate?(env)
    self.new(env)
  else
    env
  end
end

.registry_purposeObject



103
104
105
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 103

def registry_purpose
  "render environment decoration"
end

Instance Method Details

#like_a?(klass) ⇒ Boolean

Returns:

  • (Boolean)


141
142
143
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 141

def like_a?(klass)
  is_a?(klass) || _decorated_.like_a?(klass)
end

#setupObject



138
139
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 138

def setup
end