class Determinator::Retrieve::File

A class which loads features from files within the initialized folder

Public Class Methods

new(root:, serializer: Determinator::Serializers::JSON ) click to toggle source

@param :root [String,Pathname] The path to be used as the root to look in @param :serializer [#load] A serializer which will take the string of the read file and return a Feature object.

# File lib/determinator/retrieve/file.rb, line 9
def initialize(root:, serializer: Determinator::Serializers::JSON )
  @root = Pathname.new(root)
  @serializer = serializer
end

Public Instance Methods

retrieve(feature_id) click to toggle source
# File lib/determinator/retrieve/file.rb, line 14
def retrieve(feature_id)
  feature = @root.join(feature_id.to_s)
  return MissingResponse.new unless feature.exist?
  @serializer.load(feature.read)
rescue => e
  Determinator.notice_error(e)
  ErrorResponse.new
end