Sha256: b7dd85e7a7491dfbcd21035dbb45b0f285b3015eb1ed9a6995d87d8bdad3e4cb

Contents?: true

Size: 1017 Bytes

Versions: 1

Compression:

Stored size: 1017 Bytes

Contents

# frozen_string_literal: true

require 'sequel'
require 'bunny'
require 'oj'
require 'logger'
require 'forwardable'
require 'json-schema'
require 'icalendar'
require 'reasonable/value'
require 'rails-html-sanitizer'

require 'jsonical/vevent_model'
require 'jsonical/vevent_repo'
require 'jsonical/vevent_schema'
require 'jsonical/create_or_update_vevent_service'
require 'jsonical/delete_vevent_service'
require 'jsonical/vevent_dispatcher'
require 'jsonical/calendar_builder'
require 'jsonical/links_builder'

module JSONiCal

  BINDED_EVENT = JSONiCal::VEVENTDispatcher::EVENT_MAP.keys.freeze

  DATABASE_URI = ENV.fetch('DATABASE_URI').freeze

  BROKER_URI = ENV.fetch('BROKER_URI').freeze

  class << self

    def broker
      Thread.current[:broker] ||= Bunny.new(JSONiCal::BROKER_URI).start
    end

    def database
      Thread.current[:database] ||= Sequel.connect(JSONiCal::DATABASE_URI, max_connections: 5)
    end

    def logger
      Thread.current[:logger] ||= Logger.new(STDOUT)
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
JSONiCal-1.0.0 lib/jsonical.rb