Class: RedSnow::Sourcemap::Resource

Inherits:
NamedNode show all
Defined in:
lib/redsnow/sourcemap.rb

Overview

Resource source map node

Instance Attribute Summary collapse

Attributes inherited from NamedNode

#description, #name

Instance Method Summary collapse

Constructor Details

#initialize(sc_sm_resource_handle) ⇒ Resource

Returns a new instance of Resource.

Parameters:

  • sc_sm_resource_handle (FFI::Pointer)


261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
# File 'lib/redsnow/sourcemap.rb', line 261

def initialize(sc_sm_resource_handle)
  @name = SourceMap.new(RedSnow::Binding.sc_sm_resource_name(sc_sm_resource_handle))
  @description = SourceMap.new(RedSnow::Binding.sc_sm_resource_description(sc_sm_resource_handle))
  @uri_template = SourceMap.new(RedSnow::Binding.sc_sm_resource_uritemplate(sc_sm_resource_handle))

  sc_sm_payload_handle_resource = RedSnow::Binding.sc_sm_payload_handle_resource(sc_sm_resource_handle)
  @model = Payload.new(sc_sm_payload_handle_resource)

  @actions = []
  sc_sm_action_collection_handle = RedSnow::Binding.sc_sm_action_collection_handle(sc_sm_resource_handle)
  sc_sm_action_collection_size = RedSnow::Binding.sc_sm_action_collection_size(sc_sm_action_collection_handle)

  @parameters = Parameters.new(RedSnow::Binding.sc_sm_parameter_collection_handle_resource(sc_sm_resource_handle))

  return if sc_sm_action_collection_size == 0

  action_size = sc_sm_action_collection_size - 1

  (0..action_size).each do |index|
    sc_sm_action_handle = RedSnow::Binding.sc_sm_action_handle(sc_sm_action_collection_handle, index)
    @actions << Action.new(sc_sm_action_handle)
  end
end

Instance Attribute Details

#actionsArray<Action>

array of resource actions or nil

Returns:

  • (Array<Action>)

    the current value of actions



254
255
256
# File 'lib/redsnow/sourcemap.rb', line 254

def actions
  @actions
end

#modelPayload

model payload for the resource or nil

Returns:

  • (Payload)

    the current value of model



254
255
256
# File 'lib/redsnow/sourcemap.rb', line 254

def model
  @model
end

#parametersParameters

action-specific URI parameters or nil

Returns:

  • (Parameters)

    the current value of parameters



254
255
256
# File 'lib/redsnow/sourcemap.rb', line 254

def parameters
  @parameters
end

#uri_templateSourcemap

RFC 6570 URI template

Returns:

  • (Sourcemap)

    the current value of uri_template



254
255
256
# File 'lib/redsnow/sourcemap.rb', line 254

def uri_template
  @uri_template
end