class RubyEventStore::Browser::App

Public Class Methods

for(event_store_locator:, host: nil, path: nil, api_url: nil, environment: :production, related_streams_query: DEFAULT_RELATED_STREAMS_QUERY) click to toggle source
# File lib/ruby_event_store/browser/app.rb, line 9
def self.for(event_store_locator:, host: nil, path: nil, api_url: nil, environment: :production, related_streams_query: DEFAULT_RELATED_STREAMS_QUERY)
  self.tap do |app|
    app.settings.instance_exec do
      set :event_store_locator, event_store_locator
      set :related_streams_query, -> { related_streams_query }
      set :host, host
      set :root_path, path
      set :api_url, api_url
      set :environment, environment
      set :public_folder, "#{__dir__}/../../../public"
    end
  end
end

Public Instance Methods

json(data) click to toggle source
# File lib/ruby_event_store/browser/app.rb, line 97
def json(data)
  content_type :json
  JSON.dump data.as_json
end
routing() click to toggle source
# File lib/ruby_event_store/browser/app.rb, line 90
def routing
  Routing.new(
    settings.host || request.base_url,
    settings.root_path || request.script_name
  )
end
symbolized_params() click to toggle source
# File lib/ruby_event_store/browser/app.rb, line 86
def symbolized_params
  params.each_with_object({}) { |(k, v), h| v.nil? ? next : h[k.to_sym] = v }
end