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