Class: RestParty

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/restparty.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#resourceObject (readonly)

Returns the value of attribute resource.



6
7
8
# File 'lib/restparty.rb', line 6

def resource
  @resource
end

#resource_methodsObject (readonly)

Returns the value of attribute resource_methods.



7
8
9
# File 'lib/restparty.rb', line 7

def resource_methods
  @resource_methods
end

Class Method Details

.resource_for(resource, options = {:methods => [:create, :index, :show, :update, :delete], :member => {}, :collection => {}}) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/restparty.rb', line 11

def resource_for(resource, options = {:methods => [:create, :index, :show, :update, :delete], :member => {}, :collection => {}})
  @resource = resource.to_s
  @resource_methods = options[:methods]

  if !options[:only].blank?
    @resource_methods = options[:only]
  elsif !options[:except].blank?
    @resource_methods = [:create, :index, :show, :update, :delete]
    @resource_methods.delete_if{|m| options[:except].include?(m)}
  end

  build_members(options[:member]) if options[:member]
  build_collections(options[:collection]) if options[:collection]
  build_create if @resource_methods.include?(:create)
  build_get if @resource_methods.include?(:index) || @resource_methods.include?(:show)
  build_update if @resource_methods.include?(:update)
  build_delete if @resource_methods.include?(:delete)
end