Class: HaveAPI::ClientExample
- Inherits:
-
Object
- Object
- HaveAPI::ClientExample
- Defined in:
- lib/haveapi/client_example.rb
Overview
All client example classes should inherit this class. Depending on the client, the subclass may choose to implement either method ‘example` or `request` and `response`. `example` should be implemented if the client example shows only the request or the request and response should be coupled together.
Methods ‘example`, `request` and `response` take one argument, the example to describe.
Direct Known Subclasses
HaveAPI::ClientExamples::FsClient, HaveAPI::ClientExamples::Http, HaveAPI::ClientExamples::JsClient, HaveAPI::ClientExamples::PhpClient, HaveAPI::ClientExamples::RubyCli, HaveAPI::ClientExamples::RubyClient
Instance Attribute Summary collapse
-
#action ⇒ Object
readonly
Returns the value of attribute action.
-
#action_name ⇒ Object
readonly
Returns the value of attribute action_name.
-
#base_url ⇒ Object
readonly
Returns the value of attribute base_url.
-
#host ⇒ Object
readonly
Returns the value of attribute host.
-
#resource ⇒ Object
readonly
Returns the value of attribute resource.
-
#resource_path ⇒ Object
readonly
Returns the value of attribute resource_path.
-
#version ⇒ Object
readonly
Returns the value of attribute version.
Class Method Summary collapse
-
.auth(*args) ⇒ Object
Shortcut to #auth.
-
.clients ⇒ Array<ClientExample>
Sorted array of classes.
-
.code(v = nil) ⇒ Object
Code name is passed to the syntax highligher.
-
.example(*args) ⇒ Object
Shortcut to ClientExample.example.
-
.init ⇒ Object
Shortcut to #init.
-
.label(v = nil) ⇒ Object
All subclasses have to call this method to set their label and be registered.
-
.order(v = nil) ⇒ Object
A number used for ordering client examples.
- .register(klass) ⇒ Object
Instance Method Summary collapse
- #auth(method, desc) ⇒ Object
- #init ⇒ Object
-
#initialize(host, base_url, version, *args) ⇒ ClientExample
constructor
A new instance of ClientExample.
- #version_url ⇒ Object
Constructor Details
#initialize(host, base_url, version, *args) ⇒ ClientExample
Returns a new instance of ClientExample.
64 65 66 67 68 69 |
# File 'lib/haveapi/client_example.rb', line 64 def initialize(host, base_url, version, *args) @host = host @base_url = base_url @version = version @resource_path, @resource, @action_name, @action = args end |
Instance Attribute Details
#action ⇒ Object (readonly)
Returns the value of attribute action.
62 63 64 |
# File 'lib/haveapi/client_example.rb', line 62 def action @action end |
#action_name ⇒ Object (readonly)
Returns the value of attribute action_name.
62 63 64 |
# File 'lib/haveapi/client_example.rb', line 62 def action_name @action_name end |
#base_url ⇒ Object (readonly)
Returns the value of attribute base_url.
62 63 64 |
# File 'lib/haveapi/client_example.rb', line 62 def base_url @base_url end |
#host ⇒ Object (readonly)
Returns the value of attribute host.
62 63 64 |
# File 'lib/haveapi/client_example.rb', line 62 def host @host end |
#resource ⇒ Object (readonly)
Returns the value of attribute resource.
62 63 64 |
# File 'lib/haveapi/client_example.rb', line 62 def resource @resource end |
#resource_path ⇒ Object (readonly)
Returns the value of attribute resource_path.
62 63 64 |
# File 'lib/haveapi/client_example.rb', line 62 def resource_path @resource_path end |
#version ⇒ Object (readonly)
Returns the value of attribute version.
62 63 64 |
# File 'lib/haveapi/client_example.rb', line 62 def version @version end |
Class Method Details
.auth(*args) ⇒ Object
Shortcut to #auth
47 48 49 |
# File 'lib/haveapi/client_example.rb', line 47 def auth(*args) new(*args[0..-3]).auth(*args[-2..]) end |
.clients ⇒ Array<ClientExample>
Returns sorted array of classes.
57 58 59 |
# File 'lib/haveapi/client_example.rb', line 57 def clients @clients.sort { |a, b| a.order <=> b.order } end |
.code(v = nil) ⇒ Object
Code name is passed to the syntax highligher.
25 26 27 28 |
# File 'lib/haveapi/client_example.rb', line 25 def code(v = nil) @code = v if v @code end |
.example(*args) ⇒ Object
Shortcut to example
52 53 54 |
# File 'lib/haveapi/client_example.rb', line 52 def example(*args) new(*args[0..-2]).example(args.last) end |
.init ⇒ Object
Shortcut to #init
42 43 44 |
# File 'lib/haveapi/client_example.rb', line 42 def init(*) new(*).init end |
.label(v = nil) ⇒ Object
All subclasses have to call this method to set their label and be registered.
15 16 17 18 19 20 21 22 |
# File 'lib/haveapi/client_example.rb', line 15 def label(v = nil) if v @label = v HaveAPI::ClientExample.register(self) end @label end |
.order(v = nil) ⇒ Object
A number used for ordering client examples.
31 32 33 34 |
# File 'lib/haveapi/client_example.rb', line 31 def order(v = nil) @order = v if v @order end |
.register(klass) ⇒ Object
36 37 38 39 |
# File 'lib/haveapi/client_example.rb', line 36 def register(klass) @clients ||= [] @clients << klass end |
Instance Method Details
#auth(method, desc) ⇒ Object
73 |
# File 'lib/haveapi/client_example.rb', line 73 def auth(method, desc); end |
#init ⇒ Object
71 |
# File 'lib/haveapi/client_example.rb', line 71 def init; end |
#version_url ⇒ Object
75 76 77 |
# File 'lib/haveapi/client_example.rb', line 75 def version_url File.join(base_url, "v#{version}", '/') end |