Sha256: 132d5dc42f78a2ce420b129d8ae6770d77fb4b9070ca151ada868768a27ce9bc
Contents?: true
Size: 1.74 KB
Versions: 12
Compression:
Stored size: 1.74 KB
Contents
module TheCity class WebHookList < ApiList include Enumerable # Constructor. # # @param options A hash of options for loading the list. # # Options: # :page - The page number to get. # :reader - The Reader to use to load the data. # # # Examples: # WebHookListReader.new # # UserSkillList.new({:page => 2}) # def initialize(options = {}) @options = options @options[:page] ||= 1 @options[:reader] = TheCity::WebHookListReader.new(@options) if @options[:reader].nil? @json_data = @options[:reader].load_feed @total_entries = @json_data['total_entries'] @total_pages = @json_data['total_pages'] @per_page = @json_data['per_page'] @current_page = @json_data['current_page'] end # All the web_hooks in the list. # # @return array of web_hook names. def all_web_hooks return [] if @json_data['web_hooks'].nil? @json_data['web_hooks'].collect { |web_hook| [web_hook['object'], web_hook['event']].join('::') } end alias :web_hooks :all_web_hooks # Get the specified web hook. # # @param index The index of the web hook to get. # # @return [WebHook] def [](index) WebHook.new( @json_data['web_hooks'][index] ) if @json_data['web_hooks'][index] end # This method is needed for Enumerable. # # @return [WebHook] def each &block @json_data['web_hooks'].each{ |web_hook| yield( WebHook.new(web_hook) ) } end # Alias the count method alias :size :count # Checks if the list is empty. # # @return True on empty, false otherwise. def empty? @json_data['web_hooks'].empty? end end end
Version data entries
12 entries across 12 versions & 1 rubygems