lib/foederati/provider.rb in foederati-0.1.0 vs lib/foederati/provider.rb in foederati-0.2.0

- old
+ new

@@ -9,23 +9,30 @@ autoload :Request, 'foederati/provider/request' autoload :Response, 'foederati/provider/response' # TODO validate the type of values added to these Urls = Struct.new(:api, :site) + DefaultParams = Struct.new(:query) Results = Struct.new(:items, :total) Fields = Struct.new(:title, :thumbnail, :url) - attr_reader :id, :urls, :results, :fields + attr_reader :id, :urls, :default_params, :results, :fields + attr_writer :name def initialize(id, &block) @id = id @urls = Urls.new + @default_params = DefaultParams.new @results = Results.new @fields = Fields.new instance_eval(&block) if block_given? self + end + + def name + @name || id.to_s.titleize end # TODO sanity check things like presence of API URL def search(**params) request.execute(params).normalise