Class: Oak::Request
Defined Under Namespace
Constant Summary collapse
- DEFAULT_HEADERS =
{'authorization' => ENV['OAK_API_KEY']}
Instance Attribute Summary collapse
-
#args ⇒ Object
readonly
Returns the value of attribute args.
-
#base_url ⇒ Object
readonly
Returns the value of attribute base_url.
-
#debug ⇒ Object
readonly
Returns the value of attribute debug.
-
#headers ⇒ Object
readonly
Returns the value of attribute headers.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
- #development? ⇒ Boolean
- #go ⇒ Object
-
#initialize(args) ⇒ Request
constructor
A new instance of Request.
Constructor Details
#initialize(args) ⇒ Request
Returns a new instance of Request.
44 45 46 47 48 49 50 51 52 |
# File 'lib/oak_api.rb', line 44 def initialize(args) = Options.parse(args) @args = args @base_url = development? ? 'http://localhost:3000' : 'https://oak.software' [:headers] = [:headers].to_h.merge({'authorization' => ENV['OAK_API_KEY_DEVEL']}) if development? @headers = DEFAULT_HEADERS.merge([:headers].to_h) @debug = [:debug] info self if @debug end |
Instance Attribute Details
#args ⇒ Object (readonly)
Returns the value of attribute args.
42 43 44 |
# File 'lib/oak_api.rb', line 42 def args @args end |
#base_url ⇒ Object (readonly)
Returns the value of attribute base_url.
42 43 44 |
# File 'lib/oak_api.rb', line 42 def base_url @base_url end |
#debug ⇒ Object (readonly)
Returns the value of attribute debug.
42 43 44 |
# File 'lib/oak_api.rb', line 42 def debug @debug end |
#headers ⇒ Object (readonly)
Returns the value of attribute headers.
42 43 44 |
# File 'lib/oak_api.rb', line 42 def headers @headers end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
42 43 44 |
# File 'lib/oak_api.rb', line 42 def end |
Instance Method Details
#development? ⇒ Boolean
54 55 56 |
# File 'lib/oak_api.rb', line 54 def development? [:environment] == 'development' end |
#go ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/oak_api.rb', line 58 def go if [:list] args.unshift(?g, "endpoints") end req = HTTP.new(args, base_url, [:api], headers, debug).set_request info [req, req.uri, req.uri.host, req.uri.port, req.body] if debug info req.to_hash if debug http = Net::HTTP.new(req.uri.host, req.uri.port) http.use_ssl = true unless development? res = http.request(req) puts res.body end |