httparty 0.1.6 → 0.1.7
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.
Potentially problematic release.
This version of httparty might be problematic. Click here for more details.
- data/History.txt +4 -0
- data/httparty.gemspec +2 -2
- data/lib/httparty.rb +32 -3
- data/lib/httparty/version.rb +1 -1
- data/spec/httparty_spec.rb +16 -2
- metadata +2 -2
    
        data/History.txt
    CHANGED
    
    
    
        data/httparty.gemspec
    CHANGED
    
    | @@ -2,11 +2,11 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            Gem::Specification.new do |s|
         | 
| 4 4 | 
             
              s.name = %q{httparty}
         | 
| 5 | 
            -
              s.version = "0.1. | 
| 5 | 
            +
              s.version = "0.1.7"
         | 
| 6 6 |  | 
| 7 7 | 
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         | 
| 8 8 | 
             
              s.authors = ["John Nunemaker"]
         | 
| 9 | 
            -
              s.date = %q{2008-11- | 
| 9 | 
            +
              s.date = %q{2008-11-30}
         | 
| 10 10 | 
             
              s.description = %q{Makes http fun! Also, makes consuming restful web services dead easy.}
         | 
| 11 11 | 
             
              s.email = ["nunemaker@gmail.com"]
         | 
| 12 12 | 
             
              s.extra_rdoc_files = ["History.txt", "License.txt", "Manifest.txt", "PostInstall.txt", "README.txt"]
         | 
    
        data/lib/httparty.rb
    CHANGED
    
    | @@ -10,19 +10,48 @@ $:.unshift(directory) unless $:.include?(directory) || $:.include?(File.expand_p | |
| 10 10 |  | 
| 11 11 | 
             
            require 'httparty/request'
         | 
| 12 12 |  | 
| 13 | 
            +
            module ModuleLevelInheritableAttributes
         | 
| 14 | 
            +
              def self.included(base)
         | 
| 15 | 
            +
                base.extend(ClassMethods)
         | 
| 16 | 
            +
              end
         | 
| 17 | 
            +
              
         | 
| 18 | 
            +
              module ClassMethods
         | 
| 19 | 
            +
                def mattr_inheritable(*args)
         | 
| 20 | 
            +
                  @mattr_inheritable_attrs ||= [:mattr_inheritable_attrs]
         | 
| 21 | 
            +
                  @mattr_inheritable_attrs += args
         | 
| 22 | 
            +
                  args.each do |arg|
         | 
| 23 | 
            +
                    module_eval %(
         | 
| 24 | 
            +
                      class << self; attr_accessor :#{arg} end
         | 
| 25 | 
            +
                    )
         | 
| 26 | 
            +
                  end
         | 
| 27 | 
            +
                  @mattr_inheritable_attrs
         | 
| 28 | 
            +
                end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                def inherited(subclass)
         | 
| 31 | 
            +
                  @mattr_inheritable_attrs.each do |inheritable_attribute|
         | 
| 32 | 
            +
                    instance_var = "@#{inheritable_attribute}" 
         | 
| 33 | 
            +
                    subclass.instance_variable_set(instance_var, instance_variable_get(instance_var))
         | 
| 34 | 
            +
                  end
         | 
| 35 | 
            +
                end
         | 
| 36 | 
            +
              end
         | 
| 37 | 
            +
            end
         | 
| 38 | 
            +
             | 
| 13 39 | 
             
            module HTTParty
         | 
| 14 40 | 
             
              class UnsupportedFormat < StandardError; end
         | 
| 15 41 | 
             
              class RedirectionTooDeep < StandardError; end
         | 
| 16 | 
            -
             | 
| 42 | 
            +
              
         | 
| 17 43 | 
             
              AllowedFormats = {:xml => 'text/xml', :json => 'application/json', :html => 'text/html'}
         | 
| 18 44 |  | 
| 19 45 | 
             
              def self.included(base)
         | 
| 20 46 | 
             
                base.extend ClassMethods
         | 
| 47 | 
            +
                base.send :include, ModuleLevelInheritableAttributes
         | 
| 48 | 
            +
                base.send(:mattr_inheritable, :default_options)
         | 
| 49 | 
            +
                base.instance_variable_set("@default_options", {})
         | 
| 21 50 | 
             
              end
         | 
| 22 51 |  | 
| 23 | 
            -
              module ClassMethods
         | 
| 52 | 
            +
              module ClassMethods    
         | 
| 24 53 | 
             
                def default_options
         | 
| 25 | 
            -
                   | 
| 54 | 
            +
                  @default_options
         | 
| 26 55 | 
             
                end
         | 
| 27 56 |  | 
| 28 57 | 
             
                #
         | 
    
        data/lib/httparty/version.rb
    CHANGED
    
    
    
        data/spec/httparty_spec.rb
    CHANGED
    
    | @@ -5,9 +5,16 @@ class Foo | |
| 5 5 | 
             
              base_uri 'api.foo.com/v1'
         | 
| 6 6 | 
             
            end
         | 
| 7 7 |  | 
| 8 | 
            -
            class  | 
| 8 | 
            +
            class GRest
         | 
| 9 9 | 
             
              include HTTParty
         | 
| 10 | 
            -
              base_uri  | 
| 10 | 
            +
              base_uri "grest.com"
         | 
| 11 | 
            +
              default_params :one => 'two'
         | 
| 12 | 
            +
            end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            class HRest
         | 
| 15 | 
            +
              include HTTParty
         | 
| 16 | 
            +
              base_uri "hrest.com"
         | 
| 17 | 
            +
              default_params :two => 'three'
         | 
| 11 18 | 
             
            end
         | 
| 12 19 |  | 
| 13 20 | 
             
            describe HTTParty do
         | 
| @@ -117,4 +124,11 @@ describe HTTParty do | |
| 117 124 | 
             
                  end.should raise_error(HTTParty::RedirectionTooDeep)
         | 
| 118 125 | 
             
                end
         | 
| 119 126 | 
             
              end
         | 
| 127 | 
            +
              
         | 
| 128 | 
            +
              describe "with multiple class definitions" do
         | 
| 129 | 
            +
                it "should not run over each others options" do
         | 
| 130 | 
            +
                  HRest.default_options.should == {:base_uri => 'http://hrest.com', :default_params => {:two => 'three'}}
         | 
| 131 | 
            +
                  GRest.default_options.should == {:base_uri => 'http://grest.com', :default_params => {:one => 'two'}}
         | 
| 132 | 
            +
                end
         | 
| 133 | 
            +
              end
         | 
| 120 134 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: httparty
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.7
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors: 
         | 
| 7 7 | 
             
            - John Nunemaker
         | 
| @@ -9,7 +9,7 @@ autorequire: | |
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 11 |  | 
| 12 | 
            -
            date: 2008- | 
| 12 | 
            +
            date: 2008-12-01 00:00:00 -05:00
         | 
| 13 13 | 
             
            default_executable: 
         | 
| 14 14 | 
             
            dependencies: 
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency 
         |