{"push_id":1082974194,"size":34,"distinct_size":0,"ref":"refs/heads/v1.3","head":"76d7474048f75b5262065d8318ceff437171a2c8","before":"c0bcd30e09f922109ac1c1018d93e606d7257227","commits":[{"sha":"1739fd697d8caf81fe6065627ef020e212ead48d","author":{"email":"1e61407af37e8f6a3a550516842943c5d7d87094@brgh.net","name":"Jordan Brough"},"message":"Deprecate User#drop_payment_source & Gateway#disable_customer_profile\n\nThese are not used within Solidus itself.\nErasing data doesn't seem like the right way to 'disable' something.\n`User#drop_payment_source` is not an accurate name for what that\nmethod did.\nI did a quick survey of github and could find only one public repo\nthat is currently using this:\nhttps://github.com/sprangular/sprangular/blob/v0.1.0/app/controllers/sprangular/credit_cards_controller.rb\n\nI was looking at this while looking at what it takes to create a\nnon-credit-card payment source.","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/1739fd697d8caf81fe6065627ef020e212ead48d"},{"sha":"d4d989e33b6640731b707cb764bfa3c65d792a3a","author":{"email":"1e61407af37e8f6a3a550516842943c5d7d87094@brgh.net","name":"Jordan Brough"},"message":"Add `caller` to deprecation","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/d4d989e33b6640731b707cb764bfa3c65d792a3a"},{"sha":"4550387bf84e47faccd627137ae6ffdbdd14d137","author":{"email":"1e61407af37e8f6a3a550516842943c5d7d87094@brgh.net","name":"Jordan Brough"},"message":"Combine Order#token_based? and Gateway#supports?\n\n`Order#token_based?` was a private method and was only used inside\n`Order#handle_payment_preconditions` and only in conjunction with\nthe `supports?` method.  And the `supports?` method itself is only\nused in that same spot.  So as best we could tell, `token_based?` was\nbeing used to modify how `supports?` works.  Combining them seems more\nstraightforward.\n\nThe motivation here is to make it easier to support non-credit-card\npayment sources reducing complexity and reducing the number of methods\nthat a non-credit-card source is required to implement.","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/4550387bf84e47faccd627137ae6ffdbdd14d137"},{"sha":"a46c53dedd6e8941531c750e4c161878938c61e8","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@stembolt.com","name":"Martin Meyerhoff"},"message":"Add Variant Pricer and related Pricing Options class\n\nThe variant pricer class can either be instantiated using a Hash or using an order.\nWhen setting the price for a line item and when displaying the price\nof a variant, so far we're assuming that only the currency is relevant\nfor the price, when really it could be a number of other things.\n\nCalculating a line item price is substantially different from showing\nthe price for a variant in a frontend helper, as in one case we use\nthe `current_currency` variable, while in the other we take things from\nthe order. This class provides a single source of truth for all things\nnecessary to choose a price in both cases.\n\nAdded tests to reflect that the option keys have to reflect columns\non the Spree::Price model, as it is going to be used for ActiveRecord queries.\n\nAlso added a #cache_key and a #currency method to replace the differnt\nuses of `current_currency` in the frontend.","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/a46c53dedd6e8941531c750e4c161878938c61e8"},{"sha":"5328fb28ef866257e892be1124641e9aab0d272d","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@stembolt.com","name":"Martin Meyerhoff"},"message":"Implement Pricer class\n\nThe pricer class knows its related pricing options class, and gets\ndefault options from there.\n\nHere it also becomes apparent how the pricer's options hash has\nto always coincide with column names on the Spree::Price model.\n\nI've kept the behaviour of `price_for` similar to `price_in`, except for\ntwo things: Instead of returning a `Spree::Price` object, return a `Spree::Money`\nobject (because that's all we need), and of course accepting more options\nwhen searching.\n\nThe `is_default` flag on `Spree::Price` indicates whether a price is currently valid,\nwhich is not exactly something that I see in the pricing options (as it's not something\nthat we would directly search for. I replaced that with a scope on Spree::Price.","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/5328fb28ef866257e892be1124641e9aab0d272d"},{"sha":"84872f7fd5867f1bb0a823d5fab5e62ff7831d87","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@stembolt.com","name":"Martin Meyerhoff"},"message":"Make the variant pricer class configurable\n\nAdds a configuration option to the global configuration.\n\nAlso provides a delegator so that we have a reader for the variant pricer's\npricing options class and a default pricing options instance..","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/84872f7fd5867f1bb0a823d5fab5e62ff7831d87"},{"sha":"7ae302cec804dcc9bfc7665a6304a7eb6aa9ec77","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@stembolt.com","name":"Martin Meyerhoff"},"message":"Spree::Product#categorise_variants_from_option: Adapt and deprecate\n\nUsing the new `with_prices` scope instead of `.active`. Since the method\nis not called anywhere, deprecated.","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/7ae302cec804dcc9bfc7665a6304a7eb6aa9ec77"},{"sha":"ba0b0ed131805e82b18c7ae24585ac16573ea108","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@stembolt.com","name":"Martin Meyerhoff"},"message":"Create new method Spree::Product#variants_and_option_values_for\n\nThis method does the same as `Spree::Product#variants_and_option_values`, except\nthat it can deal with more pricing options than just currency. It's also tested a\nlittle better now.","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/ba0b0ed131805e82b18c7ae24585ac16573ea108"},{"sha":"9bd2631f737b2ef7005efea73dc1f551bd3a6ab1","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@stembolt.com","name":"Martin Meyerhoff"},"message":"Replace Variant.active scope in Product importer","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/9bd2631f737b2ef7005efea73dc1f551bd3a6ab1"},{"sha":"52a6f7279f836af7b251ef189734a6fbc6066651","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@stembolt.com","name":"Martin Meyerhoff"},"message":"Add a current_pricing_options helper\n\nThis helper is intended to replace the `current_currency` helper\nand is designed to be overridden by stores or extensions if need be.","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/52a6f7279f836af7b251ef189734a6fbc6066651"},{"sha":"018993a2a814fdf90201c0dbf44fa3c7452f3e0e","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@stembolt.com","name":"Martin Meyerhoff"},"message":"Adapt Base Seacher class\n\nThis uses the price options class in the searcher. For backwards compatibility,\nthere's still a `current_currency` setter that now updates the pricing options\ninstead of writing into its own instance variable.","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/018993a2a814fdf90201c0dbf44fa3c7452f3e0e"},{"sha":"a43e8263e1378cf9a729ad450cc31b05bc080e3f","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@stembolt.com","name":"Martin Meyerhoff"},"message":"Change current_currency to current_price_options where appropriate\n\nThis is mostly in caching situations where we want to make sure that\nthe cache also gets invalidated once we show the page with, say, a\ndifferent country.","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/a43e8263e1378cf9a729ad450cc31b05bc080e3f"},{"sha":"528cd4a8774f69ca81ce5d551e52535276d7d412","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@stembolt.com","name":"Martin Meyerhoff"},"message":"Fix Use of I18n in variant_price_diff helper\n\nThis was just terrible, and I had to fix it.\nI'm not submitting it separately because it the variable names depend\non the implementation which changes with #1071.","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/528cd4a8774f69ca81ce5d551e52535276d7d412"},{"sha":"981f7ad80a1b1073c53513c9ec616f709ca83eb5","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@stembolt.com","name":"Martin Meyerhoff"},"message":"Deprecate Spree::Product#variants_and_option_values\n\nThis method needs to be passed a `current_currency` String, but in order\nto fully do what it's supposed to do it has to accept a `pricing_options`\nobject. There's a new implementation with an added `for` around that\ndoes the same thing and more.","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/981f7ad80a1b1073c53513c9ec616f709ca83eb5"},{"sha":"0848c976ab66e8a97e39eb93a84c6b540952d7f0","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@stembolt.com","name":"Martin Meyerhoff"},"message":"Use current_pricing_options.currency instead of current_currency\n\nAcross the project, we want to have ONE method of finding out the\ncurrent currency. This is preparatory work for deprecating `current_currency`.","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/0848c976ab66e8a97e39eb93a84c6b540952d7f0"},{"sha":"cae84867355b8786e88ea564518d443c5933fb0b","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@stembolt.com","name":"Martin Meyerhoff"},"message":"Remove use of unused `current_currency` argument in ProductsController\n\nThe `active` scope on products takes a currency as an argument, but never\nactually does anything with it. Besides, `available` does the Job as well.","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/cae84867355b8786e88ea564518d443c5933fb0b"},{"sha":"f247cfa2b4f13c67010689b3ff4cf70723c6c4d4","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@stembolt.com","name":"Martin Meyerhoff"},"message":"Deprecate current_currency\n\nAll of its functionality is now contained in `current_pricing_options`.","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/f247cfa2b4f13c67010689b3ff4cf70723c6c4d4"},{"sha":"cab0db8480c0fbad84400fdfb749b92144ccab26","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@stembolt.com","name":"Martin Meyerhoff"},"message":"Hook up the Spree::DefaultPrice and Spree::Price with Pricing options\n\nThis commit makes uses of the new pricing options class in the Spree::Price\nmodel as well as in the Spree::DefaultPrice concern. Instead of just\nsetting the default price scoped on currency alone, now all of the\npricing options will be taken into account for the default bits.","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/cab0db8480c0fbad84400fdfb749b92144ccab26"},{"sha":"7b1d4235e3b02a149418be750786d4cc21816c1a","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@stembolt.com","name":"Martin Meyerhoff"},"message":"Remove Conservative Line Item pricer, use Variant pricer instead\n\nThe line item pricers have been a not-so-good idea. They over-engineer\nbehaviour of the line item itself while not playing well with\n`pricing_options`. Replaced the class with an if statement.\n\nAdded some tests so that the pricing options will return a currency even if\nthe orders currency is nil.","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/7b1d4235e3b02a149418be750786d4cc21816c1a"},{"sha":"126e80367a6333c980718844bb85ca891d7efd7b","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@stembolt.com","name":"Martin Meyerhoff"},"message":"Replace the line item pricers entirely with variant pricers\n\nThe line item pricers have been a bad idea. This commit moves the functionality of\nthe `LineItem::PriceModifierPricer`. It's now in the `solidus_price_modifier` gem.","distinct":false,"url":"https://api.github.com/repos/solidusio/solidus/commits/126e80367a6333c980718844bb85ca891d7efd7b"}]}