class Jekyll::Fridge::ContentDrop
Public Class Methods
new(client, base, query = "", data = nil)
click to toggle source
# File lib/jekyll-fridge.rb, line 126 def initialize(client, base, query = "", data = nil) @client = client @base = base @query = query @data = data end
Public Instance Methods
before_method(method)
click to toggle source
# File lib/jekyll-fridge.rb, line 133 def before_method(method) # check for single content item item = @client.get("#{@base}/#{method}?#{@query}") return Model.new(item) if item && item.kind_of?(FridgeApi::Model) # filter by content type if @base == "content" && @query.empty? types = @client.get("#{@base}?type=#{method}") return ContentDrop.new(@client, @base, "type=#{method}", types) if types end # filter by user role if @base == "users" && @query.empty? roles = @client.get("#{@base}?role=#{method}") return ContentDrop.new(@client, @base, "role=#{method}", roles) if roles end nil end
each() { |m| ... }
click to toggle source
# File lib/jekyll-fridge.rb, line 153 def each &block @data ||= @client.get("#{@base}?#{@query}") @data.each do |v| m = Model.new v if block_given? block.call m else yield m end end end