iugu-api 0.0.1b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +23 -0
 - data/Gemfile +4 -0
 - data/Gemfile.lock +27 -0
 - data/LICENSE.txt +22 -0
 - data/README.md +29 -0
 - data/Rakefile +1 -0
 - data/iugu-api.gemspec +21 -0
 - data/lib/iugu-api.rb +42 -0
 - data/lib/iugu-api/models/account_payment.rb +7 -0
 - data/lib/iugu-api/models/invoice.rb +15 -0
 - data/lib/iugu-api/models/invoice_log.rb +8 -0
 - data/lib/iugu-api/models/iugu_resource.rb +113 -0
 - data/lib/iugu-api/models/plan.rb +13 -0
 - data/lib/iugu-api/models/plan_feature.rb +8 -0
 - data/lib/iugu-api/models/plan_price.rb +8 -0
 - data/lib/iugu-api/models/subscription.rb +6 -0
 - data/lib/iugu-api/models/web_hook.rb +6 -0
 - data/lib/iugu-api/version.rb +5 -0
 - data/pkg/iugu-api-0.0.1.gem +0 -0
 - metadata +64 -0
 
    
        data/.gitignore
    ADDED
    
    | 
         @@ -0,0 +1,23 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            .bundle
         
     | 
| 
      
 2 
     | 
    
         
            +
            db/*.sqlite3
         
     | 
| 
      
 3 
     | 
    
         
            +
            log/*.log
         
     | 
| 
      
 4 
     | 
    
         
            +
            tmp/
         
     | 
| 
      
 5 
     | 
    
         
            +
            .sass-cache/
         
     | 
| 
      
 6 
     | 
    
         
            +
            coverage/
         
     | 
| 
      
 7 
     | 
    
         
            +
            *~
         
     | 
| 
      
 8 
     | 
    
         
            +
            *.DS_Store
         
     | 
| 
      
 9 
     | 
    
         
            +
            *.out
         
     | 
| 
      
 10 
     | 
    
         
            +
            *.swp
         
     | 
| 
      
 11 
     | 
    
         
            +
            .sass-cache/
         
     | 
| 
      
 12 
     | 
    
         
            +
            .sass-cache/*
         
     | 
| 
      
 13 
     | 
    
         
            +
            .sass-cache/**
         
     | 
| 
      
 14 
     | 
    
         
            +
            tmp/
         
     | 
| 
      
 15 
     | 
    
         
            +
            tmp/*/*
         
     | 
| 
      
 16 
     | 
    
         
            +
            tmp/**
         
     | 
| 
      
 17 
     | 
    
         
            +
            */*.swp
         
     | 
| 
      
 18 
     | 
    
         
            +
            db/schema.rb
         
     | 
| 
      
 19 
     | 
    
         
            +
            public/system/*
         
     | 
| 
      
 20 
     | 
    
         
            +
            public/system/**
         
     | 
| 
      
 21 
     | 
    
         
            +
            coverage/**
         
     | 
| 
      
 22 
     | 
    
         
            +
            coverage/*/*
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
    
        data/Gemfile
    ADDED
    
    
    
        data/Gemfile.lock
    ADDED
    
    | 
         @@ -0,0 +1,27 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            PATH
         
     | 
| 
      
 2 
     | 
    
         
            +
              remote: .
         
     | 
| 
      
 3 
     | 
    
         
            +
              specs:
         
     | 
| 
      
 4 
     | 
    
         
            +
                iugu-api (0.0.1)
         
     | 
| 
      
 5 
     | 
    
         
            +
                  activeresource (= 3.2.8)
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            GEM
         
     | 
| 
      
 8 
     | 
    
         
            +
              remote: https://rubygems.org/
         
     | 
| 
      
 9 
     | 
    
         
            +
              specs:
         
     | 
| 
      
 10 
     | 
    
         
            +
                activemodel (3.2.8)
         
     | 
| 
      
 11 
     | 
    
         
            +
                  activesupport (= 3.2.8)
         
     | 
| 
      
 12 
     | 
    
         
            +
                  builder (~> 3.0.0)
         
     | 
| 
      
 13 
     | 
    
         
            +
                activeresource (3.2.8)
         
     | 
| 
      
 14 
     | 
    
         
            +
                  activemodel (= 3.2.8)
         
     | 
| 
      
 15 
     | 
    
         
            +
                  activesupport (= 3.2.8)
         
     | 
| 
      
 16 
     | 
    
         
            +
                activesupport (3.2.8)
         
     | 
| 
      
 17 
     | 
    
         
            +
                  i18n (~> 0.6)
         
     | 
| 
      
 18 
     | 
    
         
            +
                  multi_json (~> 1.0)
         
     | 
| 
      
 19 
     | 
    
         
            +
                builder (3.0.3)
         
     | 
| 
      
 20 
     | 
    
         
            +
                i18n (0.6.1)
         
     | 
| 
      
 21 
     | 
    
         
            +
                multi_json (1.3.6)
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            PLATFORMS
         
     | 
| 
      
 24 
     | 
    
         
            +
              ruby
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            DEPENDENCIES
         
     | 
| 
      
 27 
     | 
    
         
            +
              iugu-api!
         
     | 
    
        data/LICENSE.txt
    ADDED
    
    | 
         @@ -0,0 +1,22 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Copyright (c) 2012 Alexandre Paez
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            MIT License
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            Permission is hereby granted, free of charge, to any person obtaining
         
     | 
| 
      
 6 
     | 
    
         
            +
            a copy of this software and associated documentation files (the
         
     | 
| 
      
 7 
     | 
    
         
            +
            "Software"), to deal in the Software without restriction, including
         
     | 
| 
      
 8 
     | 
    
         
            +
            without limitation the rights to use, copy, modify, merge, publish,
         
     | 
| 
      
 9 
     | 
    
         
            +
            distribute, sublicense, and/or sell copies of the Software, and to
         
     | 
| 
      
 10 
     | 
    
         
            +
            permit persons to whom the Software is furnished to do so, subject to
         
     | 
| 
      
 11 
     | 
    
         
            +
            the following conditions:
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            The above copyright notice and this permission notice shall be
         
     | 
| 
      
 14 
     | 
    
         
            +
            included in all copies or substantial portions of the Software.
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
         
     | 
| 
      
 17 
     | 
    
         
            +
            EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
         
     | 
| 
      
 18 
     | 
    
         
            +
            MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
         
     | 
| 
      
 19 
     | 
    
         
            +
            NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
         
     | 
| 
      
 20 
     | 
    
         
            +
            LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
         
     | 
| 
      
 21 
     | 
    
         
            +
            OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
         
     | 
| 
      
 22 
     | 
    
         
            +
            WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
         
     | 
    
        data/README.md
    ADDED
    
    | 
         @@ -0,0 +1,29 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Iugu::Api
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            TODO: Write a gem description
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            ## Installation
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            Add this line to your application's Gemfile:
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                gem 'iugu-api'
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            And then execute:
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                $ bundle
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            Or install it yourself as:
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                $ gem install iugu-api
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            ## Usage
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            TODO: Write usage instructions here
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            ## Contributing
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            1. Fork it
         
     | 
| 
      
 26 
     | 
    
         
            +
            2. Create your feature branch (`git checkout -b my-new-feature`)
         
     | 
| 
      
 27 
     | 
    
         
            +
            3. Commit your changes (`git commit -am 'Add some feature'`)
         
     | 
| 
      
 28 
     | 
    
         
            +
            4. Push to the branch (`git push origin my-new-feature`)
         
     | 
| 
      
 29 
     | 
    
         
            +
            5. Create new Pull Request
         
     | 
    
        data/Rakefile
    ADDED
    
    | 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require "bundler/gem_tasks"
         
     | 
    
        data/iugu-api.gemspec
    ADDED
    
    | 
         @@ -0,0 +1,21 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # -*- encoding: utf-8 -*-
         
     | 
| 
      
 2 
     | 
    
         
            +
            lib = File.expand_path('../lib', __FILE__)
         
     | 
| 
      
 3 
     | 
    
         
            +
            $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'iugu-api/version'
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            Gem::Specification.new do |gem|
         
     | 
| 
      
 7 
     | 
    
         
            +
              gem.name          = "iugu-api"
         
     | 
| 
      
 8 
     | 
    
         
            +
              gem.version       = Iugu::Api::VERSION
         
     | 
| 
      
 9 
     | 
    
         
            +
              gem.authors       = ["Alexandre Paez"]
         
     | 
| 
      
 10 
     | 
    
         
            +
              gem.email         = ["alepaezseq@gmail.com"]
         
     | 
| 
      
 11 
     | 
    
         
            +
              gem.description   = "Iugu API access"
         
     | 
| 
      
 12 
     | 
    
         
            +
              gem.summary       = "Iugu API access"
         
     | 
| 
      
 13 
     | 
    
         
            +
              gem.homepage      = ""
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              gem.files         = `git ls-files`.split($/)
         
     | 
| 
      
 16 
     | 
    
         
            +
              gem.executables   = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
         
     | 
| 
      
 17 
     | 
    
         
            +
              gem.test_files    = gem.files.grep(%r{^(test|spec|features)/})
         
     | 
| 
      
 18 
     | 
    
         
            +
              gem.require_paths = ["lib"]
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
              #gem.add_dependency "activeresource", "3.2.8"
         
     | 
| 
      
 21 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/iugu-api.rb
    ADDED
    
    | 
         @@ -0,0 +1,42 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require "active_resource"
         
     | 
| 
      
 2 
     | 
    
         
            +
            require "iugu-api/version"
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module Iugu
         
     | 
| 
      
 5 
     | 
    
         
            +
              module Api
         
     | 
| 
      
 6 
     | 
    
         
            +
                @@site = "http://iugu.dev:3000"
         
     | 
| 
      
 7 
     | 
    
         
            +
                @@token = ""
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                def self.config
         
     | 
| 
      
 10 
     | 
    
         
            +
                  yield(self)
         
     | 
| 
      
 11 
     | 
    
         
            +
                end
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                def self.site
         
     | 
| 
      
 14 
     | 
    
         
            +
                  @@site
         
     | 
| 
      
 15 
     | 
    
         
            +
                end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                # TODO: Tirar o setter de site
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                def self.site=(site)
         
     | 
| 
      
 20 
     | 
    
         
            +
                  @@site = site
         
     | 
| 
      
 21 
     | 
    
         
            +
                end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                def self.token
         
     | 
| 
      
 24 
     | 
    
         
            +
                  @@token
         
     | 
| 
      
 25 
     | 
    
         
            +
                end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                def self.token=(token)
         
     | 
| 
      
 28 
     | 
    
         
            +
                  @@token = token
         
     | 
| 
      
 29 
     | 
    
         
            +
                  Iugu::Api::IuguResource.user = token
         
     | 
| 
      
 30 
     | 
    
         
            +
                end
         
     | 
| 
      
 31 
     | 
    
         
            +
              end
         
     | 
| 
      
 32 
     | 
    
         
            +
            end
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
            require 'iugu-api/models/iugu_resource.rb'
         
     | 
| 
      
 35 
     | 
    
         
            +
            require 'iugu-api/models/invoice'
         
     | 
| 
      
 36 
     | 
    
         
            +
            require 'iugu-api/models/invoice_log'
         
     | 
| 
      
 37 
     | 
    
         
            +
            require 'iugu-api/models/plan'
         
     | 
| 
      
 38 
     | 
    
         
            +
            require 'iugu-api/models/plan_feature'
         
     | 
| 
      
 39 
     | 
    
         
            +
            require 'iugu-api/models/plan_price'
         
     | 
| 
      
 40 
     | 
    
         
            +
            require 'iugu-api/models/account_payment'
         
     | 
| 
      
 41 
     | 
    
         
            +
            require 'iugu-api/models/web_hook'
         
     | 
| 
      
 42 
     | 
    
         
            +
            require 'iugu-api/models/subscription'
         
     | 
| 
         @@ -0,0 +1,113 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'active_resource/validations'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module ActiveResource
         
     | 
| 
      
 4 
     | 
    
         
            +
              class ResourceInvalid < ClientError  #:nodoc:
         
     | 
| 
      
 5 
     | 
    
         
            +
              end
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              # Active Resource validation is reported to and from this object, which is used by Base#save
         
     | 
| 
      
 8 
     | 
    
         
            +
              # to determine whether the object in a valid state to be saved. See usage example in Validations.
         
     | 
| 
      
 9 
     | 
    
         
            +
              class Errors < ActiveModel::Errors
         
     | 
| 
      
 10 
     | 
    
         
            +
                # Grabs errors from an array of messages (like ActiveRecord::Validations).
         
     | 
| 
      
 11 
     | 
    
         
            +
                # The second parameter directs the errors cache to be cleared (default)
         
     | 
| 
      
 12 
     | 
    
         
            +
                # or not (by passing true).
         
     | 
| 
      
 13 
     | 
    
         
            +
                def from_array(messages, save_cache = false)
         
     | 
| 
      
 14 
     | 
    
         
            +
                  clear unless save_cache
         
     | 
| 
      
 15 
     | 
    
         
            +
                  humanized_attributes = Hash[@base.attributes.keys.map { |attr_name| [attr_name.humanize, attr_name] }]
         
     | 
| 
      
 16 
     | 
    
         
            +
                  messages.each do |message|
         
     | 
| 
      
 17 
     | 
    
         
            +
                    attr_message = humanized_attributes.keys.detect do |attr_name|
         
     | 
| 
      
 18 
     | 
    
         
            +
                      if message[0, attr_name.size + 1] == "#{attr_name} "
         
     | 
| 
      
 19 
     | 
    
         
            +
                        add humanized_attributes[attr_name], message[(attr_name.size + 1)..-1]
         
     | 
| 
      
 20 
     | 
    
         
            +
                      end
         
     | 
| 
      
 21 
     | 
    
         
            +
                    end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                    self[:base] << message if attr_message.nil?
         
     | 
| 
      
 24 
     | 
    
         
            +
                  end
         
     | 
| 
      
 25 
     | 
    
         
            +
                end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                # Grabs errors from a hash of attribute => array of errors elements
         
     | 
| 
      
 28 
     | 
    
         
            +
                # The second parameter directs the errors cache to be cleared (default)
         
     | 
| 
      
 29 
     | 
    
         
            +
                # or not (by passing true)
         
     | 
| 
      
 30 
     | 
    
         
            +
                #
         
     | 
| 
      
 31 
     | 
    
         
            +
                # Unrecognized attribute names will be humanized and added to the record's
         
     | 
| 
      
 32 
     | 
    
         
            +
                # base errors.
         
     | 
| 
      
 33 
     | 
    
         
            +
                def from_hash(messages, save_cache = false)
         
     | 
| 
      
 34 
     | 
    
         
            +
                  clear unless save_cache
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                  messages.each do |(key,errors)|
         
     | 
| 
      
 37 
     | 
    
         
            +
                    errors.each do |error|
         
     | 
| 
      
 38 
     | 
    
         
            +
                      if @base.attributes.keys.include?(key)
         
     | 
| 
      
 39 
     | 
    
         
            +
                        add key, error
         
     | 
| 
      
 40 
     | 
    
         
            +
                      elsif key == 'base'
         
     | 
| 
      
 41 
     | 
    
         
            +
                        self[:base] << error
         
     | 
| 
      
 42 
     | 
    
         
            +
                      else
         
     | 
| 
      
 43 
     | 
    
         
            +
                        # reporting an error on an attribute not in attributes
         
     | 
| 
      
 44 
     | 
    
         
            +
                        # format and add them to base
         
     | 
| 
      
 45 
     | 
    
         
            +
                        self[:base] << "#{key.humanize} #{error}"
         
     | 
| 
      
 46 
     | 
    
         
            +
                      end
         
     | 
| 
      
 47 
     | 
    
         
            +
                    end
         
     | 
| 
      
 48 
     | 
    
         
            +
                  end
         
     | 
| 
      
 49 
     | 
    
         
            +
                end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                # Grabs errors from a json response.
         
     | 
| 
      
 52 
     | 
    
         
            +
                def from_json(json, save_cache = false)
         
     | 
| 
      
 53 
     | 
    
         
            +
                  decoded = ActiveSupport::JSON.decode(json) || {} rescue {}
         
     | 
| 
      
 54 
     | 
    
         
            +
                  if decoded.kind_of?(Hash) && (decoded.has_key?('errors') || decoded.empty?)
         
     | 
| 
      
 55 
     | 
    
         
            +
                    errors = decoded['errors'] || {}
         
     | 
| 
      
 56 
     | 
    
         
            +
                    if errors.kind_of?(Array)
         
     | 
| 
      
 57 
     | 
    
         
            +
                      # 3.2.1-style with array of strings
         
     | 
| 
      
 58 
     | 
    
         
            +
                      ActiveSupport::Deprecation.warn('Returning errors as an array of strings is deprecated.')
         
     | 
| 
      
 59 
     | 
    
         
            +
                      from_array errors, save_cache
         
     | 
| 
      
 60 
     | 
    
         
            +
                    else
         
     | 
| 
      
 61 
     | 
    
         
            +
                      # 3.2.2+ style
         
     | 
| 
      
 62 
     | 
    
         
            +
                      from_hash errors, save_cache
         
     | 
| 
      
 63 
     | 
    
         
            +
                    end
         
     | 
| 
      
 64 
     | 
    
         
            +
                  else
         
     | 
| 
      
 65 
     | 
    
         
            +
                    # <3.2-style respond_with - lacks 'errors' key
         
     | 
| 
      
 66 
     | 
    
         
            +
                    ActiveSupport::Deprecation.warn('Returning errors as a hash without a root "errors" key is deprecated.')
         
     | 
| 
      
 67 
     | 
    
         
            +
                    from_hash decoded, save_cache
         
     | 
| 
      
 68 
     | 
    
         
            +
                  end
         
     | 
| 
      
 69 
     | 
    
         
            +
                end
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
                # Grabs errors from an XML response.
         
     | 
| 
      
 72 
     | 
    
         
            +
                def from_xml(xml, save_cache = false)
         
     | 
| 
      
 73 
     | 
    
         
            +
                  array = Array.wrap(Hash.from_xml(xml)['errors']['error']) rescue []
         
     | 
| 
      
 74 
     | 
    
         
            +
                  from_array array, save_cache
         
     | 
| 
      
 75 
     | 
    
         
            +
                end
         
     | 
| 
      
 76 
     | 
    
         
            +
              end
         
     | 
| 
      
 77 
     | 
    
         
            +
            end
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
            module Iugu
         
     | 
| 
      
 80 
     | 
    
         
            +
              module Api
         
     | 
| 
      
 81 
     | 
    
         
            +
                class IuguResource < ActiveResource::Base
         
     | 
| 
      
 82 
     | 
    
         
            +
                  ActiveResource::Base.include_root_in_json = false
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
                  self.site = Iugu::Api.site
         
     | 
| 
      
 85 
     | 
    
         
            +
                  self.prefix = '/api/v1/'
         
     | 
| 
      
 86 
     | 
    
         
            +
                  self.format = :json
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
                  def virtual_attributes
         
     | 
| 
      
 89 
     | 
    
         
            +
                    [] 
         
     | 
| 
      
 90 
     | 
    
         
            +
                  end
         
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
                  def build_options( options={} )
         
     | 
| 
      
 93 
     | 
    
         
            +
                    options.merge( { :except => virtual_attributes } )
         
     | 
| 
      
 94 
     | 
    
         
            +
                  end
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
                  def to_json(options={})
         
     | 
| 
      
 97 
     | 
    
         
            +
                    super(build_options(include_root_in_json ? { :root => self.class.element_name }.merge(options) : { root: nil }.merge(options)))
         
     | 
| 
      
 98 
     | 
    
         
            +
                  end
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
                  def to_xml(options={})
         
     | 
| 
      
 101 
     | 
    
         
            +
                    super( build_options({ :root => self.class.element_name }.merge(options)) )
         
     | 
| 
      
 102 
     | 
    
         
            +
                  end
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
                  def self.find(*args)
         
     | 
| 
      
 105 
     | 
    
         
            +
                    options = args.last.is_a?(Hash) ? args.pop : {}
         
     | 
| 
      
 106 
     | 
    
         
            +
                    options[:params] = Hash.new if options[:params].nil?
         
     | 
| 
      
 107 
     | 
    
         
            +
                    args.push(options)
         
     | 
| 
      
 108 
     | 
    
         
            +
                    super
         
     | 
| 
      
 109 
     | 
    
         
            +
                  end
         
     | 
| 
      
 110 
     | 
    
         
            +
             
     | 
| 
      
 111 
     | 
    
         
            +
                end
         
     | 
| 
      
 112 
     | 
    
         
            +
              end
         
     | 
| 
      
 113 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,13 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Iugu
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Api
         
     | 
| 
      
 3 
     | 
    
         
            +
                class Plan < IuguResource
         
     | 
| 
      
 4 
     | 
    
         
            +
                  def features(scope = :all)
         
     | 
| 
      
 5 
     | 
    
         
            +
                    Iugu::Api::PlanFeature.find(scope, :params => {:plan_id => self.id})
         
     | 
| 
      
 6 
     | 
    
         
            +
                  end
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                  def prices(scope = :all)
         
     | 
| 
      
 9 
     | 
    
         
            +
                    Iugu::Api::PlanPrice.find(scope, :params => {:plan_id => self.id})
         
     | 
| 
      
 10 
     | 
    
         
            +
                  end
         
     | 
| 
      
 11 
     | 
    
         
            +
                end
         
     | 
| 
      
 12 
     | 
    
         
            +
              end
         
     | 
| 
      
 13 
     | 
    
         
            +
            end
         
     | 
| 
         Binary file 
     | 
    
        metadata
    ADDED
    
    | 
         @@ -0,0 +1,64 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            --- !ruby/object:Gem::Specification
         
     | 
| 
      
 2 
     | 
    
         
            +
            name: iugu-api
         
     | 
| 
      
 3 
     | 
    
         
            +
            version: !ruby/object:Gem::Version
         
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.0.1b
         
     | 
| 
      
 5 
     | 
    
         
            +
              prerelease: 5
         
     | 
| 
      
 6 
     | 
    
         
            +
            platform: ruby
         
     | 
| 
      
 7 
     | 
    
         
            +
            authors:
         
     | 
| 
      
 8 
     | 
    
         
            +
            - Alexandre Paez
         
     | 
| 
      
 9 
     | 
    
         
            +
            autorequire: 
         
     | 
| 
      
 10 
     | 
    
         
            +
            bindir: bin
         
     | 
| 
      
 11 
     | 
    
         
            +
            cert_chain: []
         
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2012-11-26 00:00:00.000000000 Z
         
     | 
| 
      
 13 
     | 
    
         
            +
            dependencies: []
         
     | 
| 
      
 14 
     | 
    
         
            +
            description: Iugu API access
         
     | 
| 
      
 15 
     | 
    
         
            +
            email:
         
     | 
| 
      
 16 
     | 
    
         
            +
            - alepaezseq@gmail.com
         
     | 
| 
      
 17 
     | 
    
         
            +
            executables: []
         
     | 
| 
      
 18 
     | 
    
         
            +
            extensions: []
         
     | 
| 
      
 19 
     | 
    
         
            +
            extra_rdoc_files: []
         
     | 
| 
      
 20 
     | 
    
         
            +
            files:
         
     | 
| 
      
 21 
     | 
    
         
            +
            - .gitignore
         
     | 
| 
      
 22 
     | 
    
         
            +
            - Gemfile
         
     | 
| 
      
 23 
     | 
    
         
            +
            - Gemfile.lock
         
     | 
| 
      
 24 
     | 
    
         
            +
            - LICENSE.txt
         
     | 
| 
      
 25 
     | 
    
         
            +
            - README.md
         
     | 
| 
      
 26 
     | 
    
         
            +
            - Rakefile
         
     | 
| 
      
 27 
     | 
    
         
            +
            - iugu-api.gemspec
         
     | 
| 
      
 28 
     | 
    
         
            +
            - lib/iugu-api.rb
         
     | 
| 
      
 29 
     | 
    
         
            +
            - lib/iugu-api/models/account_payment.rb
         
     | 
| 
      
 30 
     | 
    
         
            +
            - lib/iugu-api/models/invoice.rb
         
     | 
| 
      
 31 
     | 
    
         
            +
            - lib/iugu-api/models/invoice_log.rb
         
     | 
| 
      
 32 
     | 
    
         
            +
            - lib/iugu-api/models/iugu_resource.rb
         
     | 
| 
      
 33 
     | 
    
         
            +
            - lib/iugu-api/models/plan.rb
         
     | 
| 
      
 34 
     | 
    
         
            +
            - lib/iugu-api/models/plan_feature.rb
         
     | 
| 
      
 35 
     | 
    
         
            +
            - lib/iugu-api/models/plan_price.rb
         
     | 
| 
      
 36 
     | 
    
         
            +
            - lib/iugu-api/models/subscription.rb
         
     | 
| 
      
 37 
     | 
    
         
            +
            - lib/iugu-api/models/web_hook.rb
         
     | 
| 
      
 38 
     | 
    
         
            +
            - lib/iugu-api/version.rb
         
     | 
| 
      
 39 
     | 
    
         
            +
            - pkg/iugu-api-0.0.1.gem
         
     | 
| 
      
 40 
     | 
    
         
            +
            homepage: ''
         
     | 
| 
      
 41 
     | 
    
         
            +
            licenses: []
         
     | 
| 
      
 42 
     | 
    
         
            +
            post_install_message: 
         
     | 
| 
      
 43 
     | 
    
         
            +
            rdoc_options: []
         
     | 
| 
      
 44 
     | 
    
         
            +
            require_paths:
         
     | 
| 
      
 45 
     | 
    
         
            +
            - lib
         
     | 
| 
      
 46 
     | 
    
         
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 47 
     | 
    
         
            +
              none: false
         
     | 
| 
      
 48 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 49 
     | 
    
         
            +
              - - ! '>='
         
     | 
| 
      
 50 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 51 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
      
 52 
     | 
    
         
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 53 
     | 
    
         
            +
              none: false
         
     | 
| 
      
 54 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 55 
     | 
    
         
            +
              - - ! '>'
         
     | 
| 
      
 56 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 57 
     | 
    
         
            +
                  version: 1.3.1
         
     | 
| 
      
 58 
     | 
    
         
            +
            requirements: []
         
     | 
| 
      
 59 
     | 
    
         
            +
            rubyforge_project: 
         
     | 
| 
      
 60 
     | 
    
         
            +
            rubygems_version: 1.8.24
         
     | 
| 
      
 61 
     | 
    
         
            +
            signing_key: 
         
     | 
| 
      
 62 
     | 
    
         
            +
            specification_version: 3
         
     | 
| 
      
 63 
     | 
    
         
            +
            summary: Iugu API access
         
     | 
| 
      
 64 
     | 
    
         
            +
            test_files: []
         
     |