class HubLink::Slicer

Attributes

columns[R]
record[R]

Public Class Methods

new(record, columns: []) click to toggle source
# File lib/hub_link/slicer.rb, line 5
def initialize(record, columns: [])
  @record = record
  @columns = columns
end

Public Instance Methods

to_h() click to toggle source
# File lib/hub_link/slicer.rb, line 10
def to_h
  normalized_attributes.with_indifferent_access
end

Private Instance Methods

normalized_attributes() click to toggle source
# File lib/hub_link/slicer.rb, line 18
def normalized_attributes
  raw_attributes.transform_keys { |key| key.to_s.chomp("?").to_sym }
end
raw_attributes() click to toggle source
# File lib/hub_link/slicer.rb, line 22
def raw_attributes
  columns.inject({}) do |result, column|
    result.merge(column => record.public_send(column))
  end
end