{"action":"created","comment":{"url":"https://api.github.com/repos/spree/spree/pulls/comments/27179368","id":27179368,"diff_hunk":"@@ -3,6 +3,7 @@\n # the one component of Spree.\n source 'https://rubygems.org'\n \n+gem 'rails', '4.2.0'","path":"common_spree_dependencies.rb","position":4,"original_position":4,"commit_id":"723a1136260737c4eee21054e87853c9ef263a5d","original_commit_id":"723a1136260737c4eee21054e87853c9ef263a5d","user":{"login":"JDutil","id":25104,"avatar_url":"https://avatars.githubusercontent.com/u/25104?v=3","gravatar_id":"","url":"https://api.github.com/users/JDutil","html_url":"https://github.com/JDutil","followers_url":"https://api.github.com/users/JDutil/followers","following_url":"https://api.github.com/users/JDutil/following{/other_user}","gists_url":"https://api.github.com/users/JDutil/gists{/gist_id}","starred_url":"https://api.github.com/users/JDutil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JDutil/subscriptions","organizations_url":"https://api.github.com/users/JDutil/orgs","repos_url":"https://api.github.com/users/JDutil/repos","events_url":"https://api.github.com/users/JDutil/events{/privacy}","received_events_url":"https://api.github.com/users/JDutil/received_events","type":"User","site_admin":false},"body":"Yup 3.0.x was our rails 4.2.x upgrade.  I stole your patch so that shouldn't be an issue:\r\nhttps://github.com/spree/spree/blob/3-0-stable/core/spec/support/rspec-activemodel-mocks-patch.rb","created_at":"2015-03-26T00:13:33Z","updated_at":"2015-03-26T00:13:33Z","html_url":"https://github.com/spree/spree/pull/6227#discussion_r27179368","pull_request_url":"https://api.github.com/repos/spree/spree/pulls/6227","_links":{"self":{"href":"https://api.github.com/repos/spree/spree/pulls/comments/27179368"},"html":{"href":"https://github.com/spree/spree/pull/6227#discussion_r27179368"},"pull_request":{"href":"https://api.github.com/repos/spree/spree/pulls/6227"}}},"pull_request":{"url":"https://api.github.com/repos/spree/spree/pulls/6227","id":31947154,"html_url":"https://github.com/spree/spree/pull/6227","diff_url":"https://github.com/spree/spree/pull/6227.diff","patch_url":"https://github.com/spree/spree/pull/6227.patch","issue_url":"https://api.github.com/repos/spree/spree/issues/6227","number":6227,"state":"open","locked":false,"title":"Refactor VAT handling (Work in Progress)","user":{"login":"mamhoff","id":703401,"avatar_url":"https://avatars.githubusercontent.com/u/703401?v=3","gravatar_id":"","url":"https://api.github.com/users/mamhoff","html_url":"https://github.com/mamhoff","followers_url":"https://api.github.com/users/mamhoff/followers","following_url":"https://api.github.com/users/mamhoff/following{/other_user}","gists_url":"https://api.github.com/users/mamhoff/gists{/gist_id}","starred_url":"https://api.github.com/users/mamhoff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mamhoff/subscriptions","organizations_url":"https://api.github.com/users/mamhoff/orgs","repos_url":"https://api.github.com/users/mamhoff/repos","events_url":"https://api.github.com/users/mamhoff/events{/privacy}","received_events_url":"https://api.github.com/users/mamhoff/received_events","type":"User","site_admin":false},"body":"This PR should address Issue #6154. \r\n\r\n## This PR breaks existing stores\r\n\r\nThis PR is *breaking*. It assumes all prices to be entered without tax, which will make *prices wrong* in stores that have entered their prices including tax. If this has a chance of being accepted, we'd write a rake task that converts prices from gross to net prices for existing stores. \r\n\r\n## New meaning for `Zone.default_tax`\r\n\r\nThe `default_tax` zone has a slightly different role: It is only there for calculating included tax on orders that don't have a zone assigned yet. This also removes the need for loading the default zone when looking for applicable tax_rates. \r\n\r\n## New meaning for `included_in_tax`\r\n\r\nThe `included_in_price` flag can now be set even when there is no default zone. It is not used anymore to calculate net prices, but only for tagging VATs as VATs. At a later stage, this flag will be used for displaying prices including VAT not-logged in users.\r\n\r\n## New convention: All prices in the database are net prices\r\n\r\nAdopting the convention that all prices are entered and calculated upon excluding VAT simplifies VAT handling enormously. This is the reason a lot of code (especially in tax_rate.rb and the default tax calculator) could go away. I took care to adapt Spree's tests to the new situation. \r\n\r\nLike I said, this is still work in progress. Variants are still not shown with the default price added, and there is stuff to do for shipping rates and promotions, too.\r\n\r\nTo have an idea what this is supposed to accomplish, I set up a separate spec in `core/spec/models/moss_taxes_spec.rb`. These specs fail on every other Spree version. \r\n\r\nPlease please please, if anyone has a chance to look over this code or even try it out, I'd be more than grateful for Feedback. Here's a reference to some of the people who have provided notable feedback or code on taxes in issues I've read: @JDutil @peterberkenbosch @vkvelho @jdurand @gmacdougall @GeekOnCoffee  @cduv @radar @Hates @simmsy. Feel free to pull more people into the conversation. \r\n\r\nRight now, you can follow my commit history to see what I did when. For the PR to be merged, I will rebase; and there will be force pushes to this PR at some point. You've been warned :skull:. \r\n","created_at":"2015-03-25T17:42:10Z","updated_at":"2015-03-26T00:13:33Z","closed_at":null,"merged_at":null,"merge_commit_sha":"836f4623aa23d47dc446793c71e24a6f9d86d3aa","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/spree/spree/pulls/6227/commits","review_comments_url":"https://api.github.com/repos/spree/spree/pulls/6227/comments","review_comment_url":"https://api.github.com/repos/spree/spree/pulls/comments{/number}","comments_url":"https://api.github.com/repos/spree/spree/issues/6227/comments","statuses_url":"https://api.github.com/repos/spree/spree/statuses/723a1136260737c4eee21054e87853c9ef263a5d","head":{"label":"magiclabs:refactor-tax","ref":"refactor-tax","sha":"723a1136260737c4eee21054e87853c9ef263a5d","user":{"login":"magiclabs","id":714995,"avatar_url":"https://avatars.githubusercontent.com/u/714995?v=3","gravatar_id":"","url":"https://api.github.com/users/magiclabs","html_url":"https://github.com/magiclabs","followers_url":"https://api.github.com/users/magiclabs/followers","following_url":"https://api.github.com/users/magiclabs/following{/other_user}","gists_url":"https://api.github.com/users/magiclabs/gists{/gist_id}","starred_url":"https://api.github.com/users/magiclabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magiclabs/subscriptions","organizations_url":"https://api.github.com/users/magiclabs/orgs","repos_url":"https://api.github.com/users/magiclabs/repos","events_url":"https://api.github.com/users/magiclabs/events{/privacy}","received_events_url":"https://api.github.com/users/magiclabs/received_events","type":"Organization","site_admin":false},"repo":{"id":1933829,"name":"spree","full_name":"magiclabs/spree","owner":{"login":"magiclabs","id":714995,"avatar_url":"https://avatars.githubusercontent.com/u/714995?v=3","gravatar_id":"","url":"https://api.github.com/users/magiclabs","html_url":"https://github.com/magiclabs","followers_url":"https://api.github.com/users/magiclabs/followers","following_url":"https://api.github.com/users/magiclabs/following{/other_user}","gists_url":"https://api.github.com/users/magiclabs/gists{/gist_id}","starred_url":"https://api.github.com/users/magiclabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magiclabs/subscriptions","organizations_url":"https://api.github.com/users/magiclabs/orgs","repos_url":"https://api.github.com/users/magiclabs/repos","events_url":"https://api.github.com/users/magiclabs/events{/privacy}","received_events_url":"https://api.github.com/users/magiclabs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/magiclabs/spree","description":"Spree is a complete open source e-commerce solution for Ruby on Rails.","fork":true,"url":"https://api.github.com/repos/magiclabs/spree","forks_url":"https://api.github.com/repos/magiclabs/spree/forks","keys_url":"https://api.github.com/repos/magiclabs/spree/keys{/key_id}","collaborators_url":"https://api.github.com/repos/magiclabs/spree/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/magiclabs/spree/teams","hooks_url":"https://api.github.com/repos/magiclabs/spree/hooks","issue_events_url":"https://api.github.com/repos/magiclabs/spree/issues/events{/number}","events_url":"https://api.github.com/repos/magiclabs/spree/events","assignees_url":"https://api.github.com/repos/magiclabs/spree/assignees{/user}","branches_url":"https://api.github.com/repos/magiclabs/spree/branches{/branch}","tags_url":"https://api.github.com/repos/magiclabs/spree/tags","blobs_url":"https://api.github.com/repos/magiclabs/spree/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/magiclabs/spree/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/magiclabs/spree/git/refs{/sha}","trees_url":"https://api.github.com/repos/magiclabs/spree/git/trees{/sha}","statuses_url":"https://api.github.com/repos/magiclabs/spree/statuses/{sha}","languages_url":"https://api.github.com/repos/magiclabs/spree/languages","stargazers_url":"https://api.github.com/repos/magiclabs/spree/stargazers","contributors_url":"https://api.github.com/repos/magiclabs/spree/contributors","subscribers_url":"https://api.github.com/repos/magiclabs/spree/subscribers","subscription_url":"https://api.github.com/repos/magiclabs/spree/subscription","commits_url":"https://api.github.com/repos/magiclabs/spree/commits{/sha}","git_commits_url":"https://api.github.com/repos/magiclabs/spree/git/commits{/sha}","comments_url":"https://api.github.com/repos/magiclabs/spree/comments{/number}","issue_comment_url":"https://api.github.com/repos/magiclabs/spree/issues/comments{/number}","contents_url":"https://api.github.com/repos/magiclabs/spree/contents/{+path}","compare_url":"https://api.github.com/repos/magiclabs/spree/compare/{base}...{head}","merges_url":"https://api.github.com/repos/magiclabs/spree/merges","archive_url":"https://api.github.com/repos/magiclabs/spree/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/magiclabs/spree/downloads","issues_url":"https://api.github.com/repos/magiclabs/spree/issues{/number}","pulls_url":"https://api.github.com/repos/magiclabs/spree/pulls{/number}","milestones_url":"https://api.github.com/repos/magiclabs/spree/milestones{/number}","notifications_url":"https://api.github.com/repos/magiclabs/spree/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/magiclabs/spree/labels{/name}","releases_url":"https://api.github.com/repos/magiclabs/spree/releases{/id}","created_at":"2011-06-22T08:19:20Z","updated_at":"2015-03-11T20:59:31Z","pushed_at":"2015-03-25T17:14:10Z","git_url":"git://github.com/magiclabs/spree.git","ssh_url":"git@github.com:magiclabs/spree.git","clone_url":"https://github.com/magiclabs/spree.git","svn_url":"https://github.com/magiclabs/spree","homepage":"http://spreecommerce.com","size":72255,"stargazers_count":2,"watchers_count":2,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":2,"default_branch":"master"}},"base":{"label":"spree:3-0-stable","ref":"3-0-stable","sha":"cfa72b4b0fedbca2c6ed04c6e165dd34f59d407c","user":{"login":"spree","id":56702,"avatar_url":"https://avatars.githubusercontent.com/u/56702?v=3","gravatar_id":"","url":"https://api.github.com/users/spree","html_url":"https://github.com/spree","followers_url":"https://api.github.com/users/spree/followers","following_url":"https://api.github.com/users/spree/following{/other_user}","gists_url":"https://api.github.com/users/spree/gists{/gist_id}","starred_url":"https://api.github.com/users/spree/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spree/subscriptions","organizations_url":"https://api.github.com/users/spree/orgs","repos_url":"https://api.github.com/users/spree/repos","events_url":"https://api.github.com/users/spree/events{/privacy}","received_events_url":"https://api.github.com/users/spree/received_events","type":"Organization","site_admin":false},"repo":{"id":3314,"name":"spree","full_name":"spree/spree","owner":{"login":"spree","id":56702,"avatar_url":"https://avatars.githubusercontent.com/u/56702?v=3","gravatar_id":"","url":"https://api.github.com/users/spree","html_url":"https://github.com/spree","followers_url":"https://api.github.com/users/spree/followers","following_url":"https://api.github.com/users/spree/following{/other_user}","gists_url":"https://api.github.com/users/spree/gists{/gist_id}","starred_url":"https://api.github.com/users/spree/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spree/subscriptions","organizations_url":"https://api.github.com/users/spree/orgs","repos_url":"https://api.github.com/users/spree/repos","events_url":"https://api.github.com/users/spree/events{/privacy}","received_events_url":"https://api.github.com/users/spree/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/spree/spree","description":"Spree is a complete open source e-commerce solution for Ruby on Rails.","fork":false,"url":"https://api.github.com/repos/spree/spree","forks_url":"https://api.github.com/repos/spree/spree/forks","keys_url":"https://api.github.com/repos/spree/spree/keys{/key_id}","collaborators_url":"https://api.github.com/repos/spree/spree/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/spree/spree/teams","hooks_url":"https://api.github.com/repos/spree/spree/hooks","issue_events_url":"https://api.github.com/repos/spree/spree/issues/events{/number}","events_url":"https://api.github.com/repos/spree/spree/events","assignees_url":"https://api.github.com/repos/spree/spree/assignees{/user}","branches_url":"https://api.github.com/repos/spree/spree/branches{/branch}","tags_url":"https://api.github.com/repos/spree/spree/tags","blobs_url":"https://api.github.com/repos/spree/spree/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/spree/spree/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/spree/spree/git/refs{/sha}","trees_url":"https://api.github.com/repos/spree/spree/git/trees{/sha}","statuses_url":"https://api.github.com/repos/spree/spree/statuses/{sha}","languages_url":"https://api.github.com/repos/spree/spree/languages","stargazers_url":"https://api.github.com/repos/spree/spree/stargazers","contributors_url":"https://api.github.com/repos/spree/spree/contributors","subscribers_url":"https://api.github.com/repos/spree/spree/subscribers","subscription_url":"https://api.github.com/repos/spree/spree/subscription","commits_url":"https://api.github.com/repos/spree/spree/commits{/sha}","git_commits_url":"https://api.github.com/repos/spree/spree/git/commits{/sha}","comments_url":"https://api.github.com/repos/spree/spree/comments{/number}","issue_comment_url":"https://api.github.com/repos/spree/spree/issues/comments{/number}","contents_url":"https://api.github.com/repos/spree/spree/contents/{+path}","compare_url":"https://api.github.com/repos/spree/spree/compare/{base}...{head}","merges_url":"https://api.github.com/repos/spree/spree/merges","archive_url":"https://api.github.com/repos/spree/spree/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/spree/spree/downloads","issues_url":"https://api.github.com/repos/spree/spree/issues{/number}","pulls_url":"https://api.github.com/repos/spree/spree/pulls{/number}","milestones_url":"https://api.github.com/repos/spree/spree/milestones{/number}","notifications_url":"https://api.github.com/repos/spree/spree/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/spree/spree/labels{/name}","releases_url":"https://api.github.com/repos/spree/spree/releases{/id}","created_at":"2008-03-10T14:45:35Z","updated_at":"2015-03-26T00:11:24Z","pushed_at":"2015-03-26T00:11:23Z","git_url":"git://github.com/spree/spree.git","ssh_url":"git@github.com:spree/spree.git","clone_url":"https://github.com/spree/spree.git","svn_url":"https://github.com/spree/spree","homepage":"http://spreecommerce.com","size":133972,"stargazers_count":6158,"watchers_count":6158,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2886,"mirror_url":null,"open_issues_count":91,"forks":2886,"open_issues":91,"watchers":6158,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/spree/spree/pulls/6227"},"html":{"href":"https://github.com/spree/spree/pull/6227"},"issue":{"href":"https://api.github.com/repos/spree/spree/issues/6227"},"comments":{"href":"https://api.github.com/repos/spree/spree/issues/6227/comments"},"review_comments":{"href":"https://api.github.com/repos/spree/spree/pulls/6227/comments"},"review_comment":{"href":"https://api.github.com/repos/spree/spree/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/spree/spree/pulls/6227/commits"},"statuses":{"href":"https://api.github.com/repos/spree/spree/statuses/723a1136260737c4eee21054e87853c9ef263a5d"}}}}