Parent

Class/Module Index [+]

Quicksearch

Hash

Public Instance Methods

except(*keys) click to toggle source

Return a hash that includes everything but the given keys.

@param keys [Array, Set] @return [Hash]

# File lib/twitter/core_ext/hash.rb, line 7
def except(*keys)
  self.dup.except!(*keys)
end
except!(*keys) click to toggle source

Replaces the hash without the given keys.

@param keys [Array, Set] @return [Hash]

# File lib/twitter/core_ext/hash.rb, line 15
def except!(*keys)
  keys.each{|key| delete(key)}
  self
end
merge_list!(list) click to toggle source

Take a list and merge it into the hash with the correct key

@param list [Integer, String, Twitter::List] A Twitter list ID, slug, or object. @return [Hash]

# File lib/twitter/core_ext/hash.rb, line 24
def merge_list!(list)
  case list
  when Integer
    self[:list_id] = list
  when String
    self[:slug] = list
  when Twitter::List
    self[:list_id] = list.id
    self.merge_owner!(list.user)
  end
  self
end
merge_owner!(user) click to toggle source

Take an owner and merge it into the hash with the correct key

@param user[Integer, String, Twitter::User] A Twitter user ID, screen_name, or object. @return [Hash]

# File lib/twitter/core_ext/hash.rb, line 41
def merge_owner!(user)
  self.merge_user!(user, "owner")
  self[:owner_id] = self.delete(:owner_user_id) unless self[:owner_user_id].nil?
  self
end
merge_user(user, prefix=nil, suffix=nil) click to toggle source

Take a user and merge it into the hash with the correct key

@param user[Integer, String, Twitter::User] A Twitter user ID, screen_name, or object. @return [Hash]

# File lib/twitter/core_ext/hash.rb, line 51
def merge_user(user, prefix=nil, suffix=nil)
  self.dup.merge_user!(user, prefix, suffix)
end
merge_user!(user, prefix=nil, suffix=nil) click to toggle source

Take a user and merge it into the hash with the correct key

@param user[Integer, String, Twitter::User] A Twitter user ID, screen_name, or object. @return [Hash]

# File lib/twitter/core_ext/hash.rb, line 59
def merge_user!(user, prefix=nil, suffix=nil)
  case user
  when Integer
    self[[prefix, "user_id", suffix].compact.join("_").to_sym] = user
  when String
    self[[prefix, "screen_name", suffix].compact.join("_").to_sym] = user
  when Twitter::User
    self[[prefix, "user_id", suffix].compact.join("_").to_sym] = user.id
  end
  self
end
merge_users(*users) click to toggle source

Take a multiple users and merge them into the hash with the correct keys

@param users [Array<Integer, String, Twitter::User>, Set<Integer, String, Twitter::User>] An array of Twitter user IDs, screen_names, or objects. @return [Hash]

# File lib/twitter/core_ext/hash.rb, line 75
def merge_users(*users)
  self.dup.merge_users!(*users)
end
merge_users!(*users) click to toggle source

Take a multiple users and merge them into the hash with the correct keys

@param users [Array<Integer, String, Twitter::User>, Set<Integer, String, Twitter::User>] An array of Twitter user IDs, screen_names, or objects. @return [Hash]

# File lib/twitter/core_ext/hash.rb, line 83
def merge_users!(*users)
  user_ids, screen_names = [], []
  users.flatten.each do |user|
    case user
    when Integer
      user_ids << user
    when String
      screen_names << user
    when Twitter::User
      user_ids << user.id
    end
  end
  self[:user_id] = user_ids.join(',') unless user_ids.empty?
  self[:screen_name] = screen_names.join(',') unless screen_names.empty?
  self
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.