bgg-parser 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bgg-parser.rb +16 -12
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3532c8c446d89aa36e8ff30bc072db043e9f8c25
4
- data.tar.gz: 6d25a74b7f306d5ff3d99da876a8155595f4250b
3
+ metadata.gz: 36435910e624dfb3496ef1b67294d5e62a45a508
4
+ data.tar.gz: 1c76d30dfbd78e0b45e4e24817c2ade0d9375ee6
5
5
  SHA512:
6
- metadata.gz: da3556311b3b7487cf86b4bbcd1c6311de0be7a311342d68555b53fa8308fbc09983ee2a49cf344eb5105340a0d9fcda9bfa07dd1d45375e260a0841fe25a16d
7
- data.tar.gz: a8eef56aa267b42041d213e268f07a652a02440ceac7643ee34d73e9baea6dc8809f5ab2f222e6ceaa531e52c4ebac902fef0c63d984cd03ea43541442f6d087
6
+ metadata.gz: 0c161b244c0e629b8f7e81fbb6836667a2d4040fe4789851bcd85f8688abb30c95d970e4bb5986ca2e3d1b07003836795b6b50151ac46b1f100c7730f0a6079f
7
+ data.tar.gz: b76c7e1c7e991833d7696d01845ab8061d0435c695aeb9a5fc31ebbf847ea1c47de679d51b7be71f68290ffbe1f6867307fe7c24c9d6a0f7fecbcb6982ca1e97
data/lib/bgg-parser.rb CHANGED
@@ -1,8 +1,7 @@
1
1
  class BggParser
2
- def self.parse(raw_json, library_id)
2
+ def self.games_parse(raw_json, library_id)
3
3
  raw_json["item"].each do |game_json|
4
- game = Game.new
5
- game.bgg_id = game_json["id"]
4
+ game = Game.find_or_initialize_by(bgg_id: game_json["id"])
6
5
  game.name = game_json["name"][0]["value"]
7
6
  game.description = game_json["description"]
8
7
  game.minplayers = game_json["minplayers"][0]["value"].to_i
@@ -13,19 +12,24 @@ class BggParser
13
12
  game.image_url = game_json["image"][0]
14
13
  game.thumbnail_url = game_json["thumbnail"][0]
15
14
 
16
- game.save
15
+ if game.save
17
16
 
18
- GamesLibrary.create game: game, library_id: library_id
17
+ GamesLibrary.create game: game, library_id: library_id
19
18
 
20
- game_json["link"].each do |row|
21
- if row["type"] == "boardgamecategory"
22
- category = Category.find_or_create_by bgg_id: row["id"], name: row["value"]
23
- gamescategory = GamesCategory.create(game: game, category: category) if category.valid?
24
- elsif row["type"] == "boardgamemechanic"
25
- mechanic = Mechanic.find_or_create_by bgg_id: row["id"], name: row["value"]
26
- gamesmechanic = GamesMechanic.create(game: game, mechanic: mechanic) if mechanic.valid?
19
+ game_json["link"].each do |row|
20
+ if row["type"] == "boardgamecategory"
21
+ category = Category.find_or_create_by bgg_id: row["id"], name: row["value"]
22
+ gamescategory = GamesCategory.create(game: game, category: category) if category.valid?
23
+ elsif row["type"] == "boardgamemechanic"
24
+ mechanic = Mechanic.find_or_create_by bgg_id: row["id"], name: row["value"]
25
+ gamesmechanic = GamesMechanic.create(game: game, mechanic: mechanic) if mechanic.valid?
26
+ end
27
27
  end
28
28
  end
29
29
  end
30
30
  end
31
+
32
+ def self.user_parse(raw_json, user_id)
33
+
34
+ end
31
35
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bgg-parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Mueller