Skip to content

Instantly share code, notes, and snippets.

@zdk
Forked from frankie-loves-jesus/test.rb
Last active August 29, 2015 14:04
Show Gist options
  • Save zdk/aa91190f62f9df43f1c7 to your computer and use it in GitHub Desktop.
Save zdk/aa91190f62f9df43f1c7 to your computer and use it in GitHub Desktop.
require 'json'
require 'rash'
@response = <<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)
rash = Hashie::Rash.new(hash)
products = []
class Product
attr_accessor :name, :image, :url, :price
end
rash.products.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
[#<Product:0x007fbbab1adc40 @name="Morgan Sport", @image="http://nlyscandinavia.scene7.com/is/image/nlyscandinavia/productOverview2/677737-0014.jpg", @url="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)", @price="1395">, #<Product:0x007fbbab11ef18 @name="Sport Anti-Perspirant Sport Stick", @image="http://nlyscandinavia.scene7.com/is/image/nlyscandinavia/productOverview2/218925-0001.jpg", @url="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)", @price="235">, #<Product:0x007fbbab1177b8 @name="The One Sport Kit", @image="http://nlyscandinavia.scene7.com/is/image/nlyscandinavia/productOverview2/217882-0108.jpg", @url="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)", @price="670">, #<Product:0x007fbbab114e00 @name="Classic Sport Shirt", @image="http://nlyscandinavia.scene7.com/is/image/nlyscandinavia/productOverview2/109983-0286.jpg", @url="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)", @price="400">]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment