Class: Webspicy::Resource

Inherits:
Object
  • Object
show all
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

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
# File 'lib/webspicy/resource.rb', line 25

def instantiate_url(params)
  url, rest = self.url, params.dup
  url_placeholders.each do |placeholder|
    value, rest = extract_placeholder_value(params, placeholder)
    url = url.gsub("{#{placeholder}}", value.to_s)
  end
  [ url, rest ]
end

#servicesObject



17
18
19
# File 'lib/webspicy/resource.rb', line 17

def services
  @raw[:services]
end

#to_infoObject



34
35
36
# File 'lib/webspicy/resource.rb', line 34

def to_info
  @raw
end

#urlObject



13
14
15
# File 'lib/webspicy/resource.rb', line 13

def url
  @raw[:url]
end

#url_placeholdersObject



21
22
23
# File 'lib/webspicy/resource.rb', line 21

def url_placeholders
  url.scan(/\{([a-zA-Z]+(\.[a-zA-Z]+)*)\}/).map{|x| x.first }
end