Class: ActionChannels::ChannelRepository

Inherits:
Object
  • Object
show all
Defined in:
lib/action_channels/channel_repository.rb

Instance Method Summary collapse

Constructor Details

#initialize(channels = []) ⇒ ChannelRepository

Returns a new instance of ChannelRepository.



3
4
5
# File 'lib/action_channels/channel_repository.rb', line 3

def initialize(channels = [])
  @channels = Set.new channels
end

Instance Method Details

#add(channel) ⇒ Object



19
20
21
# File 'lib/action_channels/channel_repository.rb', line 19

def add(channel)
  channels.add channel
end

#allObject



7
8
9
# File 'lib/action_channels/channel_repository.rb', line 7

def all
  channels.to_a
end

#delete(channel) ⇒ Object



23
24
25
# File 'lib/action_channels/channel_repository.rb', line 23

def delete(channel)
  channels.delete channel
end

#find_by_name(channel_name) ⇒ Object



11
12
13
# 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) ⇒ Object



15
16
17
# 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