bgg-parser 0.0.2 → 0.0.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.
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