Sha256: 9243ce92819ae65777427d7b2226a9aff675f608b93e4e1b36e2648f8b4bb3fb
Contents?: true
Size: 779 Bytes
Versions: 1
Compression:
Stored size: 779 Bytes
Contents
module Hipbot module Callbacks class Base protected def with_room params yield Room.find_or_create_by(params) if valid_params?(params) end def with_user params yield User.find_or_create_by(params) if valid_params?(params) end def with_user_by_name_or_mention name_or_mention return if !valid_value?(name_or_mention) yield User.where(mention: name_or_mention).first || User.where(name: name_or_mention).first || User.create(name: name_or_mention, mention: name_or_mention) end private def valid_params? params params.any?{ |_, v| valid_value?(v) } end def valid_value? value !value.nil? && value.present? end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
hipbot-1.0.4 | lib/hipbot/callbacks/base.rb |