Skip to content

Instantly share code, notes, and snippets.

View peterberkenbosch's full-sized avatar
:shipit:

Peter Berkenbosch peterberkenbosch

:shipit:
View GitHub Profile
{
product: {
sku: "H8MAGENTO",
price: 15.99,
shipping_category_id: 0,
name: "Test Thingie",
description: "Voluptatibus dolor testicus."
}
}
@peterberkenbosch
peterberkenbosch / gist:de25254c72403ae4b354
Created July 24, 2014 13:59
failing specs on master with bundle exec rake
Failures:
1) Spree::Admin::BaseController unauthorized request checks error
Failure/Error: expect(response).to redirect_to "/rooot"
Expected response to be a redirect to <http://test.host/rooot> but was a redirect to <http://test.host/>.
Expected "http://test.host/rooot" to be === "http://test.host/".
# ./spec/controllers/spree/admin/base_controller_spec.rb:22:in `block (3 levels) in <top (required)>'
Finished in 1.49 seconds
2 examples, 1 failure
@peterberkenbosch
peterberkenbosch / push_single_order.rb
Created July 24, 2014 13:52
Push a single order to wombat sample
order = Spree::Order.last
payload_builder = Spree::Wombat::Config[:payload_builder]["Spree::Order"]
payload = ActiveModel::ArraySerializer.new([order],
each_serializer: payload_builder[:serializer].constantize,
root: payload_builder[:root]
).to_json
Spree::Wombat::Client.push(payload)
Spree.config do |config|
# Example:
# Uncomment to stop tracking inventory levels in the application
# config.track_inventory_levels = false
config.products_per_page = 9
end
@peterberkenbosch
peterberkenbosch / override_serializer.rb
Created July 10, 2014 13:54
add custom fields on order serializer
# Override the order serializer, adding the needed attributes:
class MyOrderSerializer < Spree::Wombat::OrderSerializer
attributes :shipping_instructions
end
# make sure to update config/initializers/wombat.rb to include the new serializer:
config.payload_builder = {
"Spree::Order" => {:serializer => "MyOrderSerializer", :root => "orders"},
@peterberkenbosch
peterberkenbosch / Procfile
Created June 25, 2014 11:34
Sample scheduler & filter
scheduler: bundle exec ./push_it_scheduler.rb
function fix() {
git rebase -i HEAD~$1
}
function branch_name() {
branch_name="$(git symbolic-ref HEAD 2>/dev/null)"
branch_name=${branch_name##refs/heads/}
echo $branch_name
}
@peterberkenbosch
peterberkenbosch / deface_sample.html.erb.deface
Created June 6, 2014 07:52
place this file: app/overrides/spree/admin/orders/_add_product/deface_sample.html.erb.deface
<!-- replace '#add-line-item' -->
<h1> Hello world </h1>
timestamps = Spree::Wombat::Config[:last_pushed_timestamps]
timestamps["Spree::Order"] = 2.days.ago
Spree::Wombat::Config[:last_pushed_timestamps] = timestamps
# Close all open adjustments that still have a "Spree::Order" as source_type.
Spree::Adjustment.where(source_type: "Spree::Order").open.collect(&:close!)
# Migrate existing order wide tax adjustments to line item adjustments:
Spree::Order.find_each do |order|
order_tax_adjustments = order.adjustments.where(source_type: "Spree::TaxRate")
if order_tax_adjustments.count > 0
#apply the tax on the line_items
Spree::TaxRate.adjust(order, order.line_items)