Class: Moyasar::Resource

Inherits:
Object
  • Object
show all
Includes:
Actions::Cancel, Actions::Construct, Actions::Fetch, Actions::List, Actions::Request, Actions::Update
Defined in:
lib/moyasar/resource.rb

Direct Known Subclasses

Invoice, Payment

Class Method Summary collapse

Methods included from Actions::Cancel

included

Methods included from Actions::Update

included

Methods included from Actions::Fetch

included

Methods included from Actions::List

included

Methods included from Actions::Construct

included

Methods included from Actions::Request

included, #request

Class Method Details

.class_nameObject



12
13
14
# File 'lib/moyasar/resource.rb', line 12

def class_name
  name.split('::')[-1]
end

.resource_nameObject



16
17
18
# File 'lib/moyasar/resource.rb', line 16

def resource_name
  "#{class_name.downcase}s"
end

.resource_urlObject



20
21
22
23
24
25
# File 'lib/moyasar/resource.rb', line 20

def resource_url
  if self == Resource
    raise NotImplementedError.new('Resource is an abstract class. You should perform actions on its subclasses (Payment, Invoice, etc.)')
  end
  "/#{Moyasar.api_version}/#{CGI.escape(resource_name)}"
end