Module: Collab

Defined in:
lib/collab.rb,
lib/collab/js.rb,
lib/collab/config.rb,
lib/collab/engine.rb,
lib/collab/channel.rb,
lib/collab/version.rb,
lib/collab/models/base.rb,
lib/collab/models/commit.rb,
lib/collab/models/document.rb,
lib/collab/has_collaborative_document.rb,
lib/generators/collab/install/install_generator.rb

Defined Under Namespace

Modules: Channel, HasCollaborativeDocument, JS, Models Classes: CommitJob, Config, Engine, Install

Constant Summary collapse

VERSION =
'0.3.0'

Class Method Summary collapse

Class Method Details

.configObject



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/collab/config.rb', line 4

def self.config
  if block_given?
    @config_mutex.synchronize do
      @config ||= ::Collab::Config.new
      raise "[Collab] Tried to configure gem after first use" if @config.frozen?
      yield @config
    end
  else
    raise "[Collab] Missing configuration - Have you run `rails g collab:install` yet?" unless @config
    @config.freeze # really weird stuff could happen if the config changes after first use, so freeze config
  end
end