Module: Logux

Extended by:
ActiveSupport::Autoload
Includes:
Configurations
Defined in:
lib/logux.rb,
lib/logux/add.rb,
lib/logux/auth.rb,
lib/logux/meta.rb,
lib/logux/node.rb,
lib/logux/test.rb,
lib/logux/model.rb,
lib/logux/client.rb,
lib/logux/engine.rb,
lib/logux/policy.rb,
lib/logux/stream.rb,
lib/logux/actions.rb,
lib/logux/process.rb,
lib/logux/version.rb,
lib/logux/response.rb,
lib/logux/model/dsl.rb,
lib/logux/test/store.rb,
lib/logux/model/proxy.rb,
lib/logux/class_finder.rb,
lib/logux/process/auth.rb,
lib/logux/test/helpers.rb,
lib/logux/action_caller.rb,
lib/logux/model/updater.rb,
lib/logux/policy_caller.rb,
lib/logux/process/batch.rb,
lib/logux/test/matchers.rb,
lib/logux/error_renderer.rb,
lib/logux/process/action.rb,
lib/logux/base_controller.rb,
lib/logux/action_controller.rb,
lib/logux/channel_controller.rb,
lib/logux/test/matchers/base.rb,
lib/logux/model/updates_deprecator.rb,
lib/logux/test/matchers/send_to_logux.rb,
lib/logux/test/matchers/response_chunks.rb,
lib/generators/logux/model/model_generator.rb

Defined Under Namespace

Modules: Generators, Model, Process, Test Classes: ActionCaller, ActionController, Actions, Add, Auth, BaseController, ChannelController, ClassFinder, Client, Engine, ErrorRenderer, Meta, Node, Policy, PolicyCaller, Response, Stream, WithMetaError

Constant Summary collapse

PROTOCOL_VERSION =
1
UnknownActionError =
Class.new(WithMetaError)
UnknownChannelError =
Class.new(WithMetaError)
UnauthorizedError =
Class.new(StandardError)
VERSION =
'0.1.0'

Class Method Summary collapse

Class Method Details

.add(action, meta = Meta.new) ⇒ Object



70
71
72
# File 'lib/logux.rb', line 70

def self.add(action, meta = Meta.new)
  Logux::Add.new.call([[action, meta]])
end

.add_batch(commands) ⇒ Object



74
75
76
# File 'lib/logux.rb', line 74

def self.add_batch(commands)
  Logux::Add.new.call(commands)
end

.generate_action_idObject



100
101
102
# File 'lib/logux.rb', line 100

def self.generate_action_id
  Logux::Node.instance.generate_action_id
end

.loggerObject



104
105
106
# File 'lib/logux.rb', line 104

def self.logger
  configuration.logger
end

.process_batch(stream:, batch:) ⇒ Object



96
97
98
# File 'lib/logux.rb', line 96

def self.process_batch(stream:, batch:)
  Logux::Process::Batch.new(stream: stream, batch: batch).call
end

.undo(meta, reason: nil, data: {}) ⇒ Object



78
79
80
81
82
83
# File 'lib/logux.rb', line 78

def self.undo(meta, reason: nil, data: {})
  add(
    data.merge(type: 'logux/undo', id: meta.id, reason: reason),
    Logux::Meta.new(clients: [meta.client_id])
  )
end

.verify_request_meta_data(meta_params) ⇒ Object



85
86
87
88
89
90
91
92
93
94
# File 'lib/logux.rb', line 85

def self.(meta_params)
  if Logux.configuration.password.nil?
    logger.warn(%(Please, add password for logux server:
                        Logux.configure do |c|
                          c.password = 'your-password'
                        end))
  end
  auth = Logux.configuration.password == meta_params&.dig(:password)
  raise Logux::UnauthorizedError, 'Incorrect password' unless auth
end