commission_junction 1.7.2 → 1.7.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/commission_junction/version.rb +1 -1
- data/lib/commission_junction.rb +7 -2
- data/test/commission_junction_test.rb +29 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75905dfef02eddb83dc1441839a42ab720533b6b
|
4
|
+
data.tar.gz: b98a7d4ee12ea22cee9be46d9a3d027793978a90
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c300121aac7c08c9f09209100f59bee34a6228cb7d1933779c5812033efe9c65d2f9ff259ad9285fce7b5cb9af12a17d6f7b2c7e2deceda239527e0c559c896b
|
7
|
+
data.tar.gz: 283bd1a79bb664846802e503c694453e698b821d6a35e73dff0680d2ec4f0f475614f91b2c2e7b6c8e900fdcdc2735a467a5bfdc38b6fbb49434d5d68ee09c91
|
data/lib/commission_junction.rb
CHANGED
@@ -178,10 +178,15 @@ class CommissionJunction
|
|
178
178
|
# Credit: http://listlibrary.net/ruby-talk/2004/03/00sGI1cD
|
179
179
|
params.each do |key, val|
|
180
180
|
raise ArgumentError, "key must be a String; got #{key.class} instead" unless key.is_a?(String)
|
181
|
-
|
182
|
-
|
181
|
+
clean_key = clean_key_name(key)
|
182
|
+
instance_variable_set("@#{clean_key}".intern, val)
|
183
|
+
instance_eval %Q{ class << self ; attr_reader #{clean_key.intern.inspect} ; end }
|
183
184
|
end
|
184
185
|
end
|
186
|
+
|
187
|
+
def clean_key_name(name)
|
188
|
+
name.strip.gsub(/\s/, '_')
|
189
|
+
end
|
185
190
|
end
|
186
191
|
|
187
192
|
class Product < CjObject
|
@@ -389,11 +389,15 @@ class CommissionJunctionTest < Minitest::Test
|
|
389
389
|
end
|
390
390
|
end
|
391
391
|
|
392
|
+
def set_up_service
|
393
|
+
CommissionJunction.new('developer_key', 123456)
|
394
|
+
end
|
395
|
+
|
392
396
|
def test_contents_extractor_with_first_level
|
393
397
|
contents = "abc"
|
394
398
|
response = {'cj_api' => {'first' => contents}}
|
395
399
|
|
396
|
-
cj =
|
400
|
+
cj = set_up_service
|
397
401
|
|
398
402
|
assert_equal(contents, cj.extract_contents(response, "first"))
|
399
403
|
end
|
@@ -402,7 +406,7 @@ class CommissionJunctionTest < Minitest::Test
|
|
402
406
|
contents = "abc"
|
403
407
|
response = {'cj_api' => {'first' => {'second' => contents}}}
|
404
408
|
|
405
|
-
cj =
|
409
|
+
cj = set_up_service
|
406
410
|
|
407
411
|
assert_equal(contents, cj.extract_contents(response, "first", "second"))
|
408
412
|
end
|
@@ -411,7 +415,7 @@ class CommissionJunctionTest < Minitest::Test
|
|
411
415
|
contents = "abc"
|
412
416
|
response = {'cj_api' => {'error_message' => contents}}
|
413
417
|
|
414
|
-
cj =
|
418
|
+
cj = set_up_service
|
415
419
|
|
416
420
|
assert_raises ArgumentError do
|
417
421
|
cj.extract_contents(response, "first")
|
@@ -421,10 +425,31 @@ class CommissionJunctionTest < Minitest::Test
|
|
421
425
|
def test_contents_extractor_with_no_cj_api
|
422
426
|
response = {}
|
423
427
|
|
424
|
-
cj =
|
428
|
+
cj = set_up_service
|
425
429
|
|
426
430
|
assert_raises ArgumentError do
|
427
431
|
cj.extract_contents(response, "first")
|
428
432
|
end
|
429
433
|
end
|
434
|
+
|
435
|
+
def set_up_cj_object
|
436
|
+
CommissionJunction::CjObject.new({"a" => "a"})
|
437
|
+
end
|
438
|
+
|
439
|
+
def test_key_conversion_with_spaces
|
440
|
+
cjo = set_up_cj_object
|
441
|
+
|
442
|
+
assert_equal("abc_def", cjo.clean_key_name("abc def"))
|
443
|
+
end
|
444
|
+
|
445
|
+
def test_key_conversion_with_trailing_spaces
|
446
|
+
cjo = set_up_cj_object
|
447
|
+
|
448
|
+
assert_equal("abcdef", cjo.clean_key_name("abcdef "))
|
449
|
+
end
|
450
|
+
|
451
|
+
def test_initializing_product_using_key_with_spaces
|
452
|
+
product = CommissionJunction::Product.new("abc def" => "123")
|
453
|
+
assert_equal(product.abc_def, "123")
|
454
|
+
end
|
430
455
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: commission_junction
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Albert Vernon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|