class Pakyow::Reflection::Exposure
@api private
Attributes
binding[R]
children[R]
dataset[R]
node[R]
parent[R]
scope[R]
Public Class Methods
new(scope:, node:, binding:, dataset: nil, parent: nil)
click to toggle source
# File lib/pakyow/reflection/endpoint.rb, line 9 def initialize(scope:, node:, binding:, dataset: nil, parent: nil) @scope = scope @node = node @binding = binding @dataset = parse_dataset(dataset) if dataset @parent = parent @children = [] if parent parent.children << self end end
Public Instance Methods
cleanup()
click to toggle source
# File lib/pakyow/reflection/endpoint.rb, line 22 def cleanup @node = nil end
Private Instance Methods
parse_dataset(dataset)
click to toggle source
# File lib/pakyow/reflection/endpoint.rb, line 28 def parse_dataset(dataset) options = {} dataset.to_s.split(";").each do |dataset_part| key, value = dataset_part.split(":", 2).map(&:to_s).map(&:strip) value = if value.include?(",") || value.include?("(") value.split(",").map { |value_part| parse_value_part(value_part) } else parse_value_part(value) end options[key.to_sym] = value end options end
parse_value_part(value_part)
click to toggle source
# File lib/pakyow/reflection/endpoint.rb, line 48 def parse_value_part(value_part) value_part = value_part.strip if value_part.include?("(") value_part.split("(").map { |sub_value_part| sub_value_part.strip.gsub(")", "") } else value_part end end