class Moderation
Constants
- DEFAULT_LIMIT
- VERSION
Attributes
construct_with[R]
constructor[R]
limit[R]
storage[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/moderation.rb, line 9 def initialize(options = {}) @constructor = options[:constructor] @construct_with = options[:construct_with] @limit = options.fetch(:limit, DEFAULT_LIMIT) @storage = options.fetch(:storage, Storage::InMemory.new) @storage.limit = @limit end
Public Instance Methods
all(options = {})
click to toggle source
# File lib/moderation.rb, line 21 def all(options = {}) fetch_limit = options.fetch(:limit, limit) storage.all(limit: fetch_limit).map do |stored_item| if using_custom_constructor? constructor.send(construct_with, stored_item) elsif using_constructor? data = MultiJson.load(stored_item, :symbolize_keys => true) constructor.new(data) else MultiJson.load(stored_item, :symbolize_keys => true) end end end
insert(item)
click to toggle source
# File lib/moderation.rb, line 17 def insert(item) storage.insert(MultiJson.dump(item)) end
Private Instance Methods
using_constructor?()
click to toggle source
# File lib/moderation.rb, line 37 def using_constructor? ! constructor.nil? end
using_custom_constructor?()
click to toggle source
# File lib/moderation.rb, line 41 def using_custom_constructor? using_constructor? && ! construct_with.nil? end