backpack_tf 0.8.1 → 0.8.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/backpack_tf.gemspec +4 -4
- data/lib/backpack_tf/assets/attribute_controlled_attached_particles.json +667 -0
- data/lib/backpack_tf/client.rb +5 -5
- data/lib/backpack_tf/item.rb +29 -19
- data/lib/backpack_tf/item_price.rb +100 -16
- data/lib/backpack_tf/response.rb +3 -0
- data/lib/backpack_tf/version.rb +1 -1
- data/spec/backpack_tf/client_spec.rb +7 -0
- data/spec/backpack_tf/currency_spec.rb +62 -58
- data/spec/backpack_tf/inherited_class_methods_spec.rb +100 -0
- data/spec/backpack_tf/item_price_spec.rb +106 -42
- data/spec/backpack_tf/item_spec.rb +89 -128
- data/spec/backpack_tf/price_spec.rb +7 -22
- data/spec/backpack_tf/response_spec.rb +16 -3
- data/spec/backpack_tf/special_item_spec.rb +34 -29
- data/spec/backpack_tf/user_listing_spec.rb +22 -24
- data/spec/backpack_tf/user_spec.rb +28 -30
- data/spec/fixtures/item_crate.json +65 -0
- data/spec/fixtures/item_typical.json +1 -1
- data/spec/fixtures/item_unusual.json +1 -1
- data/spec/fixtures/item_with_unconventional_structure.json +1 -1
- data/spec/fixtures/item_without_defindex.json +1 -1
- data/spec/spec_helper.rb +47 -0
- metadata +9 -24
@@ -1 +1 @@
|
|
1
|
-
"Kritzkrieg":{"defindex":[35],"prices":{"11":{"Tradable":{"Craftable":[{"currency":"keys","value":18,"last_update":1430665867,"difference":-18.495}]}},"14":{"Tradable":{"Craftable":[{"currency":"keys","value":9,"last_update":1416841372,"difference":11.385}]}},"3":{"Tradable":{"Craftable":[{"currency":"metal","value":0.66,"last_update":1426439779,"difference":0.33}]}},"6":{"Tradable":{"Craftable":[{"currency":"metal","value":0.05,"last_update":1336410088,"difference":0}],"Non-Craftable":[{"currency":"metal","value":0.05,"last_update":1362791812,"difference":0.03}]}}}}
|
1
|
+
{"Kritzkrieg":{"defindex":[35],"prices":{"11":{"Tradable":{"Craftable":[{"currency":"keys","value":18,"last_update":1430665867,"difference":-18.495}]}},"14":{"Tradable":{"Craftable":[{"currency":"keys","value":9,"last_update":1416841372,"difference":11.385}]}},"3":{"Tradable":{"Craftable":[{"currency":"metal","value":0.66,"last_update":1426439779,"difference":0.33}]}},"6":{"Tradable":{"Craftable":[{"currency":"metal","value":0.05,"last_update":1336410088,"difference":0}],"Non-Craftable":[{"currency":"metal","value":0.05,"last_update":1362791812,"difference":0.03}]}}}}}
|
@@ -1 +1 @@
|
|
1
|
-
{"defindex":[988],"prices":{"5":{"Tradable":{"Craftable":{"6":{"currency":"keys","value":18,"last_update":1418795322,"difference":280,"value_high":22},"7":{"currency":"keys","value":15,"last_update":1427240637,"difference":-16.9385},"8":{"currency":"keys","value":67,"last_update":1412688562,"difference":580.22},"9":{"currency":"keys","value":38,"last_update":1426592869,"difference":-188.815,"value_high":40},"10":{"currency":"keys","value":54,"last_update":1430651464,"difference":-73.98,"value_high":56},"11":{"currency":"keys","value":26,"last_update":1430514572,"difference":-25.739130434783},"13":{"currency":"keys","difference":1501.5,"last_update":1389942856,"value":214,"value_high":215},"14":{"currency":"keys","value":203,"last_update":1405544923,"difference":443.14066326531},"19":{"currency":"keys","value":70,"last_update":1412655977,"difference":609.231},"29":{"currency":"keys","value":18,"last_update":1424595094,"difference":-82.782,"value_high":23},"30":{"currency":"keys","value":14,"last_update":1426634788,"difference":42.9125,"value_high":19},"31":{"item_name":"Barnstormer","quality":5,"craftable":"Craftable","tradable":"Tradable","priceindex":31,"defindex":[988],"value":23,"currency":"keys","value_high":26,"value_old":{"currency":"usd","value":74.4,"value_high":89.28,"last_update":1380366823,"difference":-23.34},"last_update":1401407345,"difference":-135.48506632653},"32":{"currency":"keys","value":12,"last_update":1412860765,"difference":-21.65,"value_high":16},"33":{"currency":"keys","value":19,"last_update":1426560513,"difference":-104.18575,"value_high":24},"34":{"currency":"keys","value":18,"last_update":1406904862,"difference":-9.6526530612245},"35":{"currency":"keys","value":15,"last_update":1426592774,"difference":-162.40333333333,"value_high":19},"36":{"currency":"keys","value":15,"last_update":1420313482,"difference":-28,"value_high":16},"56":{"currency":"keys","value":32,"last_update":1404952347,"difference":-134.91653061224,"value_high":36},"57":{"currency":"keys","difference":-59.636,"last_update":1400197661,"value":21,"value_high":22},"58":{"currency":"keys","value":14,"last_update":1426723046,"difference":-8.5825,"value_high":20},"59":{"currency":"keys","value":19,"last_update":1408972311,"difference":140.315},"60":{"currency":"keys","value":15,"last_update":1430018292,"difference":280.5,"value_high":18},"61":{"currency":"keys","value":15,"last_update":1426593954,"difference":-17.165,"value_high":19},"62":{"currency":"keys","value":13,"last_update":1426592741,"difference":-145.9025,"value_high":18},"63":{"currency":"keys","value":30,"last_update":1421524482,"difference":434.445,"value_high":36},"64":{"currency":"keys","value":36,"last_update":1423376185,"difference":576.06875,"value_high":40},"65":{"currency":"keys","value":17,"last_update":1411656644,"difference":29.257,"value_high":24},"66":{"currency":"usd","value":51.98,"value_high":76.45,"last_update":1384529093,"difference":-99.15},"67":{"currency":"usd","value":79.32,"value_high":95.18,"last_update":1383575955,"difference":-97.776},"68":{"currency":"keys","value":43,"last_update":1406475390,"difference":398.259,"value_high":54},"69":{"currency":"usd","value":232.39,"last_update":1369898821,"difference":0},"70":{"currency":"keys","value":27,"last_update":1418969616,"difference":446.25,"value_high":37},"71":{"currency":"keys","value":60,"last_update":1426512316,"difference":-685.5},"72":{"currency":"keys","value":47,"last_update":1427566642,"difference":-8.6283749999999,"value_high":57},"89":{"currency":"keys","value":32,"last_update":1423834006,"difference":543.96,"value_high":40},"90":{"currency":"keys","value":51,"last_update":1426240269,"difference":878.9}}}},"6":{"Tradable":{"Craftable":[{"currency":"metal","value":1.66,"last_update":
|
1
|
+
{"Barnstormer":{"defindex":[988],"prices":{"5":{"Tradable":{"Craftable":{"6":{"currency":"keys","value":18,"last_update":1418795322,"difference":280,"value_high":22},"7":{"currency":"keys","value":15,"last_update":1427240637,"difference":-16.9385},"8":{"currency":"keys","value":67,"last_update":1412688562,"difference":580.22},"9":{"currency":"keys","value":38,"last_update":1426592869,"difference":-188.815,"value_high":40},"10":{"currency":"keys","value":54,"last_update":1430651464,"difference":-73.98,"value_high":56},"11":{"currency":"keys","value":26,"last_update":1430514572,"difference":-25.739130434783},"13":{"currency":"keys","difference":1501.5,"last_update":1389942856,"value":214,"value_high":215},"14":{"currency":"keys","value":203,"last_update":1405544923,"difference":443.14066326531},"19":{"currency":"keys","value":70,"last_update":1412655977,"difference":609.231},"29":{"currency":"keys","value":18,"last_update":1424595094,"difference":-82.782,"value_high":23},"30":{"currency":"keys","value":14,"last_update":1426634788,"difference":42.9125,"value_high":19},"31":{"item_name":"Barnstormer","quality":5,"craftable":"Craftable","tradable":"Tradable","priceindex":31,"defindex":[988],"value":23,"currency":"keys","value_high":26,"value_old":{"currency":"usd","value":74.4,"value_high":89.28,"last_update":1380366823,"difference":-23.34},"last_update":1401407345,"difference":-135.48506632653},"32":{"currency":"keys","value":12,"last_update":1412860765,"difference":-21.65,"value_high":16},"33":{"currency":"keys","value":19,"last_update":1426560513,"difference":-104.18575,"value_high":24},"34":{"currency":"keys","value":18,"last_update":1406904862,"difference":-9.6526530612245},"35":{"currency":"keys","value":15,"last_update":1426592774,"difference":-162.40333333333,"value_high":19},"36":{"currency":"keys","value":15,"last_update":1420313482,"difference":-28,"value_high":16},"56":{"currency":"keys","value":32,"last_update":1404952347,"difference":-134.91653061224,"value_high":36},"57":{"currency":"keys","difference":-59.636,"last_update":1400197661,"value":21,"value_high":22},"58":{"currency":"keys","value":14,"last_update":1426723046,"difference":-8.5825,"value_high":20},"59":{"currency":"keys","value":19,"last_update":1408972311,"difference":140.315},"60":{"currency":"keys","value":15,"last_update":1430018292,"difference":280.5,"value_high":18},"61":{"currency":"keys","value":15,"last_update":1426593954,"difference":-17.165,"value_high":19},"62":{"currency":"keys","value":13,"last_update":1426592741,"difference":-145.9025,"value_high":18},"63":{"currency":"keys","value":30,"last_update":1421524482,"difference":434.445,"value_high":36},"64":{"currency":"keys","value":36,"last_update":1423376185,"difference":576.06875,"value_high":40},"65":{"currency":"keys","value":17,"last_update":1411656644,"difference":29.257,"value_high":24},"66":{"currency":"usd","value":51.98,"value_high":76.45,"last_update":1384529093,"difference":-99.15},"67":{"currency":"usd","value":79.32,"value_high":95.18,"last_update":1383575955,"difference":-97.776},"68":{"currency":"keys","value":43,"last_update":1406475390,"difference":398.259,"value_high":54},"69":{"currency":"usd","value":232.39,"last_update":1369898821,"difference":0},"70":{"currency":"keys","value":27,"last_update":1418969616,"difference":446.25,"value_high":37},"71":{"currency":"keys","value":60,"last_update":1426512316,"difference":-685.5},"72":{"currency":"keys","value":47,"last_update":1427566642,"difference":-8.6283749999999,"value_high":57},"89":{"currency":"keys","value":32,"last_update":1423834006,"difference":543.96,"value_high":40},"90":{"currency":"keys","value":51,"last_update":1426240269,"difference":878.9}}}},"6":{"Tradable":{"Craftable":[{"currency":"metal","value":1.66,"last_update":1430947887,"difference":0.115,"value_high":2}]}}}}}
|
@@ -1 +1 @@
|
|
1
|
-
{"defindex":[5650],"prices":{"6":{"Tradable":{"Craftable":{"66":{"currency":"metal","value":0.05,"last_update":1426433111,"difference":0.04}}}}}}
|
1
|
+
{"Aqua Summer 2013 Cooler":{"defindex":[5650],"prices":{"6":{"Tradable":{"Craftable":{"66":{"currency":"metal","value":0.05,"last_update":1426433111,"difference":0.04}}}}}}}
|
@@ -1 +1 @@
|
|
1
|
-
{"defindex":[],"prices":{"6":{"Tradable":{"Craftable":[{"currency":"metal","value":0.66,"last_update":1393622359,"difference":-0.17}]}}}}
|
1
|
+
{"Strange Part: Fires Survived":{"defindex":[],"prices":{"6":{"Tradable":{"Craftable":[{"currency":"metal","value":0.66,"last_update":1393622359,"difference":-0.17}]}}}}}
|
data/spec/spec_helper.rb
CHANGED
@@ -28,3 +28,50 @@ def stub_http_response_with(filename)
|
|
28
28
|
|
29
29
|
expect(HTTParty::Request).to receive(:new).and_return(http_request)
|
30
30
|
end
|
31
|
+
|
32
|
+
def make_fetch_sym
|
33
|
+
opt = described_class.to_s
|
34
|
+
ind_after_scope_operator = opt.index('::') + 2
|
35
|
+
opt = opt[ind_after_scope_operator..-1]
|
36
|
+
opt.downcase.to_sym
|
37
|
+
end
|
38
|
+
|
39
|
+
def mock_alias
|
40
|
+
|
41
|
+
case described_class.to_s
|
42
|
+
|
43
|
+
when BackpackTF::Price.to_s
|
44
|
+
described_class.class_eval do
|
45
|
+
class << self; attr_class_alias(:data_storage, :items); end
|
46
|
+
end
|
47
|
+
when BackpackTF::Currency.to_s
|
48
|
+
described_class.class_eval do
|
49
|
+
class << self; attr_class_alias :data_storage, :currencies; end
|
50
|
+
end
|
51
|
+
when BackpackTF::SpecialItem.to_s
|
52
|
+
described_class.class_eval do
|
53
|
+
class << self; attr_class_alias :data_storage, :items; end
|
54
|
+
end
|
55
|
+
when BackpackTF::User.to_s
|
56
|
+
described_class.class_eval do
|
57
|
+
class << self; attr_class_alias :data_storage, :players; end
|
58
|
+
end
|
59
|
+
when BackpackTF::UserListing.to_s
|
60
|
+
described_class.class_eval do
|
61
|
+
class << self; attr_class_alias :data_storage, :listings; end
|
62
|
+
end
|
63
|
+
else
|
64
|
+
raise RuntimeError, "#{described_class} != described_class"
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
68
|
+
|
69
|
+
# credit: http://stackoverflow.com/a/913453/2908123
|
70
|
+
class Module
|
71
|
+
def attr_class_alias(new_attr, original_attr)
|
72
|
+
alias_method(new_attr, original_attr) if method_defined? original_attr
|
73
|
+
new_writer = "#{new_attr}="
|
74
|
+
original_writer = "#{original_attr}="
|
75
|
+
alias_method(new_writer, original_writer) if method_defined? original_writer
|
76
|
+
end
|
77
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: backpack_tf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rafael Espinoza
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -16,40 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
-
- - ">="
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 0.13.3
|
19
|
+
version: 0.13.5
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
24
|
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
30
|
-
- - ">="
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 0.13.3
|
26
|
+
version: 0.13.5
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: rspec
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
36
30
|
requirements:
|
37
31
|
- - "~>"
|
38
32
|
- !ruby/object:Gem::Version
|
39
|
-
version: '3.
|
40
|
-
- - ">="
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: 3.2.0
|
33
|
+
version: '3.3'
|
43
34
|
type: :development
|
44
35
|
prerelease: false
|
45
36
|
version_requirements: !ruby/object:Gem::Requirement
|
46
37
|
requirements:
|
47
38
|
- - "~>"
|
48
39
|
- !ruby/object:Gem::Version
|
49
|
-
version: '3.
|
50
|
-
- - ">="
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: 3.2.0
|
40
|
+
version: '3.3'
|
53
41
|
- !ruby/object:Gem::Dependency
|
54
42
|
name: webmock
|
55
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -57,9 +45,6 @@ dependencies:
|
|
57
45
|
- - "~>"
|
58
46
|
- !ruby/object:Gem::Version
|
59
47
|
version: '1.21'
|
60
|
-
- - ">="
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: 1.21.0
|
63
48
|
type: :development
|
64
49
|
prerelease: false
|
65
50
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -67,9 +52,6 @@ dependencies:
|
|
67
52
|
- - "~>"
|
68
53
|
- !ruby/object:Gem::Version
|
69
54
|
version: '1.21'
|
70
|
-
- - ">="
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
version: 1.21.0
|
73
55
|
description: API client, accessor methods for backpack.tf
|
74
56
|
email: rafael@rafaelespinoza.com
|
75
57
|
executables: []
|
@@ -81,6 +63,7 @@ files:
|
|
81
63
|
- TODO.md
|
82
64
|
- backpack_tf.gemspec
|
83
65
|
- lib/backpack_tf.rb
|
66
|
+
- lib/backpack_tf/assets/attribute_controlled_attached_particles.json
|
84
67
|
- lib/backpack_tf/client.rb
|
85
68
|
- lib/backpack_tf/currency.rb
|
86
69
|
- lib/backpack_tf/item.rb
|
@@ -94,6 +77,7 @@ files:
|
|
94
77
|
- readme.md
|
95
78
|
- spec/backpack_tf/client_spec.rb
|
96
79
|
- spec/backpack_tf/currency_spec.rb
|
80
|
+
- spec/backpack_tf/inherited_class_methods_spec.rb
|
97
81
|
- spec/backpack_tf/item_price_spec.rb
|
98
82
|
- spec/backpack_tf/item_spec.rb
|
99
83
|
- spec/backpack_tf/price_spec.rb
|
@@ -103,6 +87,7 @@ files:
|
|
103
87
|
- spec/backpack_tf/user_spec.rb
|
104
88
|
- spec/fixtures/currencies.json
|
105
89
|
- spec/fixtures/currencies_updated.json
|
90
|
+
- spec/fixtures/item_crate.json
|
106
91
|
- spec/fixtures/item_typical.json
|
107
92
|
- spec/fixtures/item_unusual.json
|
108
93
|
- spec/fixtures/item_with_unconventional_structure.json
|