torn_ruby 0.1.0.beta → 1.0.0.beta
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/.github/workflows/main.yml +27 -0
- data/.gitignore +11 -0
- data/CHANGELOG.md +14 -2
- data/Gemfile +25 -0
- data/Gemfile.lock +95 -0
- data/README.md +12 -0
- data/bin/console +8 -0
- data/bin/setup +8 -0
- data/lib/torn_ruby/client.rb +32 -11
- data/lib/torn_ruby/endpoints/base.rb +7 -7
- data/lib/torn_ruby/endpoints/company.rb +1 -5
- data/lib/torn_ruby/endpoints/faction.rb +1 -5
- data/lib/torn_ruby/endpoints/forum.rb +17 -0
- data/lib/torn_ruby/endpoints/market.rb +1 -5
- data/lib/torn_ruby/endpoints/property.rb +1 -5
- data/lib/torn_ruby/endpoints/racing.rb +18 -0
- data/lib/torn_ruby/endpoints/torn.rb +21 -0
- data/lib/torn_ruby/endpoints/user.rb +1 -5
- data/lib/torn_ruby/forum.rb +10 -0
- data/lib/torn_ruby/racing.rb +11 -0
- data/lib/torn_ruby/torn.rb +11 -0
- data/lib/torn_ruby/version.rb +1 -1
- data/spec/spec_helper.rb +18 -0
- data/spec/torn_ruby/base_spec.rb +73 -0
- data/spec/torn_ruby/client_spec.rb +336 -0
- data/spec/torn_ruby/company_spec.rb +3 -0
- data/spec/torn_ruby/endpoints/company_spec.rb +3 -0
- data/spec/torn_ruby/endpoints/faction_spec.rb +3 -0
- data/spec/torn_ruby/endpoints/forum_spec.rb +3 -0
- data/spec/torn_ruby/endpoints/market_spec.rb +3 -0
- data/spec/torn_ruby/endpoints/property_spec.rb +34 -0
- data/spec/torn_ruby/endpoints/racing_spec.rb +3 -0
- data/spec/torn_ruby/endpoints/torn_spec.rb +3 -0
- data/spec/torn_ruby/endpoints/user_spec.rb +3 -0
- data/spec/torn_ruby/faction_spec.rb +3 -0
- data/spec/torn_ruby/forum_spec.rb +3 -0
- data/spec/torn_ruby/market_spec.rb +3 -0
- data/spec/torn_ruby/property_spec.rb +44 -0
- data/spec/torn_ruby/racing_spec.rb +3 -0
- data/spec/torn_ruby/torn_spec.rb +3 -0
- data/spec/torn_ruby/user_spec.rb +3 -0
- data/spec/torn_ruby/utils_spec.rb +32 -0
- data/spec/torn_ruby_spec.rb +1 -0
- data/torn_ruby.gemspec +41 -0
- metadata +41 -10
@@ -0,0 +1,336 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
RSpec.describe TornRuby::Client do
|
6
|
+
let(:api_key) { "test_api_key" }
|
7
|
+
let(:client) { described_class.new(api_key: api_key) }
|
8
|
+
|
9
|
+
describe "#user" do
|
10
|
+
subject(:user) { client.user }
|
11
|
+
|
12
|
+
let(:mock_response) do
|
13
|
+
{
|
14
|
+
"rank" => "Star Trader",
|
15
|
+
"level" => 37,
|
16
|
+
"name" => "Bram",
|
17
|
+
"life" => {
|
18
|
+
"current" => 1725,
|
19
|
+
"maximum" => 1725
|
20
|
+
}
|
21
|
+
}
|
22
|
+
end
|
23
|
+
|
24
|
+
before do
|
25
|
+
user_endpoint = instance_double(TornRuby::Endpoints::User)
|
26
|
+
allow(TornRuby::Endpoints::User).to receive(:new).and_return(user_endpoint)
|
27
|
+
allow(user_endpoint).to receive(:fetch).and_return(mock_response)
|
28
|
+
end
|
29
|
+
|
30
|
+
it "returns a TornRuby::User with expected attributes" do
|
31
|
+
expect(user).to be_a(TornRuby::User)
|
32
|
+
.and have_attributes(
|
33
|
+
rank: "Star Trader",
|
34
|
+
level: 37,
|
35
|
+
name: "Bram",
|
36
|
+
life: hash_including(
|
37
|
+
current: 1725,
|
38
|
+
maximum: 1725
|
39
|
+
)
|
40
|
+
)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe "#property" do
|
45
|
+
subject(:property) { client.property }
|
46
|
+
|
47
|
+
let(:mock_response) do
|
48
|
+
{
|
49
|
+
"owner_id" => 123_456,
|
50
|
+
"property_type" => 5,
|
51
|
+
"happy" => 9000,
|
52
|
+
"upkeep" => 100_000,
|
53
|
+
"upgrades" => %w[pool gym],
|
54
|
+
"staff" => %w[maid guard],
|
55
|
+
"rented" => false,
|
56
|
+
"users_living" => "123456,654321"
|
57
|
+
}
|
58
|
+
end
|
59
|
+
|
60
|
+
before do
|
61
|
+
property_endpoint = instance_double(TornRuby::Endpoints::Property)
|
62
|
+
|
63
|
+
allow(TornRuby::Endpoints::Property).to receive(:new).and_return(property_endpoint)
|
64
|
+
allow(property_endpoint).to receive(:fetch).and_return(mock_response)
|
65
|
+
end
|
66
|
+
|
67
|
+
it "returns a TornRuby::Property with expected attributes" do
|
68
|
+
expect(property).to be_a(TornRuby::Property)
|
69
|
+
.and have_attributes(
|
70
|
+
owner_id: 123_456,
|
71
|
+
property_type: 5,
|
72
|
+
happy: 9000,
|
73
|
+
upkeep: 100_000,
|
74
|
+
upgrades: %w[pool gym],
|
75
|
+
staff: %w[maid guard],
|
76
|
+
rented: false,
|
77
|
+
users_living: "123456,654321"
|
78
|
+
)
|
79
|
+
end
|
80
|
+
|
81
|
+
it "parses living user ids correctly" do
|
82
|
+
expect(property.living_user_ids).to eq([123_456, 654_321])
|
83
|
+
end
|
84
|
+
|
85
|
+
it "returns false for rented?" do
|
86
|
+
expect(property.rented?).to be(false)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
describe "#faction" do
|
91
|
+
subject(:faction) { client.faction }
|
92
|
+
|
93
|
+
let(:mock_response) do
|
94
|
+
{
|
95
|
+
"ID" => 38_761,
|
96
|
+
"name" => "Shadow Healers",
|
97
|
+
"respect" => 2_450_100,
|
98
|
+
"rank" => {
|
99
|
+
"level" => 9,
|
100
|
+
"name" => "Silver",
|
101
|
+
"division" => 3
|
102
|
+
}
|
103
|
+
}
|
104
|
+
end
|
105
|
+
|
106
|
+
before do
|
107
|
+
faction_endpoint = instance_double(TornRuby::Endpoints::Faction)
|
108
|
+
allow(TornRuby::Endpoints::Faction).to receive(:new).and_return(faction_endpoint)
|
109
|
+
allow(faction_endpoint).to receive(:fetch).and_return(mock_response)
|
110
|
+
end
|
111
|
+
|
112
|
+
it "returns a TornRuby::Faction with expected attributes" do
|
113
|
+
expect(faction).to be_a(TornRuby::Faction)
|
114
|
+
.and have_attributes(
|
115
|
+
ID: 38_761,
|
116
|
+
name: "Shadow Healers",
|
117
|
+
respect: 2_450_100,
|
118
|
+
rank: hash_including(
|
119
|
+
level: 9,
|
120
|
+
name: "Silver",
|
121
|
+
division: 3
|
122
|
+
)
|
123
|
+
)
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
describe "#company" do
|
128
|
+
subject(:company) { client.company }
|
129
|
+
|
130
|
+
let(:mock_response) do
|
131
|
+
{
|
132
|
+
"ID" => 96_842,
|
133
|
+
"company_type" => 26,
|
134
|
+
"rating" => 8,
|
135
|
+
"name" => "Slippery When Wet",
|
136
|
+
"director" => 3_391_134,
|
137
|
+
"employees_hired" => 10,
|
138
|
+
"employees_capacity" => 10,
|
139
|
+
"daily_income" => 1_322_838,
|
140
|
+
"daily_customers" => 24_009,
|
141
|
+
"weekly_income" => 13_071_476,
|
142
|
+
"weekly_customers" => 239_180,
|
143
|
+
"days_old" => 950,
|
144
|
+
"employees" => {
|
145
|
+
"207875" => {
|
146
|
+
"name" => "wryte",
|
147
|
+
"position" => "Manager",
|
148
|
+
"days_in_company" => 236,
|
149
|
+
"last_action" => {
|
150
|
+
"status" => "Offline",
|
151
|
+
"timestamp" => 1_744_802_457,
|
152
|
+
"relative" => "3 days ago"
|
153
|
+
},
|
154
|
+
"status" => {
|
155
|
+
"description" => "Okay",
|
156
|
+
"details" => "",
|
157
|
+
"state" => "Okay",
|
158
|
+
"color" => "green",
|
159
|
+
"until" => 0
|
160
|
+
}
|
161
|
+
}
|
162
|
+
}
|
163
|
+
}
|
164
|
+
end
|
165
|
+
|
166
|
+
before do
|
167
|
+
endpoint = instance_double(TornRuby::Endpoints::Company)
|
168
|
+
allow(TornRuby::Endpoints::Company).to receive(:new).and_return(endpoint)
|
169
|
+
allow(endpoint).to receive(:fetch).and_return(mock_response)
|
170
|
+
end
|
171
|
+
|
172
|
+
it "returns a TornRuby::Company with expected attributes" do
|
173
|
+
expect(company).to be_a(TornRuby::Company)
|
174
|
+
.and have_attributes(
|
175
|
+
name: "Slippery When Wet",
|
176
|
+
director: 3_391_134,
|
177
|
+
employees_hired: 10,
|
178
|
+
daily_income: 1_322_838
|
179
|
+
)
|
180
|
+
end
|
181
|
+
|
182
|
+
it "has employee data accessible by string ID" do
|
183
|
+
employee = company.employees["207875"]
|
184
|
+
expect(employee).to include(
|
185
|
+
name: "wryte",
|
186
|
+
position: "Manager",
|
187
|
+
days_in_company: 236,
|
188
|
+
last_action: hash_including(
|
189
|
+
status: "Offline",
|
190
|
+
timestamp: 1_744_802_457,
|
191
|
+
relative: "3 days ago"
|
192
|
+
),
|
193
|
+
status: hash_including(
|
194
|
+
description: "Okay",
|
195
|
+
state: "Okay",
|
196
|
+
color: "green"
|
197
|
+
)
|
198
|
+
)
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
describe "#market" do
|
203
|
+
subject(:market) { client.market }
|
204
|
+
|
205
|
+
let(:mock_response) do
|
206
|
+
{
|
207
|
+
"ID" => 96_842,
|
208
|
+
"company_type" => 26,
|
209
|
+
"rating" => 8,
|
210
|
+
"name" => "Slippery When Wet",
|
211
|
+
"director" => 3_391_134,
|
212
|
+
"employees_hired" => 10,
|
213
|
+
"employees_capacity" => 10,
|
214
|
+
"daily_income" => 1_322_838,
|
215
|
+
"daily_customers" => 24_009,
|
216
|
+
"weekly_income" => 13_071_476,
|
217
|
+
"weekly_customers" => 239_180,
|
218
|
+
"days_old" => 950
|
219
|
+
}
|
220
|
+
end
|
221
|
+
|
222
|
+
before do
|
223
|
+
market_endpoint = instance_double(TornRuby::Endpoints::Market)
|
224
|
+
allow(TornRuby::Endpoints::Market).to receive(:new).and_return(market_endpoint)
|
225
|
+
allow(market_endpoint).to receive(:fetch).and_return(mock_response)
|
226
|
+
end
|
227
|
+
|
228
|
+
it "returns a TornRuby::Company with expected attributes" do
|
229
|
+
expect(market).to be_a(TornRuby::Company)
|
230
|
+
.and have_attributes(
|
231
|
+
name: "Slippery When Wet",
|
232
|
+
director: 3_391_134,
|
233
|
+
employees_hired: 10,
|
234
|
+
daily_income: 1_322_838
|
235
|
+
)
|
236
|
+
end
|
237
|
+
end
|
238
|
+
|
239
|
+
describe "#torn" do
|
240
|
+
subject(:torn) { client.torn }
|
241
|
+
|
242
|
+
let(:mock_response) do
|
243
|
+
{
|
244
|
+
"bounties" => [
|
245
|
+
{
|
246
|
+
"target_id" => 2_556_147,
|
247
|
+
"target_name" => "salakau",
|
248
|
+
"target_level" => 36,
|
249
|
+
"lister_id" => 2_932_719,
|
250
|
+
"lister_name" => "Ridyard",
|
251
|
+
"reward" => 1_000_000,
|
252
|
+
"reason" => nil,
|
253
|
+
"quantity" => 1,
|
254
|
+
"is_anonymous" => false,
|
255
|
+
"valid_until" => 1_745_619_969
|
256
|
+
}
|
257
|
+
]
|
258
|
+
}
|
259
|
+
end
|
260
|
+
|
261
|
+
before do
|
262
|
+
torn_endpoint = instance_double(TornRuby::Endpoints::Torn)
|
263
|
+
allow(TornRuby::Endpoints::Torn).to receive(:new).and_return(torn_endpoint)
|
264
|
+
allow(torn_endpoint).to receive(:fetch).and_return(mock_response)
|
265
|
+
end
|
266
|
+
|
267
|
+
it "returns a TornRuby::Torn with expected attributes" do
|
268
|
+
expect(torn).to be_a(TornRuby::Torn)
|
269
|
+
.and have_attributes(
|
270
|
+
bounties: match_array(
|
271
|
+
hash_including(
|
272
|
+
target_id: 2_556_147,
|
273
|
+
target_name: "salakau",
|
274
|
+
target_level: 36,
|
275
|
+
lister_id: 2_932_719,
|
276
|
+
lister_name: "Ridyard",
|
277
|
+
reward: 1_000_000,
|
278
|
+
reason: nil,
|
279
|
+
quantity: 1,
|
280
|
+
is_anonymous: false,
|
281
|
+
valid_until: 1_745_619_969
|
282
|
+
)
|
283
|
+
)
|
284
|
+
)
|
285
|
+
end
|
286
|
+
end
|
287
|
+
|
288
|
+
describe "#racing" do
|
289
|
+
subject(:racing) { client.racing }
|
290
|
+
|
291
|
+
let(:mock_response) do
|
292
|
+
{
|
293
|
+
"cars": [
|
294
|
+
{
|
295
|
+
"car_item_id": 77,
|
296
|
+
"car_item_name": "Tabata RM2",
|
297
|
+
"top_speed": 25,
|
298
|
+
"acceleration": 20,
|
299
|
+
"braking": 15,
|
300
|
+
"dirt": 15,
|
301
|
+
"handling": 20,
|
302
|
+
"safety": 20,
|
303
|
+
"tarmac": 20,
|
304
|
+
"class": "D"
|
305
|
+
}
|
306
|
+
]
|
307
|
+
}
|
308
|
+
end
|
309
|
+
|
310
|
+
before do
|
311
|
+
racing_endpoint = instance_double(TornRuby::Endpoints::Racing)
|
312
|
+
allow(TornRuby::Endpoints::Racing).to receive(:new).and_return(racing_endpoint)
|
313
|
+
allow(racing_endpoint).to receive(:fetch).and_return(mock_response)
|
314
|
+
end
|
315
|
+
|
316
|
+
it "returns a TornRuby::Racing with expected attributes" do
|
317
|
+
expect(racing).to be_a(TornRuby::Racing)
|
318
|
+
.and have_attributes(
|
319
|
+
cars: match_array(
|
320
|
+
hash_including(
|
321
|
+
car_item_id: 77,
|
322
|
+
car_item_name: "Tabata RM2",
|
323
|
+
top_speed: 25,
|
324
|
+
acceleration: 20,
|
325
|
+
braking: 15,
|
326
|
+
dirt: 15,
|
327
|
+
handling: 20,
|
328
|
+
safety: 20,
|
329
|
+
tarmac: 20,
|
330
|
+
class: "D"
|
331
|
+
)
|
332
|
+
)
|
333
|
+
)
|
334
|
+
end
|
335
|
+
end
|
336
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
require "torn_ruby/endpoints/user"
|
5
|
+
|
6
|
+
RSpec.describe TornRuby::Endpoints::Property do
|
7
|
+
let(:api_key) { "test_api_key" }
|
8
|
+
let(:property_endpoint) { described_class.new(api_key) }
|
9
|
+
|
10
|
+
describe "#handle_response" do
|
11
|
+
context "when the response is a success" do
|
12
|
+
let(:successful_response) do
|
13
|
+
instance_double(Net::HTTPSuccess, is_a?: true, code: "200", message: "OK", body: '{"property": "value"}')
|
14
|
+
end
|
15
|
+
|
16
|
+
it "parses the response body and returns the property" do
|
17
|
+
result = property_endpoint.send(:handle_response, successful_response)
|
18
|
+
expect(result).to eq("value")
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
context "when the response is not a success" do
|
23
|
+
let(:error_response) do
|
24
|
+
instance_double(Net::HTTPResponse, is_a?: false, code: "500", message: "Internal Server Error", body: "")
|
25
|
+
end
|
26
|
+
|
27
|
+
it "raises a TornRuby::Error with the appropriate message" do
|
28
|
+
expect do
|
29
|
+
property_endpoint.send(:handle_response, error_response)
|
30
|
+
end.to raise_error(TornRuby::Error, "API request failed: 500 Internal Server Error")
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
RSpec.describe TornRuby::Property do
|
6
|
+
subject(:property) { described_class.new(data) }
|
7
|
+
|
8
|
+
let(:data) do
|
9
|
+
{
|
10
|
+
"owner_id" => 2_187_512,
|
11
|
+
"property_type" => 13,
|
12
|
+
"happy" => 5025,
|
13
|
+
"upkeep" => 100_000,
|
14
|
+
"upgrades" => [
|
15
|
+
"Superior interior",
|
16
|
+
"Large pool",
|
17
|
+
"Extra large vault"
|
18
|
+
],
|
19
|
+
"staff" => [
|
20
|
+
"5x Maid service",
|
21
|
+
"3x Butler service"
|
22
|
+
],
|
23
|
+
"rented" => {
|
24
|
+
"user_id" => 2_728_237,
|
25
|
+
"days_left" => 73,
|
26
|
+
"total_cost" => 81_000_000,
|
27
|
+
"cost_per_day" => 810_000
|
28
|
+
},
|
29
|
+
"users_living" => "2725863,2728237"
|
30
|
+
}
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "#living_user_ids" do
|
34
|
+
it "returns an array of user IDs as integers" do
|
35
|
+
expect(property.living_user_ids).to eq([2_725_863, 2_728_237])
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe "#rented?" do
|
40
|
+
it "returns true when rented data is present" do
|
41
|
+
expect(property.rented?).to be true
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
RSpec.describe TornRuby::Utils do
|
6
|
+
describe ".deep_symbolize_keys" do
|
7
|
+
it "symbolizes top-level keys" do
|
8
|
+
input = { "foo" => "bar" }
|
9
|
+
result = described_class.deep_symbolize_keys(input)
|
10
|
+
expect(result).to eq({ foo: "bar" })
|
11
|
+
end
|
12
|
+
|
13
|
+
it "recursively symbolizes nested hash keys" do
|
14
|
+
input = { "outer" => { "inner" => "value" } }
|
15
|
+
result = described_class.deep_symbolize_keys(input)
|
16
|
+
expect(result).to eq({ outer: { inner: "value" } })
|
17
|
+
end
|
18
|
+
|
19
|
+
it "symbolizes keys in hashes within arrays" do
|
20
|
+
input = { "list" => [{ "id" => 1 }, { "id" => 2 }] }
|
21
|
+
|
22
|
+
result = described_class.deep_symbolize_keys(input)
|
23
|
+
expect(result).to eq({ list: [{ id: 1 }, { id: 2 }] })
|
24
|
+
end
|
25
|
+
|
26
|
+
it "leaves non-hash, non-array values untouched" do
|
27
|
+
input = "string"
|
28
|
+
result = described_class.deep_symbolize_keys(input)
|
29
|
+
expect(result).to eq("string")
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
# frozen_string_literal: true
|
data/torn_ruby.gemspec
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "lib/torn_ruby/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "torn_ruby"
|
7
|
+
spec.version = TornRuby::VERSION
|
8
|
+
spec.authors = ["Bram"]
|
9
|
+
spec.email = ["bramjanssen@hey.com"]
|
10
|
+
|
11
|
+
spec.summary = "A Ruby gem for interacting with the Torn City API, providing easy access to" \
|
12
|
+
"game data and functionality."
|
13
|
+
spec.description = "A Ruby gem that provides a convenient wrapper around the Torn City API." \
|
14
|
+
"Ideal for developers looking to integrate Torn City data into Ruby applications."
|
15
|
+
|
16
|
+
spec.homepage = "https://github.com/ibramsterdam/torn_ruby"
|
17
|
+
|
18
|
+
spec.license = "MIT"
|
19
|
+
spec.required_ruby_version = ">= 3.1.0"
|
20
|
+
|
21
|
+
spec.metadata["allowed_push_host"] = "https://rubygems.org"
|
22
|
+
|
23
|
+
# Specify which files should be added to the gem when it is released.
|
24
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
25
|
+
gemspec = File.basename(__FILE__)
|
26
|
+
spec.files = IO.popen(%w[git ls-files -z], chdir: __dir__, err: IO::NULL) do |ls|
|
27
|
+
ls.readlines("\x0", chomp: true).reject do |f|
|
28
|
+
(f == gemspec) ||
|
29
|
+
f.start_with?(*%w[bin/ test/ spec/ features/ .git .github appveyor Gemfile])
|
30
|
+
f.end_with?(".gem") # Exclude .gem files
|
31
|
+
end
|
32
|
+
end
|
33
|
+
spec.bindir = "exe"
|
34
|
+
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
35
|
+
spec.require_paths = ["lib"]
|
36
|
+
|
37
|
+
# Uncomment to register a new dependency of your gem
|
38
|
+
# spec.add_dependency "example-gem", "~> 1.0"
|
39
|
+
spec.add_development_dependency "fiddle", "~> 1.1"
|
40
|
+
spec.add_development_dependency "pry", "~> 0.15"
|
41
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: torn_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.0.0.beta
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bram
|
@@ -10,33 +10,33 @@ cert_chain: []
|
|
10
10
|
date: 2025-04-19 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
|
-
name:
|
13
|
+
name: fiddle
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
15
15
|
requirements:
|
16
16
|
- - "~>"
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: '
|
18
|
+
version: '1.1'
|
19
19
|
type: :development
|
20
20
|
prerelease: false
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
22
22
|
requirements:
|
23
23
|
- - "~>"
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: '
|
25
|
+
version: '1.1'
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
|
-
name:
|
27
|
+
name: pry
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
30
30
|
- - "~>"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
32
|
+
version: '0.15'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
39
|
+
version: '0.15'
|
40
40
|
description: A Ruby gem that provides a convenient wrapper around the Torn City API.Ideal
|
41
41
|
for developers looking to integrate Torn City data into Ruby applications.
|
42
42
|
email:
|
@@ -45,13 +45,19 @@ executables: []
|
|
45
45
|
extensions: []
|
46
46
|
extra_rdoc_files: []
|
47
47
|
files:
|
48
|
+
- ".github/workflows/main.yml"
|
49
|
+
- ".gitignore"
|
48
50
|
- ".rspec"
|
49
51
|
- ".rubocop.yml"
|
50
52
|
- CHANGELOG.md
|
51
53
|
- CODE_OF_CONDUCT.md
|
54
|
+
- Gemfile
|
55
|
+
- Gemfile.lock
|
52
56
|
- LICENSE.txt
|
53
57
|
- README.md
|
54
58
|
- Rakefile
|
59
|
+
- bin/console
|
60
|
+
- bin/setup
|
55
61
|
- lib/torn_ruby.rb
|
56
62
|
- lib/torn_ruby/base.rb
|
57
63
|
- lib/torn_ruby/client.rb
|
@@ -59,24 +65,49 @@ files:
|
|
59
65
|
- lib/torn_ruby/endpoints/base.rb
|
60
66
|
- lib/torn_ruby/endpoints/company.rb
|
61
67
|
- lib/torn_ruby/endpoints/faction.rb
|
68
|
+
- lib/torn_ruby/endpoints/forum.rb
|
62
69
|
- lib/torn_ruby/endpoints/market.rb
|
63
70
|
- lib/torn_ruby/endpoints/property.rb
|
71
|
+
- lib/torn_ruby/endpoints/racing.rb
|
72
|
+
- lib/torn_ruby/endpoints/torn.rb
|
64
73
|
- lib/torn_ruby/endpoints/user.rb
|
65
74
|
- lib/torn_ruby/faction.rb
|
75
|
+
- lib/torn_ruby/forum.rb
|
66
76
|
- lib/torn_ruby/market.rb
|
67
77
|
- lib/torn_ruby/property.rb
|
78
|
+
- lib/torn_ruby/racing.rb
|
79
|
+
- lib/torn_ruby/torn.rb
|
68
80
|
- lib/torn_ruby/user.rb
|
69
81
|
- lib/torn_ruby/utils.rb
|
70
82
|
- lib/torn_ruby/version.rb
|
71
83
|
- sig/torn_ruby.rbs
|
84
|
+
- spec/spec_helper.rb
|
85
|
+
- spec/torn_ruby/base_spec.rb
|
86
|
+
- spec/torn_ruby/client_spec.rb
|
87
|
+
- spec/torn_ruby/company_spec.rb
|
88
|
+
- spec/torn_ruby/endpoints/company_spec.rb
|
89
|
+
- spec/torn_ruby/endpoints/faction_spec.rb
|
90
|
+
- spec/torn_ruby/endpoints/forum_spec.rb
|
91
|
+
- spec/torn_ruby/endpoints/market_spec.rb
|
92
|
+
- spec/torn_ruby/endpoints/property_spec.rb
|
93
|
+
- spec/torn_ruby/endpoints/racing_spec.rb
|
94
|
+
- spec/torn_ruby/endpoints/torn_spec.rb
|
95
|
+
- spec/torn_ruby/endpoints/user_spec.rb
|
96
|
+
- spec/torn_ruby/faction_spec.rb
|
97
|
+
- spec/torn_ruby/forum_spec.rb
|
98
|
+
- spec/torn_ruby/market_spec.rb
|
99
|
+
- spec/torn_ruby/property_spec.rb
|
100
|
+
- spec/torn_ruby/racing_spec.rb
|
101
|
+
- spec/torn_ruby/torn_spec.rb
|
102
|
+
- spec/torn_ruby/user_spec.rb
|
103
|
+
- spec/torn_ruby/utils_spec.rb
|
104
|
+
- spec/torn_ruby_spec.rb
|
105
|
+
- torn_ruby.gemspec
|
72
106
|
homepage: https://github.com/ibramsterdam/torn_ruby
|
73
107
|
licenses:
|
74
108
|
- MIT
|
75
109
|
metadata:
|
76
110
|
allowed_push_host: https://rubygems.org
|
77
|
-
homepage_uri: https://github.com/ibramsterdam/torn_ruby
|
78
|
-
source_code_uri: https://github.com/ibramsterdam/torn_ruby
|
79
|
-
changelog_uri: https://github.com/ibramsterdam/torn_ruby/blob/main/CHANGELOG.md
|
80
111
|
rdoc_options: []
|
81
112
|
require_paths:
|
82
113
|
- lib
|