Class: Moip::Plan

Inherits:
Model
  • Object
show all
Includes:
HTTParty, Header
Defined in:
lib/moip/models/plan.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Header

#auth, #base_url, #default_header

Methods inherited from Model

build, #set_parameters, #to_json, #validate_response

Instance Attribute Details

#amountObject



7
8
9
# File 'lib/moip/models/plan.rb', line 7

def amount
  @amount
end

#billing_cyclesObject



7
8
9
# File 'lib/moip/models/plan.rb', line 7

def billing_cycles
  @billing_cycles
end

#codeObject



7
8
9
# File 'lib/moip/models/plan.rb', line 7

def code
  @code
end

#descriptionObject



7
8
9
# File 'lib/moip/models/plan.rb', line 7

def description
  @description
end

#intervalObject



7
8
9
# File 'lib/moip/models/plan.rb', line 7

def interval
  @interval
end

#max_qtyObject



7
8
9
# File 'lib/moip/models/plan.rb', line 7

def max_qty
  @max_qty
end

#nameObject



7
8
9
# File 'lib/moip/models/plan.rb', line 7

def name
  @name
end

#plansObject



7
8
9
# File 'lib/moip/models/plan.rb', line 7

def plans
  @plans
end

#setup_feeObject



7
8
9
# File 'lib/moip/models/plan.rb', line 7

def setup_fee
  @setup_fee
end

#statusObject



7
8
9
# File 'lib/moip/models/plan.rb', line 7

def status
  @status
end

Instance Method Details

#activateObject



89
90
91
92
93
94
95
# File 'lib/moip/models/plan.rb', line 89

def activate
	if self.status != "activate"
		self.status = "activate"
		self.class.put(base_url(:plans, :code => self.code, :status => "activate"), default_header).parsed_response
		true
	end
end

#attributesObject



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/moip/models/plan.rb', line 13

def attributes
	{
		"code" => code,
		"name" => name, 
		"description" => description,
		"amount" => amount,
		"setup_fee" => setup_fee,
		"interval" => interval,
		"billing_cycles" => billing_cycles,
		"status" => status,
		"max_qty" => max_qty  
	}
end

#createObject

metodo que envia as informações para a API do moip e cria um novo plano see moiplabs.github.io/assinaturas-docs/api.html#criar_plano



63
64
65
66
67
68
69
70
# File 'lib/moip/models/plan.rb', line 63

def create
	if self.valid?
		response = self.class.post(base_url(:plans), default_header(self.to_json)).parsed_response
		self.validate_response response
	else
		false
	end
end

#find(code) ⇒ Object



73
74
75
76
# File 'lib/moip/models/plan.rb', line 73

def find code
	response = self.class.get(base_url(:plans, :code => code), default_header).parsed_response
	self.set_parameters response unless response.nil?
end

#inactivateObject



98
99
100
101
102
103
104
# File 'lib/moip/models/plan.rb', line 98

def inactivate
	if self.status != "inactivate" 
		self.status = "inactivate"
		self.class.put(base_url(:plans, :code => self.code, :status => "inactivate"), default_header).parsed_response
		true
	end
end

#loadObject



56
57
58
59
# File 'lib/moip/models/plan.rb', line 56

def load
	list = self.class.get(base_url(:plans), default_header).parsed_response
	self.plans = list["plans"]
end

#updateObject



79
80
81
82
83
84
85
86
# File 'lib/moip/models/plan.rb', line 79

def update
	if self.valid?
		self.class.put(base_url(:plans, :code => self.code), default_header(self)).parsed_response
		true
	else
		false
	end
end