Class: Klaro::Client
- Inherits:
-
Object
show all
- Defined in:
- lib/klaro/client.rb,
lib/klaro/client/errors.rb,
lib/klaro/client/version.rb,
lib/klaro/client/resource.rb,
lib/klaro/client/resource/board.rb,
lib/klaro/client/resource/story.rb,
lib/klaro/client/request_handler.rb,
lib/klaro/client/support/md_text.rb,
lib/klaro/client/resource/stories.rb,
lib/klaro/client/resource/dimension.rb,
lib/klaro/client/resource/attachment.rb,
lib/klaro/client/resource/dimensions.rb,
lib/klaro/client/resource/dimension_value.rb
Defined Under Namespace
Modules: Version
Classes: Attachment, Board, Collection, Dimension, DimensionValue, Dimensions, Error, MdText, RequestHandler, Resource, Stories, Story
Constant Summary
collapse
- VERSION =
"#{Version::MAJOR}.#{Version::MINOR}.#{Version::TINY}"
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(base_url) ⇒ Client
Returns a new instance of Client.
12
13
14
|
# File 'lib/klaro/client.rb', line 12
def initialize(base_url)
@request = RequestHandler.new(base_url)
end
|
Instance Attribute Details
#request ⇒ Object
Returns the value of attribute request.
10
11
12
|
# File 'lib/klaro/client.rb', line 10
def request
@request
end
|
Instance Method Details
#absolute_url(url) ⇒ Object
21
22
23
|
# File 'lib/klaro/client.rb', line 21
def absolute_url(url)
request.base_url + url
end
|
#board(location_or_id) ⇒ Object
45
46
47
|
# File 'lib/klaro/client.rb', line 45
def board(location_or_id)
Board.dress(request.get("/api/boards/#{location_or_id}"), self)
end
|
#board_stories(location_or_id) ⇒ Object
49
50
51
|
# File 'lib/klaro/client.rb', line 49
def board_stories(location_or_id)
Stories.dress(request.get("/api/boards/#{location_or_id}/stories/"), self)
end
|
#board_stories_full(location_or_id) ⇒ Object
53
54
55
56
57
58
|
# File 'lib/klaro/client.rb', line 53
def board_stories_full(location_or_id)
hs = { 'Accept': 'application/vnd+klaro.stories.full+json' }
Stories.dress(
request.get("/api/boards/#{location_or_id}/stories/", false, hs),
self)
end
|
#dimension(code_or_id) ⇒ Object
37
38
39
|
# File 'lib/klaro/client.rb', line 37
def dimension(code_or_id)
Dimension.dress(request.get("/api/dimensions/#{code_or_id}"), self)
end
|
#dimensions ⇒ Object
41
42
43
|
# File 'lib/klaro/client.rb', line 41
def dimensions
Dimensions.dress(request.get('/api/dimensions'), self)
end
|
#login(*args, &bl) ⇒ Object
33
34
35
|
# File 'lib/klaro/client.rb', line 33
def login(*args, &bl)
request.authenticate(*args, &bl)
end
|
#story(id_or_identifier) ⇒ Object
60
61
62
|
# File 'lib/klaro/client.rb', line 60
def story(id_or_identifier)
Story.dress(request.get("/api/stories/#{id_or_identifier}"), self)
end
|
#upload_image(image_path) ⇒ Object
64
65
66
67
68
69
70
71
72
|
# File 'lib/klaro/client.rb', line 64
def upload_image(image_path)
body = {
form: {
file: HTTP::FormData::File.new(image_path)
}
}
response = request.post('/s/', body)
URI(response['location']).request_uri
end
|
#with_caching(options) ⇒ Object
16
17
18
19
|
# File 'lib/klaro/client.rb', line 16
def with_caching(options)
@request = request.with_cache(options)
self
end
|
#with_project(*args, &bl) ⇒ Object
29
30
31
|
# File 'lib/klaro/client.rb', line 29
def with_project(*args, &bl)
request.with_project(*args, &bl)
end
|
#with_token(*args, &bl) ⇒ Object
25
26
27
|
# File 'lib/klaro/client.rb', line 25
def with_token(*args, &bl)
request.with_token(*args, &bl)
end
|