class ActionChannels::ChannelRepository
Attributes
channels[R]
Public Class Methods
new(channels = [])
click to toggle source
# File lib/action_channels/channel_repository.rb, line 3 def initialize(channels = []) @channels = Set.new channels end
Public Instance Methods
add(channel)
click to toggle source
# File lib/action_channels/channel_repository.rb, line 19 def add(channel) channels.add channel end
all()
click to toggle source
# File lib/action_channels/channel_repository.rb, line 7 def all channels.to_a end
delete(channel)
click to toggle source
# File lib/action_channels/channel_repository.rb, line 23 def delete(channel) channels.delete channel end
find_by_name(channel_name)
click to toggle source
# File lib/action_channels/channel_repository.rb, line 11 def find_by_name(channel_name) channels.find { |channel| channel.name.eql? channel_name } end
find_by_name_or_create(channel_name)
click to toggle source
# File lib/action_channels/channel_repository.rb, line 15 def find_by_name_or_create(channel_name) find_by_name(channel_name) || create(channel_name) end
Private Instance Methods
create(channel_name)
click to toggle source
# File lib/action_channels/channel_repository.rb, line 31 def create(channel_name) channel = Channels::NewsChannel.new name: channel_name channels << channel channel end