commission_junction 1.7.2 → 1.7.3
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.
- 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
|