Skip to content
This repository has been archived by the owner on Mar 11, 2024. It is now read-only.

Commit

Permalink
Merge pull request #7 from aceofsales/update-test-suite
Browse files Browse the repository at this point in the history
Update test suite and fix nested hashes
  • Loading branch information
jeremywrowe committed Jan 17, 2013
2 parents 7264e7a + 6c3e158 commit a478c93
Show file tree
Hide file tree
Showing 12 changed files with 121 additions and 242 deletions.
19 changes: 4 additions & 15 deletions Gemfile
@@ -1,19 +1,8 @@
source "http://rubygems.org"
gem 'httparty'
gem 'addressable'
gem 'hashie'
gem 'hashery'

# Add dependencies to develop your gem here.
# Include everything needed to run rake, tests, features, etc.
# Specify your gem's dependencies in chargify2.gemspec
gemspec

group :development do
gem "rspec", "~> 2.3.0"
gem "yard", "~> 0.6.0"
gem "bundler", "~> 1.0.0"
gem "jeweler", "~> 1.5.2"
gem "rcov", ">= 0"
gem "webmock"
gem "vcr"
gem "capybara"
gem "ruby-debug19", :platforms => [:ruby_19]
gem "debugger", :platforms => [:ruby_19]
end
135 changes: 63 additions & 72 deletions Gemfile.lock
@@ -1,91 +1,82 @@
PATH
remote: .
specs:
chargify2 (0.2.2)
hashery (~> 2.0.1)
hashie
httparty
rack

GEM
remote: http://rubygems.org/
specs:
addressable (2.2.5)
archive-tar-minitar (0.5.2)
capybara (0.4.1.2)
celerity (>= 0.7.9)
culerity (>= 0.2.4)
addressable (2.3.2)
capybara (1.1.2)
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
rack (>= 1.0.0)
rack-test (>= 0.5.4)
selenium-webdriver (>= 0.0.27)
xpath (~> 0.1.3)
celerity (0.8.9)
childprocess (0.1.8)
ffi (~> 1.0.6)
columnize (0.3.4)
crack (0.1.8)
culerity (0.2.15)
diff-lcs (1.1.2)
ffi (1.0.7)
rake (>= 0.8.7)
git (1.2.5)
hashery (1.4.0)
hashie (1.0.0)
httparty (0.7.4)
crack (= 0.1.8)
jeweler (1.5.2)
bundler (~> 1.0.0)
git (>= 1.2.5)
rake
json_pure (1.5.1)
linecache19 (0.5.12)
ruby_core_source (>= 0.1.4)
mime-types (1.16)
nokogiri (1.4.4)
rack (1.2.2)
rack-test (0.5.7)
rack (>= 1.0)
rake (0.8.7)
rcov (0.9.9)
rspec (2.3.0)
rspec-core (~> 2.3.0)
rspec-expectations (~> 2.3.0)
rspec-mocks (~> 2.3.0)
rspec-core (2.3.1)
rspec-expectations (2.3.0)
diff-lcs (~> 1.1.2)
rspec-mocks (2.3.0)
ruby-debug-base19 (0.11.25)
selenium-webdriver (~> 2.0)
xpath (~> 0.1.4)
childprocess (0.3.5)
ffi (~> 1.0, >= 1.0.6)
columnize (0.3.6)
crack (0.3.1)
debugger (1.2.0)
columnize (>= 0.3.1)
linecache19 (>= 0.5.11)
ruby_core_source (>= 0.1.4)
ruby-debug19 (0.11.6)
columnize (>= 0.3.1)
linecache19 (>= 0.5.11)
ruby-debug-base19 (>= 0.11.19)
ruby_core_source (0.1.5)
archive-tar-minitar (>= 0.5.2)
rubyzip (0.9.4)
selenium-webdriver (0.1.4)
childprocess (>= 0.1.7)
ffi (>= 1.0.7)
json_pure
debugger-linecache (~> 1.1.1)
debugger-ruby_core_source (~> 1.1.3)
debugger-linecache (1.1.2)
debugger-ruby_core_source (>= 1.1.1)
debugger-ruby_core_source (1.1.3)
diff-lcs (1.1.3)
ffi (1.1.5)
hashery (2.0.1)
hashie (1.2.0)
httparty (0.9.0)
multi_json (~> 1.0)
multi_xml
libwebsocket (0.1.5)
addressable
mime-types (1.19)
multi_json (1.3.6)
multi_xml (0.5.1)
nokogiri (1.5.5)
rack (1.4.1)
rack-test (0.6.1)
rack (>= 1.0)
rake (0.9.2.2)
rspec (2.11.0)
rspec-core (~> 2.11.0)
rspec-expectations (~> 2.11.0)
rspec-mocks (~> 2.11.0)
rspec-core (2.11.1)
rspec-expectations (2.11.3)
diff-lcs (~> 1.1.3)
rspec-mocks (2.11.2)
rubyzip (0.9.9)
selenium-webdriver (2.25.0)
childprocess (>= 0.2.5)
libwebsocket (~> 0.1.3)
multi_json (~> 1.0)
rubyzip
vcr (1.9.0)
webmock (1.6.2)
addressable (>= 2.2.2)
vcr (2.2.5)
webmock (1.8.10)
addressable (>= 2.2.7)
crack (>= 0.1.7)
xpath (0.1.3)
xpath (0.1.4)
nokogiri (~> 1.3)
yard (0.6.7)
yard (0.8.2.1)

PLATFORMS
ruby

DEPENDENCIES
addressable
bundler (~> 1.0.0)
capybara
hashery
hashie
httparty
jeweler (~> 1.5.2)
rcov
rspec (~> 2.3.0)
ruby-debug19
chargify2!
debugger
rake (~> 0.9.2.2)
rspec (~> 2.11.0)
vcr
webmock
yard (~> 0.6.0)
yard (~> 0.8.0)
30 changes: 1 addition & 29 deletions Rakefile
@@ -1,38 +1,10 @@
require 'rubygems'
require 'bundler'
begin
Bundler.setup(:default, :development)
rescue Bundler::BundlerError => e
$stderr.puts e.message
$stderr.puts "Run `bundle install` to install missing gems"
exit e.status_code
end
require 'rake'

require 'jeweler'
Jeweler::Tasks.new do |gem|
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
gem.name = "chargify2"
gem.homepage = "http://github.com/chargify/chargify2"
gem.license = "MIT"
gem.summary = %Q{Chargify API V2 Ruby Wrapper}
gem.description = %Q{}
gem.email = "michael@webadvocate.com"
gem.authors = ["Michael Klett"]
end
Jeweler::RubygemsDotOrgTasks.new
require 'bundler/gem_tasks'

require 'rspec/core'
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec) do |spec|
spec.pattern = FileList['spec/**/*_spec.rb']
end

RSpec::Core::RakeTask.new(:rcov) do |spec|
spec.pattern = 'spec/**/*_spec.rb'
spec.rcov = true
end

task :default => :spec

require 'yard'
Expand Down
120 changes: 24 additions & 96 deletions chargify2.gemspec
@@ -1,105 +1,33 @@
# Generated by jeweler
# DO NOT EDIT THIS FILE DIRECTLY
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
# -*- encoding: utf-8 -*-

Gem::Specification.new do |s|
s.name = %q{chargify2}
s.version = "0.2.2"

s.specification_version = 3 if s.respond_to? :specification_version=
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
s.rubygems_version = '1.6.2'

s.name = 'chargify2'
s.version = '0.2.2'
s.date = '2011-10-28'
s.summary = %q{Chargify API V2 Ruby Wrapper}
s.description = ''
s.authors = ["Michael Klett", "Shay Frendt"]
s.date = %q{2011-10-28}
s.description = %q{}
s.email = %q{michael@webadvocate.com}
s.extra_rdoc_files = [
"LICENSE.txt",
"README.md"
]
s.files = [
".document",
".rspec",
".travis.yml",
"Gemfile",
"Gemfile.lock",
"LICENSE.txt",
"README.md",
"Rakefile",
"VERSION",
"chargify2.gemspec",
"lib/chargify2.rb",
"lib/chargify2/client.rb",
"lib/chargify2/direct.rb",
"lib/chargify2/representations/call.rb",
"lib/chargify2/resource.rb",
"lib/chargify2/resources/call_resource.rb",
"lib/chargify2/utils.rb",
"spec/call_resource_spec.rb",
"spec/client_spec.rb",
"spec/direct_response_parameters_spec.rb",
"spec/direct_secure_parameters_spec.rb",
"spec/direct_spec.rb",
"spec/spec_helper.rb",
"spec/support/spec_helper_methods.rb"
]
s.homepage = %q{http://github.com/chargify/chargify2}
s.licenses = ["MIT"]
s.require_paths = ["lib"]
s.rubygems_version = %q{1.6.2}
s.summary = %q{Chargify API V2 Ruby Wrapper}
s.test_files = [
"spec/call_resource_spec.rb",
"spec/client_spec.rb",
"spec/direct_response_parameters_spec.rb",
"spec/direct_secure_parameters_spec.rb",
"spec/direct_spec.rb",
"spec/spec_helper.rb",
"spec/support/spec_helper_methods.rb"
]

if s.respond_to? :specification_version then
s.specification_version = 3
s.files = `git ls-files`.split("\n")
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
s.require_paths = %w[lib]

if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
s.add_runtime_dependency(%q<httparty>, [">= 0"])
s.add_runtime_dependency(%q<addressable>, [">= 0"])
s.add_runtime_dependency(%q<hashie>, [">= 0"])
s.add_runtime_dependency(%q<hashery>, [">= 0"])
s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
s.add_development_dependency(%q<yard>, ["~> 0.6.0"])
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
s.add_development_dependency(%q<rcov>, [">= 0"])
s.add_development_dependency(%q<webmock>, [">= 0"])
s.add_development_dependency(%q<vcr>, [">= 0"])
s.add_development_dependency(%q<capybara>, [">= 0"])
else
s.add_dependency(%q<httparty>, [">= 0"])
s.add_dependency(%q<addressable>, [">= 0"])
s.add_dependency(%q<hashie>, [">= 0"])
s.add_dependency(%q<hashery>, [">= 0"])
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
s.add_dependency(%q<yard>, ["~> 0.6.0"])
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
s.add_dependency(%q<rcov>, [">= 0"])
s.add_dependency(%q<webmock>, [">= 0"])
s.add_dependency(%q<vcr>, [">= 0"])
s.add_dependency(%q<capybara>, [">= 0"])
end
else
s.add_dependency(%q<httparty>, [">= 0"])
s.add_dependency(%q<addressable>, [">= 0"])
s.add_dependency(%q<hashie>, [">= 0"])
s.add_dependency(%q<hashery>, [">= 0"])
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
s.add_dependency(%q<yard>, ["~> 0.6.0"])
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
s.add_dependency(%q<rcov>, [">= 0"])
s.add_dependency(%q<webmock>, [">= 0"])
s.add_dependency(%q<vcr>, [">= 0"])
s.add_dependency(%q<capybara>, [">= 0"])
end
end
# Runtime Dependencies
s.add_runtime_dependency('rack', '>= 0')
s.add_runtime_dependency('hashery', '~> 2.0.1')
s.add_runtime_dependency('hashie', '>= 0')
s.add_runtime_dependency('httparty', '>= 0')

# Development Dependencies
s.add_development_dependency('rake', '~> 0.9.2.2')
s.add_development_dependency('rspec', '~> 2.11.0')
s.add_development_dependency('capybara', '>= 0')
s.add_development_dependency('vcr', '>= 0')
s.add_development_dependency('webmock', '>= 0')
s.add_development_dependency('yard', '~> 0.8.0')
end
4 changes: 2 additions & 2 deletions lib/chargify2.rb
@@ -1,7 +1,7 @@
require 'httparty'
require 'addressable/uri'
require 'rack'
require 'hashie'
require 'hashery/opencascade'
require 'hashery/open_cascade'

require 'chargify2/utils'
require 'chargify2/direct'
Expand Down
4 changes: 1 addition & 3 deletions lib/chargify2/direct.rb
Expand Up @@ -68,9 +68,7 @@ def to_form_inputs

def encoded_data
hash = data? ? data : {}
uri = Addressable::URI.new
uri.query_values = hash
uri.query
Rack::Utils.build_nested_query(hash)
end

def signature
Expand Down
12 changes: 6 additions & 6 deletions lib/chargify2/representations/call.rb
Expand Up @@ -9,22 +9,22 @@ class Call < Hashie::Dash
property :response

def request
Request.new(self[:request] || {})
Request[self[:request] || {}]
end

def response
Response.new(self[:response] || {})
Response[self[:response] || {}]
end

def successful?
response.result.status_code.to_s == '200'
end

def errors
(response.result.errors || []).map {|e| OpenCascade.new(e.symbolize_keys)}
(response.result.errors || []).map {|e| Hashery::OpenCascade[e.symbolize_keys]}
end

class Request < OpenCascade; end
class Response < OpenCascade; end
class Request < Hashery::OpenCascade; end
class Response < Hashery::OpenCascade; end
end
end
end

0 comments on commit a478c93

Please sign in to comment.