slidepay 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 83778705a23a1f6a5e99703eb71378d771ddf692
4
- data.tar.gz: a17a2085f2568a65c4e8048714b4917618e06c93
3
+ metadata.gz: 6f02a6a0033d97c8e58e010e55bb11c3cce8bfae
4
+ data.tar.gz: 310224996914ac9859979addc22cb12ac10db09a
5
5
  SHA512:
6
- metadata.gz: 7165aad1cdda93fd228367c5d823313270d7f3f6c457a17557cfbacb0411c859e24bd9c15cb4403dde6f912671d9b07057bb93e0df83c9c6f317c80ecb939e26
7
- data.tar.gz: 927b27f371a156d55a7e428ae31ff8fe1a87226796e2e95f124604251619e68c941518fa727159687431176ebef43b48676dfbfda37000694db5f7337c0ffabb
6
+ metadata.gz: dcd535a7b5947ca00dd800e31eec00e75b9b9782ee03761f8a589fd61519d39a472bd599ad6b853dff53a872c59507dd41ee4e22d6b6cd779bbfefba898ff7e4
7
+ data.tar.gz: ad170f2b29a6290fa6ce503aadc26a5c31fa71be71dbd372751c404236701f44678721eead60e4486a98ace8063a49b4db5f9dc940cf93fa3bec9c80fea0ee75
@@ -15,7 +15,10 @@ require "slidepay/client"
15
15
  require "slidepay/resources/api_resource"
16
16
  require "slidepay/resources/api_key"
17
17
  require "slidepay/resources/payment"
18
+ require "slidepay/resources/user_master"
18
19
  require "slidepay/resources/bank_account"
20
+ require "slidepay/resources/company"
21
+ require "slidepay/resources/location"
19
22
 
20
23
  module SlidePay
21
24
  class << self
@@ -1,5 +1,8 @@
1
1
  module SlidePay
2
2
  class ApiKey < ApiResource
3
+ URL_ROOT = "api_key"
4
+ ID_ATTRIBUTE = "api_key_id"
5
+
3
6
  def initialize(values_hash={})
4
7
  @url_root = "api_key"
5
8
  @id_attribute = "api_key_id"
@@ -119,6 +119,29 @@ module SlidePay
119
119
  end
120
120
 
121
121
  class << self
122
+
123
+ def find(search_params, token=nil, api_key=nil, endpoint=nil)
124
+ # Make sure the search parameters are valid
125
+ # raise Exception.new("Invalid search filter supplied.") unless validate_search_filters(search_params)
126
+
127
+ if search_params.is_a? Hash
128
+ search_params = [search_params]
129
+ elsif not search_params.is_a? Array
130
+ raise Exception.new("Invalid or no search filter supplied.")
131
+ end
132
+
133
+ search_results = []
134
+ response = SlidePay.put(path: self::URL_ROOT, data: search_params.to_json, token: token, api_key: api_key, endpoint: endpoint)
135
+ if response.was_successful? and response.data != nil
136
+ data = response.data
137
+ data.each do |resource_hash|
138
+ search_results.push self.new(resource_hash)
139
+ end
140
+ end
141
+
142
+ search_results
143
+ end
144
+
122
145
  def find_where(search_params, token=nil, api_key=nil, endpoint=nil)
123
146
  sfa = []
124
147
  search_params.each_pair do |k,v|
@@ -0,0 +1,14 @@
1
+ module SlidePay
2
+ class Company < ApiResource
3
+ URL_ROOT = "company"
4
+ ID_ATTRIBUTE = "company_id"
5
+
6
+ def initialize(values_hash={})
7
+ @url_root = "company"
8
+ @id_attribute = "company_id"
9
+
10
+ super(values_hash)
11
+ end
12
+
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ module SlidePay
2
+ class Location < ApiResource
3
+ URL_ROOT = "location"
4
+ ID_ATTRIBUTE = "location_id"
5
+
6
+ def initialize(values_hash={})
7
+ @url_root = "location"
8
+ @id_attribute = "location_id"
9
+
10
+ super(values_hash)
11
+ end
12
+
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ module SlidePay
2
+ class UserMaster < ApiResource
3
+ URL_ROOT = "user_master"
4
+ ID_ATTRIBUTE = "user_master_id"
5
+
6
+ def initialize(values_hash={})
7
+ @url_root = "user_master"
8
+ @id_attribute = "user_master_id"
9
+
10
+ super(values_hash)
11
+ end
12
+ end
13
+ end
@@ -1,3 +1,3 @@
1
1
  module SlidePay
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -0,0 +1,19 @@
1
+ $:.unshift(Fice.join(Fice.dirname(__FILE__), 'lib'))
2
+ $:.unshift(File.join(File.dirname(__FILE__), 'spec'))
3
+
4
+ require 'multi_json'
5
+ require 'slidepay'
6
+ require 'spec_helper'
7
+
8
+ include SlidePay
9
+
10
+ SlidePay.configure(development: true)
11
+ SlidePay.api_key = ENV["api_key"]
12
+
13
+ RestClient.proxy = "http://127.0.0.1:8888"
14
+
15
+ c = Company.new
16
+ c['company_id'] = ENV["company_id"]
17
+ c.retrieve()
18
+
19
+ puts "company: #{c}"
@@ -12,14 +12,8 @@ SlidePay.api_key = ENV["api_key"]
12
12
 
13
13
  # RestClient.proxy = "http://127.0.0.1:8888"
14
14
 
15
- # a = ApiKey.new
16
- # a["api_key_id"] = 17
17
- # a.is_new?
18
- # a.id_attribute
19
- # a.retrieve()
20
-
21
15
  p = Payment.new
22
- p["amount"] = 1.01
16
+ p["amount"] = 2.01
23
17
  p["method"] = "CreditCard"
24
18
  p["cc_number"] = "4111111111111111"
25
19
  p["cc_cvv2"] = "111"
@@ -27,6 +21,11 @@ p["cc_billing_zip"] = "11111"
27
21
  p["cc_expiry_month"] = "10"
28
22
  p["cc_expiry_year"] = "14"
29
23
  r = p.process()
30
- p.refund()
24
+ # p.refund()
31
25
 
26
+ p2 = Payment.new
27
+ p2['payment_id'] = p.id
32
28
 
29
+ p2.retrieve()
30
+ p2['under_review'] = 1
31
+ p2.save()
@@ -0,0 +1,19 @@
1
+ $:.unshift(File.join(File.dirname(__FILE__), 'lib'))
2
+ $:.unshift(File.join(File.dirname(__FILE__), 'spec'))
3
+
4
+ require 'multi_json'
5
+ require 'slidepay'
6
+ require 'spec_helper'
7
+
8
+ include SlidePay
9
+
10
+ SlidePay.configure(development: true)
11
+ SlidePay.api_key = ENV["api_key"]
12
+
13
+ RestClient.proxy = "http://127.0.0.1:8888"
14
+
15
+ l = Location.new
16
+ l['location_id'] = ENV["location_id"]
17
+ l.retrieve()
18
+
19
+ puts "Location: #{l}"
@@ -0,0 +1,29 @@
1
+ $:.unshift(File.join(File.dirname(__FILE__), 'lib'))
2
+ $:.unshift(File.join(File.dirname(__FILE__), 'spec'))
3
+
4
+ require 'multi_json'
5
+ require 'slidepay'
6
+ require 'spec_helper'
7
+
8
+ include SlidePay
9
+
10
+ SlidePay.configure(development: true)
11
+ SlidePay.api_key = ENV["api_key"]
12
+
13
+ RestClient.proxy = "http://127.0.0.1:8888"
14
+
15
+
16
+ puts "Finding UserMaster objects where first_name 'contains' 'at':"
17
+ puts "======================================================================"
18
+
19
+ users = UserMaster.find(field: "first_name", condition: "contains", value: "at")
20
+ if users.is_a? Array
21
+ puts "Retrieved an array of #{users.length} users"
22
+
23
+ users.each do |user|
24
+ puts "User found: #{user}"
25
+ end
26
+
27
+ else
28
+ puts "Did not get an array back!! Retrieved: #{users}"
29
+ end
@@ -233,12 +233,41 @@ describe SlidePay::ApiResource do
233
233
  it "should be represented by several instance methods" do
234
234
  public_methods = SlidePay::ApiResource.public_methods
235
235
 
236
+ expect(public_methods.include?(:find)).to be_true
236
237
  expect(public_methods.include?(:find_where)).to be_true
237
238
  expect(public_methods.include?(:find_greater_than)).to be_true
238
239
  expect(public_methods.include?(:find_less_than)).to be_true
239
240
  expect(public_methods.include?(:find_between)).to be_true
240
241
  end
241
242
 
243
+ describe "find" do
244
+ it "should raise an error if no parameters are supplied" do
245
+ expect{ SlidePay::ApiResource.find }.to raise_error
246
+ end
247
+
248
+ # it "should raise an error if the parameters are not search filter arrays" do
249
+ # expect{ SlidePay::ApiResource.find(name: "doug") }.to raise_error
250
+ # end
251
+
252
+ it "should accept a hash" do
253
+ expect { SlidePay::ApiResource.find(field: "name", condition: "contains", value: "doug") }.not_to raise_error
254
+ end
255
+
256
+ it "should accept an array of hashes" do
257
+ search_filter_array = [{field: "name", condition: "contains", value: "doug"}, {field: "created", condition: "greater_than", value: "10/01/2013"}]
258
+ expect { SlidePay::ApiResource.find(search_filter_array) }.not_to raise_error
259
+ end
260
+
261
+ it "should return an array of resources" do
262
+ expect(SlidePay::ApiResource.find(field: "name", condition: "contains", value: "doug")).to be_a(Array)
263
+ end
264
+
265
+ it "should make a put request" do
266
+ SlidePay.should_receive(:put).and_return(a_response_object(successful_array_response))
267
+ SlidePay::ApiResource.find(field: "name", condition: "contains", value: "doug")
268
+ end
269
+ end
270
+
242
271
  describe "find_where" do
243
272
  it "should raise an error if no parameters are supplied" do
244
273
  expect{ SlidePay::ApiResource.find_where }.to raise_error
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slidepay
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Rothstein
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-10 00:00:00.000000000 Z
11
+ date: 2013-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -160,13 +160,19 @@ files:
160
160
  - lib/slidepay/resources/api_key.rb
161
161
  - lib/slidepay/resources/api_resource.rb
162
162
  - lib/slidepay/resources/bank_account.rb
163
+ - lib/slidepay/resources/company.rb
164
+ - lib/slidepay/resources/location.rb
163
165
  - lib/slidepay/resources/payment.rb
166
+ - lib/slidepay/resources/user_master.rb
164
167
  - lib/slidepay/response.rb
165
168
  - lib/slidepay/util.rb
166
169
  - lib/slidepay/version.rb
170
+ - scenarios/company_retrieve.rb
167
171
  - scenarios/example.rb
172
+ - scenarios/location_retrieve.rb
168
173
  - scenarios/payment_find_where_id.rb
169
174
  - scenarios/payment_find_where_under_review.rb
175
+ - scenarios/user_master_find_with_first_name_fragment.rb
170
176
  - slidepay.gemspec
171
177
  - spec/api_key_spec.rb
172
178
  - spec/api_resource_spec.rb