{"action":"created","issue":{"url":"https://api.github.com/repos/RubyMoney/money/issues/619","repository_url":"https://api.github.com/repos/RubyMoney/money","labels_url":"https://api.github.com/repos/RubyMoney/money/issues/619/labels{/name}","comments_url":"https://api.github.com/repos/RubyMoney/money/issues/619/comments","events_url":"https://api.github.com/repos/RubyMoney/money/issues/619/events","html_url":"https://github.com/RubyMoney/money/pull/619","id":143681881,"number":619,"title":"V7","user":{"login":"printercu","id":1144890,"avatar_url":"https://avatars.githubusercontent.com/u/1144890?v=3","gravatar_id":"","url":"https://api.github.com/users/printercu","html_url":"https://github.com/printercu","followers_url":"https://api.github.com/users/printercu/followers","following_url":"https://api.github.com/users/printercu/following{/other_user}","gists_url":"https://api.github.com/users/printercu/gists{/gist_id}","starred_url":"https://api.github.com/users/printercu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/printercu/subscriptions","organizations_url":"https://api.github.com/users/printercu/orgs","repos_url":"https://api.github.com/users/printercu/repos","events_url":"https://api.github.com/users/printercu/events{/privacy}","received_events_url":"https://api.github.com/users/printercu/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-03-26T09:15:53Z","updated_at":"2016-03-29T12:46:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/RubyMoney/money/pulls/619","html_url":"https://github.com/RubyMoney/money/pull/619","diff_url":"https://github.com/RubyMoney/money/pull/619.diff","patch_url":"https://github.com/RubyMoney/money/pull/619.patch"},"body":"Hi all, @RubyMoney/money-devs!\r\n\r\nI had some ideas to implement in Money for a while. Most of them are about overall simplification of source code, with some features. I've got some free time and started codding. Can you please take a look. Ideas and critics are welcome.\r\n\r\nReady:\r\n\r\n- [x] lib/money/money/* moved to lib/money.\r\n  Ex., `Money::Currency` is in the `money/currency`, not `money/money/currency`.\r\n\r\n- [x] formating specific methods moved to Formatter.\r\n  This allows to define custom formatters and change formatting rules easily.\r\n  - default_formatting_rules & use_i18n moved to Formatter.\r\n  - Formatter.default_rules= doesn't support nil (hash must be given)\r\n\r\n- [x] `.default_currency` doesn't wraps lambda's result with Currency.\r\n  Simplifies code.\r\n\r\nTODO, to discuss:\r\n\r\n- [ ] use ruby 2 features.\r\n  Keyword arguments.\r\n\r\n- [ ] remove currency_as_string.\r\n  Changelog says it's for rails, but there is no such calls in rails's master.\r\n\r\n- [ ] simplify arithmetics.\r\n  Remove ambiguous coercions, encourage using to_d.\r\n\r\n- [ ] simplify #to_s or change it to use its own formatter.\r\n  It's really complex now, does anybody use it instead of `#format`)?\r\n\r\n- [ ] simplify default formatter.\r\n  Leaving current formatter still available?\r\n\r\n- [ ] use whole amounts (not cents) as main value\r\n  Providing compatibility as separate module.\r\n\r\n- [ ] change currency stores from json to yaml.\r\n  It's human-friendly.\r\n\r\nAll test from v6 are passing. I haven't change them a lot, just fixed values for `.default_currency` & `.default_rules`."},"comment":{"url":"https://api.github.com/repos/RubyMoney/money/issues/comments/202876799","html_url":"https://github.com/RubyMoney/money/pull/619#issuecomment-202876799","issue_url":"https://api.github.com/repos/RubyMoney/money/issues/619","id":202876799,"user":{"login":"printercu","id":1144890,"avatar_url":"https://avatars.githubusercontent.com/u/1144890?v=3","gravatar_id":"","url":"https://api.github.com/users/printercu","html_url":"https://github.com/printercu","followers_url":"https://api.github.com/users/printercu/followers","following_url":"https://api.github.com/users/printercu/following{/other_user}","gists_url":"https://api.github.com/users/printercu/gists{/gist_id}","starred_url":"https://api.github.com/users/printercu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/printercu/subscriptions","organizations_url":"https://api.github.com/users/printercu/orgs","repos_url":"https://api.github.com/users/printercu/repos","events_url":"https://api.github.com/users/printercu/events{/privacy}","received_events_url":"https://api.github.com/users/printercu/received_events","type":"User","site_admin":false},"created_at":"2016-03-29T12:46:07Z","updated_at":"2016-03-29T12:46:07Z","body":"@HaleTom yep! I've forgotten about this first. Added commit. I've also changed Currency to use `#code.downcase.to_sym` as id. So it's not repeated in currency files. However after this YEN & GHC fallbacks are not supported (JPY & GHS should be used instead).\r\n\r\nI'll add `#is_iso?` later after changing `iso_numeric` to Int."}}