class StatusPageRuby::Repositories::Status
Attributes
storage[R]
Public Class Methods
new(storage)
click to toggle source
# File lib/status_page_ruby/repositories/status.rb, line 6 def initialize(storage) @storage = storage end
Public Instance Methods
all()
click to toggle source
# File lib/status_page_ruby/repositories/status.rb, line 21 def all storage .read .map { |attrs| StatusPageRuby::Status.new(*attrs) } end
create(status)
click to toggle source
# File lib/status_page_ruby/repositories/status.rb, line 27 def create(status) return if exist?(status) storage.write(status.record) end
create_batch(statuses)
click to toggle source
# File lib/status_page_ruby/repositories/status.rb, line 33 def create_batch(statuses) return if statuses.empty? storage.merge(statuses.map(&:record)) end
exist?(status)
click to toggle source
# File lib/status_page_ruby/repositories/status.rb, line 10 def exist?(status) storage.include?(status.record) end
where(service:)
click to toggle source
# File lib/status_page_ruby/repositories/status.rb, line 14 def where(service:) storage .read .select { |record| record.first == service } .map { |attrs| StatusPageRuby::Status.new(*attrs) } end