Skip to content

Instantly share code, notes, and snippets.

@frankie-loves-jesus
Created August 5, 2014 02:49
Show Gist options
  • Save frankie-loves-jesus/cd5a6ca61bf5da3d9aa8 to your computer and use it in GitHub Desktop.
Save frankie-loves-jesus/cd5a6ca61bf5da3d9aa8 to your computer and use it in GitHub Desktop.
require 'json'
require 'rash'
@json_text = <<END
{
"productHeader": {
"totalHits": 147
},
"products": [{
"name": "Morgan Sport",
"productImage": {
"url": "http://nlyscandinavia.scene7.com/is/image/nlyscandinavia/productOverview2/677737-0014.jpg"
},
"language": "no",
"description": "Sko i ekte skinn fra FILIPPA K. Snøring foran. <br><br>Høyde på såle: 3 cm. <br>Høyde på skaft: 6 cm. <br>Omkrets: 31 cm. <br><br>Laget av ekte skinn. <br>Innside av ekte skinn. <br>Yttersåle av gummi.",
"brand": "Filippa K",
"identifiers": {
"sku": "677737-0014"
},
"fields": [{
"name": "productGroup",
"value": "Casual"
}, {
"name": "gender",
"value": "Mann"
}, {
"name": "productClass",
"value": "Sko"
}, {
"name": "sizes",
"value": "40,41,42,43,44,45"
}, {
"name": "artNumber",
"value": "677737-0014"
}, {
"name": "extraImageProductSmall",
"value": "http://nlyscandinavia.scene7.com/is/image/nlyscandinavia/cart_thumb/677737-0014.jpg"
}, {
"name": "sale",
"value": "false"
}, {
"name": "color",
"value": "Svart"
}, {
"name": "product_id_original",
"value": "677737-0014"
}, {
"name": "extraImageProductLarge",
"value": "http://nlyscandinavia.scene7.com/is/image/nlyscandinavia/productLarge/677737-0014.jpg"
}],
"offers": [{
"feedId": 10086,
"productUrl": "http://pdt.tradedoubler.com/click?a(2402331)p(80279)product(53278c8ee4b07c67475c7d4f)ttid(3)url(http%3A%2F%2Fnlyman.com%2Fno%2Fsko-mann%2Fsko%2Fcasual%2Ffilippa-k-676%2Fmorgan-sport-677737-14%2F)",
"priceHistory": [{
"price": {
"value": "1395",
"currency": "NOK"
},
"date": 1395100814033
}],
"modified": 1402443884988,
"inStock": 0,
"sourceProductId": "677737-0014",
"programLogo": "http://hst.tradedoubler.com/file/20649/no/nelly/nelly_100.jpg",
"programName": "Nelly NO",
"id": "53278c8ee4b07c67475c7d4f"
}],
"categories": [{
"name": "Mann > SKO > Casual"
}]
}, {
"name": "Sport Anti-Perspirant Sport Stick",
"productImage": {
"url": "http://nlyscandinavia.scene7.com/is/image/nlyscandinavia/productOverview2/218925-0001.jpg"
},
"language": "no",
"description": "Sport Anti-Perspirant Sport Stick fra Molton Brown er en forfriskende antiperspirant deostick som holder deg tørr og fresh i opptil 24 timer. Oppfriskende duft av muskat og lime. <br>75 g.",
"brand": "Molton Brown",
"identifiers": {
"sku": "218925-0001"
},
"fields": [{
"name": "gender",
"value": "Mann"
}, {
"name": "productStyle",
"value": "Deo"
}, {
"name": "extraImageProductLarge",
"value": "http://nlyscandinavia.scene7.com/is/image/nlyscandinavia/productLarge/218925-0001.jpg"
}, {
"name": "artNumber",
"value": "218925-0001"
}, {
"name": "productClass",
"value": "Skjønnhet"
}, {
"name": "productGroup",
"value": "Hudpleie"
}, {
"name": "sale",
"value": "false"
}, {
"name": "color",
"value": "Hvit"
}, {
"name": "extraImageProductSmall",
"value": "http://nlyscandinavia.scene7.com/is/image/nlyscandinavia/cart_thumb/218925-0001.jpg"
}, {
"name": "sizes",
"value": "Onesize"
}, {
"name": "product_id_original",
"value": "218925-0001"
}],
"offers": [{
"feedId": 10086,
"productUrl": "http://pdt.tradedoubler.com/click?a(2402331)p(80279)product(52d40112e4b04af32ddbecc6)ttid(3)url(http%3A%2F%2Fnlyman.com%2Fno%2Fskj%C3%B8nnhet-mann%2Fskj%C3%B8nnhet%2Fhudpleie%2Fmolton-brown-200088%2Fsport-anti-perspirant-sport-stick-218925-1%2F)",
"priceHistory": [{
"price": {
"value": "235",
"currency": "NOK"
},
"date": 1389625618527
}],
"modified": 1401379080238,
"inStock": 0,
"sourceProductId": "218925-0001",
"programLogo": "http://hst.tradedoubler.com/file/20649/no/nelly/nelly_100.jpg",
"programName": "Nelly NO",
"id": "52d40112e4b04af32ddbecc6"
}],
"categories": [{
"name": "Mann > Skjønnhet > Hudpleie > Deo",
"tdCategoryName": "Cosmetics",
"id": 117
}]
}, {
"name": "The One Sport Kit",
"productImage": {
"url": "http://nlyscandinavia.scene7.com/is/image/nlyscandinavia/productOverview2/217882-0108.jpg"
},
"language": "no",
"description": "The One Sport Kit fra Dolce & Gabbana Perfume inneholder The One Sport (50ml), The One Sport After Shave (50ml) og The One Sport Shower Gel (50ml). The One Sport er som navnet indikerer en sporty, frisk duft. Denne oppdaterte versjonen av The One for Men er oppfrisket med marine noter som i toppduften kombineres med rosmarin. Den spennende hjertenoten består av kardemomme og sekvoja og duften avrundes i en varm base som består av patsjuli og musk.",
"brand": "Dolce & Gabbana Perfume",
"identifiers": {
"sku": "217882-0108"
},
"fields": [{
"name": "gender",
"value": "Mann"
}, {
"name": "productStyle",
"value": "Parfyme Kit"
}, {
"name": "productGroup",
"value": "Gavesett"
}, {
"name": "product_id_original",
"value": "217882-0108"
}, {
"name": "color",
"value": "Transparent"
}, {
"name": "artNumber",
"value": "217882-0108"
}, {
"name": "extraImageProductSmall",
"value": "http://nlyscandinavia.scene7.com/is/image/nlyscandinavia/cart_thumb/217882-0108.jpg"
}, {
"name": "productClass",
"value": "Skjønnhet"
}, {
"name": "extraImageProductLarge",
"value": "http://nlyscandinavia.scene7.com/is/image/nlyscandinavia/productLarge/217882-0108.jpg"
}, {
"name": "sale",
"value": "false"
}, {
"name": "sizes",
"value": "Onesize"
}],
"offers": [{
"feedId": 10086,
"productUrl": "http://pdt.tradedoubler.com/click?a(2402331)p(80279)product(526250fce4b0a7bded6ad0dd)ttid(3)url(http%3A%2F%2Fnlyman.com%2Fno%2Fskj%C3%B8nnhet-mann%2Fskj%C3%B8nnhet%2Fgavesett%2Fdolce-gabbana-perfume-2003%2Fthe-one-sport-kit-217882-108%2F)",
"priceHistory": [{
"price": {
"value": "670",
"currency": "NOK"
},
"date": 1382174972827
}],
"modified": 1401379083374,
"inStock": 1,
"sourceProductId": "217882-0108",
"programLogo": "http://hst.tradedoubler.com/file/20649/no/nelly/nelly_100.jpg",
"programName": "Nelly NO",
"id": "526250fce4b0a7bded6ad0dd"
}],
"categories": [{
"name": "Mann > Skjønnhet > Gavesett > Parfyme Kit",
"tdCategoryName": "Cosmetics",
"id": 117
}]
}, {
"name": "Classic Sport Shirt",
"productImage": {
"url": "http://nlyscandinavia.scene7.com/is/image/nlyscandinavia/productOverview2/109983-0286.jpg"
},
"language": "no",
"description": "Mønstrete skjorte fra DENIM & SUPPLY RALPH LAUREN. Kortermet modell med button-down krage. Lomme og knapper foran.<br><br>Laget av 100% bomull.",
"brand": "Denim & Supply Ralph Lauren",
"identifiers": {
"sku": "109983-0286"
},
"fields": [{
"name": "product_id_original",
"value": "109983-0286"
}, {
"name": "productClass",
"value": "Klær"
}, {
"name": "gender",
"value": "Mann"
}, {
"name": "sizes",
"value": "Small,Medium,Large,X-Large"
}, {
"name": "artNumber",
"value": "109983-0286"
}, {
"name": "color",
"value": "Navy"
}, {
"name": "productGroup",
"value": "Skjorter"
}, {
"name": "productStyle",
"value": "Klassisk krage"
}, {
"name": "extraImageProductLarge",
"value": "http://nlyscandinavia.scene7.com/is/image/nlyscandinavia/productLarge/109983-0286.jpg"
}, {
"name": "sale",
"value": "true"
}, {
"name": "extraImageProductSmall",
"value": "http://nlyscandinavia.scene7.com/is/image/nlyscandinavia/cart_thumb/109983-0286.jpg"
}],
"offers": [{
"feedId": 10086,
"productUrl": "http://pdt.tradedoubler.com/click?a(2402331)p(80279)product(536dbbb5e4b0b8643ea2dd06)ttid(3)url(http%3A%2F%2Fnlyman.com%2Fno%2Fkl%C3%A6r-til-menn%2Fkl%C3%A6r%2Fskjorter%2Fdenim-supply-ralph-lauren-100820%2Fclassic-sport-shirt-109983-286%2F)",
"priceHistory": [{
"price": {
"value": "400",
"currency": "NOK"
},
"date": 1403160522723
}],
"modified": 1403160522723,
"inStock": 1,
"sourceProductId": "109983-0286",
"programLogo": "http://hst.tradedoubler.com/file/20649/no/nelly/nelly_100.jpg",
"programName": "Nelly NO",
"id": "536dbbb5e4b0b8643ea2dd06"
}],
"categories": [{
"name": "Mann > KLÆR > Skjorter > Klassisk krage"
}]
}]
}
END
hash = JSON.parse(response)["products"]
rash = Hashie::Rash.new(hash)
products = []
rash.each do |prod|
product = Product.new
product.name = prod["name"]
product.image = prod["product_image"]['url']
product.url = prod['offers'][0]['product_url']
product.price = prod['offers'][0]['price_history'][0]['price']['value']
products << product
end
products
puts products.inspect
#[#<Hashie::Rash height=205 size_name="Large" url="http://resources.shopstyle.com/pim/7b/28/7b2894c203529b0956cdd6b760629d4a.jpg" width=164>]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment