lib/hub_link/slicer.rb in hub_link-0.5.0 vs lib/hub_link/slicer.rb in hub_link-0.6.0
- old
+ new
@@ -1,18 +1,28 @@
+require "active_support/core_ext/hash"
+
module HubLink
class Slicer
def initialize(record, columns: [])
@record = record
@columns = columns
end
def to_h
- columns.inject({}) do |result, column|
- result.merge(column => record.public_send(column))
- end
+ normalized_attributes
end
private
attr_reader :record, :columns
+
+ def normalized_attributes
+ raw_attributes.transform_keys { |key| key.to_s.chomp("?").to_sym }
+ end
+
+ def raw_attributes
+ columns.inject({}) do |result, column|
+ result.merge(column => record.public_send(column))
+ end
+ end
end
end