class Moip::Subscription

Attributes

amount[RW]
code[RW]
creation_date[RW]
customer[RW]
expiration_date[RW]
invoice[RW]
message[RW]
next_invoice_date[RW]
plan[RW]
status[RW]
subscriptions[RW]

Public Instance Methods

activate() click to toggle source
# File lib/moip/models/subscription.rb, line 96
def activate
        self.class.put(base_url(:subscriptions, :code => self.code, :status => "activate"), default_header({}.to_json)).parsed_response
end
active?() click to toggle source
# File lib/moip/models/subscription.rb, line 22
def active?
        self.satus == "ACTIVE"
end
attributes() click to toggle source
# File lib/moip/models/subscription.rb, line 13
def attributes
        {
    "code" => code,
    "amount" => amount,
    "plan" => plan,
    "customer" => customer
        }
end
cancel() click to toggle source
# File lib/moip/models/subscription.rb, line 100
def cancel
        self.class.put(base_url(:subscriptions, :code => self.code, :status => "cancel"), default_header({}.to_json)).parsed_response
end
create() click to toggle source

see moiplabs.github.io/assinaturas-docs/api.html#criar_assinatura

# File lib/moip/models/subscription.rb, line 71
def create
        if self.valid?
                response = self.class.post(base_url(:subscriptions), default_header(self.to_json)).parsed_response
                self.validate_response response
        else
                false
        end
end
create_with_costumer() click to toggle source

To Do

# File lib/moip/models/subscription.rb, line 81
def create_with_costumer
        # To Do: will not be developed this feature right now, if you
        #       want to fork and develop this feature, be welcome.
end
find(code) click to toggle source

see moiplabs.github.io/assinaturas-docs/api.html#consultar_assinatura

# File lib/moip/models/subscription.rb, line 87
def find code
        response = self.class.get(base_url(:subscriptions, :code => code), default_header).parsed_response
        self.set_parameters response unless response.nil?
end
invoices() click to toggle source
# File lib/moip/models/subscription.rb, line 60
def invoices           
        @invoices ||= Moip::Invoice.build(:subscription_code => self.code).invoices
end
load() click to toggle source

see moiplabs.github.io/assinaturas-docs/api.html#listar_assinaturas

# File lib/moip/models/subscription.rb, line 65
def load
        list = self.class.get(base_url(:subscriptions), default_header).parsed_response
        self.subscriptions = list["subscriptions"]
end
subscriptions=(hash) click to toggle source
# File lib/moip/models/subscription.rb, line 46
def subscriptions= hash
        @subscriptions = []
        hash.each do |e|
                subscription = self.class.new
                subscription.set_parameters e
                @subscriptions << subscription
        end
        @subscriptions
end
suspend() click to toggle source
# File lib/moip/models/subscription.rb, line 92
def suspend
        self.class.put(base_url(:subscriptions, :code => self.code, :status => "suspend"), default_header({}.to_json)).parsed_response
end
update_amount(plan, new_amount) click to toggle source
# File lib/moip/models/subscription.rb, line 121
def update_amount plan, new_amount
        hash = {}

        self.find self.code

        hash[:plan] = { :code => plan }
        hash[:amount] = new_amount

        self.class.put(base_url(:subscriptions, :code => self.code), default_header(hash.to_json)).parsed_response
end
update_next_invoice(plan, next_invoice_date) click to toggle source

see moiplabs.github.io/assinaturas-docs/api.html#alterar_assinatura

# File lib/moip/models/subscription.rb, line 113
def update_next_invoice plan, next_invoice_date
        hash = {}
        hash[:plan] = { :code => plan }
        hash[:next_invoice_date] = next_invoice_date

        self.class.put(base_url(:subscriptions, :code => self.code), default_header(hash.to_json)).parsed_response
end
update_plan(new_plan) click to toggle source

see moiplabs.github.io/assinaturas-docs/api.html#alterar_assinatura

# File lib/moip/models/subscription.rb, line 105
def update_plan new_plan
        hash = {}
        hash[:plan] = { :code => new_plan }

        self.class.put(base_url(:subscriptions, :code => self.code), default_header(hash.to_json)).parsed_response
end