Class: CanvasLmsApi::Uri
- Inherits:
-
Object
- Object
- CanvasLmsApi::Uri
- Defined in:
- lib/canvas_lms_api/uri.rb
Constant Summary collapse
- PER_PAGE =
999
Instance Attribute Summary collapse
-
#endpoint ⇒ Object
readonly
Returns the value of attribute endpoint.
-
#prefix ⇒ Object
readonly
Returns the value of attribute prefix.
-
#query_param ⇒ Object
readonly
Returns the value of attribute query_param.
Instance Method Summary collapse
-
#initialize(prefix, endpoint, query_param) ⇒ Uri
constructor
A new instance of Uri.
- #to_s ⇒ Object
- #uri ⇒ Object
Constructor Details
#initialize(prefix, endpoint, query_param) ⇒ Uri
Returns a new instance of Uri.
12 13 14 15 16 |
# File 'lib/canvas_lms_api/uri.rb', line 12 def initialize(prefix, endpoint, query_param) @prefix = fix_prefix(prefix) @endpoint = fix_endpoint(endpoint, @prefix) @query_param = query_param end |
Instance Attribute Details
#endpoint ⇒ Object (readonly)
Returns the value of attribute endpoint.
10 11 12 |
# File 'lib/canvas_lms_api/uri.rb', line 10 def endpoint @endpoint end |
#prefix ⇒ Object (readonly)
Returns the value of attribute prefix.
10 11 12 |
# File 'lib/canvas_lms_api/uri.rb', line 10 def prefix @prefix end |
#query_param ⇒ Object (readonly)
Returns the value of attribute query_param.
10 11 12 |
# File 'lib/canvas_lms_api/uri.rb', line 10 def query_param @query_param end |
Instance Method Details
#to_s ⇒ Object
27 28 29 |
# File 'lib/canvas_lms_api/uri.rb', line 27 def to_s uri.to_s end |
#uri ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/canvas_lms_api/uri.rb', line 18 def uri URI("#{prefix}#{endpoint}").tap do |u| query = Rack::Utils.parse_nested_query u.query query.merge! Hash(query_param) query[:per_page] ||= PER_PAGE u.query = query.to_query end end |