Class: WMATA::Resource
- Inherits:
-
Object
show all
- Defined in:
- lib/resource.rb
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(attrs = {}) ⇒ Resource
Returns a new instance of Resource.
28
29
30
|
# File 'lib/resource.rb', line 28
def initialize(attrs={})
@attrs = attrs
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(m, *args) ⇒ Object
32
33
34
35
|
# File 'lib/resource.rb', line 32
def method_missing(m, *args)
camel_cased = m.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
@attrs[m.to_s] or @attrs[camel_cased] or super
end
|
Instance Attribute Details
#attrs ⇒ Object
Returns the value of attribute attrs.
26
27
28
|
# File 'lib/resource.rb', line 26
def attrs
@attrs
end
|
Class Method Details
.endpoint(value = nil) ⇒ Object
16
17
18
19
|
# File 'lib/resource.rb', line 16
def endpoint(value=nil)
@endpoint = value if value
@endpoint || "#{self.name.capitalize}s"
end
|
.get_all(params = {}) ⇒ Object
Also known as:
find_all
4
5
6
7
|
# File 'lib/resource.rb', line 4
def get_all(params={})
url = WMATA.base_url % [service, endpoint, to_query_string(params)]
HTTParty.get(url).first.last.map {|values| new(values) }
end
|
.service(value = nil) ⇒ Object
11
12
13
14
|
# File 'lib/resource.rb', line 11
def service(value=nil)
@service = value if value
@service || "#{self.name.capitalize}s"
end
|
.to_query_string(params) ⇒ Object
21
22
23
|
# File 'lib/resource.rb', line 21
def to_query_string(params)
"&" + params.map {|k, v| "#{k.to_s}=#{v}"}.join("&")
end
|