Module: MasonClient

Defined in:
lib/mason_client.rb,
lib/mason_client/app.rb,
lib/mason_client/http.rb,
lib/mason_client/mock.rb,
lib/mason_client/result.rb,
lib/mason_client/request.rb,
lib/mason_client/response.rb

Defined Under Namespace

Classes: App, Error, HTTP, Mock, Request, Response, Result

Class Method Summary collapse

Class Method Details

.appObject



26
27
28
# File 'lib/mason_client.rb', line 26

def self.app
  @app ||= App.new(@handler)
end

.backendObject



30
31
32
# File 'lib/mason_client.rb', line 30

def self.backend
  @backend ||= HTTP.new(@url)
end

.build(repo, sha1, command, callback) ⇒ Object



19
20
21
22
23
24
# File 'lib/mason_client.rb', line 19

def self.build(repo, sha1, command, callback)
  request = Request.new(repo, sha1, command, callback)
  url     = backend.run(request)

  Response.new(url)
end

.disable_mock!Object



42
43
44
# File 'lib/mason_client.rb', line 42

def self.disable_mock!
  @backend = nil
end

.enable_mock!Object



38
39
40
# File 'lib/mason_client.rb', line 38

def self.enable_mock!
  @backend = Mock.new(@url)
end

.fail!Object



54
55
56
# File 'lib/mason_client.rb', line 54

def self.fail!
  @backend.fail!
end

.handle(result) ⇒ Object



34
35
36
# File 'lib/mason_client.rb', line 34

def self.handle(result)
  @handler.call(result)
end

.mocked?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/mason_client.rb', line 46

def self.mocked?
  @backend.is_a?(Mock)
end

.setup(url, &block) ⇒ Object



14
15
16
17
# File 'lib/mason_client.rb', line 14

def self.setup(url, &block)
  @url     = url
  @handler = block
end

.success!Object



50
51
52
# File 'lib/mason_client.rb', line 50

def self.success!
  @backend.success!
end