{"push_id":2920865049,"size":21,"distinct_size":21,"ref":"refs/heads/384-export-the-contracts","head":"6b51544a9888aa6b19f219e05cc839626e527b03","before":"6dbfe6a26cc4ef056a5ea1f38291b81ccc0f4726","commits":[{"sha":"be3145992fe93ee3497b8a1631afb877dd58ad97","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"Make an Export::Anything class\n\nIt knows how to direct output and work out which class to instantiate\nto perform an export. It means that the rake task can become a lot\nsmaller.\n\nIt takes a relation of same-shaped types and an output identifier\n(currently just :tmp, 'tmp', :stdout or 'stdout', defaulting to an\nauto-generated filename in /tmp.\n\nRemove the export/invoices_spec, and move the integration test where\nit should be from an outside-in point of view, which is to say in\nlib/tasks/export/invoices_spec.rb","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/be3145992fe93ee3497b8a1631afb877dd58ad97"},{"sha":"c1af5742ff720fc2411a0153da0efb53b8961703","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"Make export:tasks use Export::Anything\n\nAlso move the invoices integration test to\nlib/tasks/export/tasks_spec.rb","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/c1af5742ff720fc2411a0153da0efb53b8961703"},{"sha":"f7be411165fa6eb29a72fda34cce940c7606af3f","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"Make export:submissions use Export::Anything\n\nAlso move the submissions integration test to\nlib/tasks/export/submissions_spec.rb","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/f7be411165fa6eb29a72fda34cce940c7606af3f"},{"sha":"9da8e03cc60a5d7ca5abac46d506291a871c8a3a","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"Add contract ability to Export::Anything\n\nGet it to work out the right class from the first row in a\nSubmissionEntry relation's order_type.","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/9da8e03cc60a5d7ca5abac46d506291a871c8a3a"},{"sha":"01f9121bf06ee20e4a293c0fbbc822fe3f66c448","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"Add some factory contract test data\n\nExtracted from random record and anonymised","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/01f9121bf06ee20e4a293c0fbbc822fe3f66c448"},{"sha":"f512ecc769e4aa1ca3e1760ad8754371c50b56d8","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"Add skeleton rake export:contracts\n\nIt exports the first two fields.","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/f512ecc769e4aa1ca3e1760ad8754371c50b56d8"},{"sha":"95f531afe77318eeca6453120b11706e0578d682","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"Add export:contract fields as far as LotNumber\n\nStop just before Product fields","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/95f531afe77318eeca6453120b11706e0578d682"},{"sha":"a42384c80b6009e5ff232be9c81df1948832b0d9","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"Make export:contract CustomerReferenceNumber nil\n\nIt's not given in this framework","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/a42384c80b6009e5ff232be9c81df1948832b0d9"},{"sha":"50a979f36ac9c6e668117fc885e9e12857270d8f","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"Extract common Contract/Invoice row behaviour\n\nCreate Export::SubmissionEntryRow, which is responsible for looking\nup mapped fields for us and also defining the 8 AdditionalN fields\ncommon to Contract/Invoice","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/50a979f36ac9c6e668117fc885e9e12857270d8f"},{"sha":"a7022b8eb8a0973c773a7d66deb970d5b9bc4d2e","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"Add export:contracts Product* fields MISSING\n\nThey're being mapped, just hold a place for them","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/a7022b8eb8a0973c773a7d66deb970d5b9bc4d2e"},{"sha":"c0eb86bdea56db157a7bb41a26b6cc899a53dfff","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"export:contracts CustomerContact* fields MISSING\n\nThey're being mapped, just hold a place for them","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/c0eb86bdea56db157a7bb41a26b6cc899a53dfff"},{"sha":"c734e1d09275f89a3250b0cd7b7e156cf331e82e","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"export:contracts map contract start/end dates\n\nA compromise decision is being made here to keep things simple.\nWe're lumping mapped contract fields in with mapped invoice fields,\non the basis that a) it's simple and b) there aren't any collisions\nyet. We expect that to change when the Product* fields are mapped\nand at that point template.rb will have to acknowledge the changes.\n\nA second and larger problem is that we are passing dates through\nun-transformed. They appear to be coming in M/DD/YY form on this\nparticular example record. That isn't the case for everything.\n\nWe need a much bigger discussion about dates.","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/c734e1d09275f89a3250b0cd7b7e156cf331e82e"},{"sha":"6d7a8a199ff6ddf1ab2fec84054cb4e661e9fabf","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"rake export:contracts ContractValue\n\nA straight mapping","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/6d7a8a199ff6ddf1ab2fec84054cb4e661e9fabf"},{"sha":"94941632042cfe30806d6d43ab3e82abdaf14b7d","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"rake export:contracts ContractAwardChannel\n\nA straight mapping, but with the caveat that we may need to downcase\nthe value. Have asked the question in the mapping document.","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/94941632042cfe30806d6d43ab3e82abdaf14b7d"},{"sha":"62cfce2ce3e6beee7a0f48ad80f557b13d064089","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"rake export:contracts Additional8 fields\n\nSlightly contentious commit – the first field, Additional1, is still\nmapped to Matter Name, because it's the same (as far as I can tell with\nincomplete information) as Invoices.\n\nThe rest of the fields are blank, as they don't map to anything (yet)\nand it's perfectly valid for them to be blank as that's the default\nbehaviour of AdditionalN fields. That does mean we can't use #MISSING\nto point up that these aren't mapped yet.\n\nAlso, a refactoring: there's no real need to define 8 methods on the\nSubmissionEntryRow, as we tend to take these things in one go,\nso use *values_for_additional to blit them onto the row_values of\ninvoices and contracts respectively in one go.","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/62cfce2ce3e6beee7a0f48ad80f557b13d064089"},{"sha":"1998ed221360d75aedd7437f40ec060fe7f02e59","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"Refactor Export::Template to be includable\n\nSoon SubmissionEntryRow will need to pick its template based on the\nentry_type of the row, which would mean passing entry_type to\nExport::Template.source_field_for if we kept source_field_for as a\nmodule method.\n\nRather than use a module method, include Export::Template on\nSubmissionEntryRow which will allow source_field_for to use entry_type\nas an ambient attribute (in just a moment).","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/1998ed221360d75aedd7437f40ec060fe7f02e59"},{"sha":"db56773452d8be5b72f226bcd46e91e70d29dbe8","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"Map legal order additional fields\n\nAllow SubmissionEntryRow to call source_fields_for and have\nit return a field for the specific entry_type of 'order' or 'invoice'","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/db56773452d8be5b72f226bcd46e91e70d29dbe8"},{"sha":"eec7078b8517fcdab7a69c83e902e8e2491b2c89","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"Map legal/order additional fields\n\nAllow SubmissionEntryRow to call source_fields_for and have\nit return a field for the specific entry_type of 'order' or 'invoice'\n\nThis will shift into a database. Just not now.","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/eec7078b8517fcdab7a69c83e902e8e2491b2c89"},{"sha":"9610c0c081c573639ab10b1a5cdd018a13f721b1","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"Map the one legal Product contract field\n\nThe rest are acceptably blank (default: nil)","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/9610c0c081c573639ab10b1a5cdd018a13f721b1"},{"sha":"58bd85c7887de92b0c0a848b96e2f25303eb1b95","author":{"name":"Russell Garner","email":"2f5af80604b7d20dc9d6470a7ffa914ff153694a@zephyros-systems.co.uk"},"message":"Placate rubocop about the size of a contract row","distinct":true,"url":"https://api.github.com/repos/dxw/DataSubmissionServiceAPI/commits/58bd85c7887de92b0c0a848b96e2f25303eb1b95"}]}
{"actor":{"display_login":"rgarner"}}