Class: Webspicy::Resource
- Inherits:
-
Object
- Object
- Webspicy::Resource
- Defined in:
- lib/webspicy/resource.rb,
lib/webspicy/resource/service.rb,
lib/webspicy/resource/service/test_case.rb,
lib/webspicy/resource/service/invocation.rb
Defined Under Namespace
Classes: Service
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(raw) ⇒ Resource
constructor
A new instance of Resource.
- #instantiate_url(params) ⇒ Object
- #services ⇒ Object
- #to_info ⇒ Object
- #url ⇒ Object
- #url_placeholders ⇒ Object
Constructor Details
#initialize(raw) ⇒ Resource
Returns a new instance of Resource.
4 5 6 7 |
# File 'lib/webspicy/resource.rb', line 4 def initialize(raw) @raw = raw bind_services end |
Class Method Details
.info(raw) ⇒ Object
9 10 11 |
# File 'lib/webspicy/resource.rb', line 9 def self.info(raw) new(raw) end |
Instance Method Details
#instantiate_url(params) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/webspicy/resource.rb', line 25 def instantiate_url(params) url, rest = self.url, params.dup url_placeholders.each do |placeholder| key = [placeholder, placeholder.to_s].find{|x| params.has_key?(x) } if key url = url.gsub("{#{placeholder}}", params[key].to_s) rest.delete(placeholder) else raise "Missing URL parameter `#{placeholder}`\n\t(#{params.inspect})" end end [ url, rest ] end |
#services ⇒ Object
17 18 19 |
# File 'lib/webspicy/resource.rb', line 17 def services @raw[:services] end |
#to_info ⇒ Object
39 40 41 |
# File 'lib/webspicy/resource.rb', line 39 def to_info @raw end |
#url ⇒ Object
13 14 15 |
# File 'lib/webspicy/resource.rb', line 13 def url @raw[:url] end |
#url_placeholders ⇒ Object
21 22 23 |
# File 'lib/webspicy/resource.rb', line 21 def url_placeholders url.scan(/\{([a-zA-Z]+)\}/).map{|x| x.first.to_sym } end |