Ohmbrewer / ohmbrewer

The web application for a happy brew day.
http://ohmbrewer.github.io
0 stars 0 forks source link

Implements Equipment support #40

Closed kyleoliveira closed 9 years ago

kyleoliveira commented 9 years ago

@Ohmbrewer/web-team Check this out when you get a chance (sooner rather than later, though).

This provides an initial, simple way to manage the pin settings on your Rhizomes via the Rhizome management page.

It took a little bit to get in place because I had to learn a bit about how Rails does inheritance and devise a plan that made sense for our approach. What I came up with is this:

As you'll see here, I've already implemented the associations and the Equipment-based types. This got big quick, so I'm going to do the Thermostat and/or RIMS implementations in separate PRs. However, as-is this should provide a jumping off point for creating the Tasks and Jobs necessary for implementing the scheduler if someone ends up starting on that early.

I'll also add in an issue for back-filling tests as they're lacking here. You'll note that as part of the RhizomeSprout module, I've provided a method for sending an update to the Rhizome. I was able to manually verify (via the rails console) that the method does work as intended - the message transmitted and toggled a Pump's ON/OFF display. Similarly, I've manually walked through the UI interactions.

Let me know if you have any questions. Otherwise, I'll probably merge this in tomorrow night or the next day.

kyleoliveira commented 9 years ago

Covers a big portion of #38

kyleoliveira commented 9 years ago

I've added in support for the Thermostat as well, since this hasn't been merged in yet. Plus I've caught some bugs in the process, so may as well get the fixes in here.

kyleoliveira commented 9 years ago

Aaaaaaand I've added support for RIMS groupings. This should cover #38 completely now.

azyth commented 9 years ago

this is looking pretty good, unfortunately i don't have time to go over all 75! files that were modified right now. did a cursory glance though. I am currently working on the thermostat and once that is finished it will be much easier to do some integrated testing since the Rhizomes will be at a basic functional level ( turning on and off pins automatically based on data)

kyleoliveira commented 9 years ago

Haha! You can also just pull it down and poke around app. Most stuff should be accessible from the Manage Rhizomes page.