ottawaruby / whenbot Goto Github PK
View Code? Open in Web Editor NEWA simple personal ifttt.com clone
License: MIT License
A simple personal ifttt.com clone
License: MIT License
Since Whenbot will be hosted on Heroku, the app itself should be protected by a login and password.
As Tristan suggested below, we'll be going with a single password field for authentication.
install
command, they're asked to include their password.
rails generate whenbot:install --password=my_password
before_filter
in the controllers to ensure that a user is logged in.rails generate whenbot:install [email protected] --password=my_password
Feel free to ask any questions that you may have.
This feature should be developed via Test Driven Development. Either way, a proper set of tests is required for this to be pulled into the main repository.
If you'd like to work on this, and no-one else has assigned this task to themselves yet, assign this task to yourself. You can do this by clicking the gear icon beside the "No on is assigned" text above, and selecting your name.
If someone else beat you to it, do not reassign the task to yourself. Instead, check the comments (below) to see if they added a comment that says "Accepting teammates."
If you see "Accepting teammates" and would to join in, add a post here to say so and connect. You can also try reaching out to the original assignee via a private message or email.
Working in pairs or teams is encouraged. If you managed to snag this task by being the first to assign it to yourself, consider working with a teammate or two. To let people know you'd like to team up, add a comment below saying "Accepting teammates."
Keep an eye on new comments for this task, there may be someone reaching out to work with you.
This can be implemented anyway you want. You may choose to use a pre-existing solution, such as Devise, or roll your own.
If you're interested in writing password protected login from scratch, read sections 7.1 and 7.2 of the Rails Tutorial Book for some hints.
You may want to supplement it with this section of the Rails Tutorial book, ignoring the parts about the username and email. It will walk you through creating a user account.
Here's a few test ideas to get you started:
/whenbot/tasks/
page/whenbot/tasks/
without signing inpassword
field with your password (set via a Factory)/whenbot/tasks/
page/whenbot/tasks/new
page/whenbot/tasks/new
pageWant to make a contribution to Whenbot? Let's get you started! The main goal of the exercise is to show that it's not all that hard to contribute to an open source project.
We've taken away the hard part of figuring out exactly what to contribute, by providing you with a list of one-liners that need to be added to Whenbot. We've also provided you a step-by-step guide to walk you through the process.
All you need to do is choose a One-Liner from the list below (be sure to reserve your choice), and follow the Contribution Guide here.
If it's your first time making an Open Source contribution, don't worry, it's not that hard. Be excited, follow the guide below, and very soon you should have made your first Open Source contribution!
Follow these steps:
Take a look at the list below and choose a One-Liner to work on.
Make sure that the One-Liner you picked hasn't already been chosen by checking the comments below this post. If your One-Liner has already been reserved, choose another one.
Then, reserve your One-Liner by posting a comment in this thread (below). Just write: "Working on one-liner number one-liner number
in file path here
, brief description of change
". For example:
Working on one-liner number 8 in app/models/task.rb
, to make the :name
, :active
, :trigger_attributes
, and :action_attributes
attributes accessible.
After posting your comment, you're ready to start working on your update. :)
Once you have your one-liner chosen and reserved, follow the Whenbot One-Liner Contribution Guide to learn how to create your own fork of the app, clone the repository, make your changes, push your changes back to your fork, and issue a Pull Request.
Choose a One-Liner number below, and follow the instructions above. Soon, you'll have contributed to a cool, new Open-Source project. :)
If you need help, you can find the solution for your one-liner in this branch. Just browse to the file you're working on.
current_time
method, return the current time in the set time zone.
Task.handle_callback
method (found in app/models/task.rb
) with the following parameters in the given order, and set the response variable to the return value of that call:
params[:channel], params[:trigger], params, request.headers, request.body.read
#validate_response
method to "#parse_response``.
has_many
association with the Action
model:name, :active, :trigger_attributes, :action_attributes
Trigger#save_updated_triggers
method with returned_triggers
, and trigger_ids
as parameters.response
scope
) called active
that returns records where the active
field is set to true
parameters
field to be serializable as a Hash
match_data
field to be serializable as a Hash
extra_data
field to be serializable as a Hash
Task
modelchannel, trigger, parameters, active
channel
, trigger
, and ``parametersHi, nice project. Is it dead or migrated elsewhere?
Want to make a contribution to Whenbot? Let's get you started!
The main goal of the exercise is to show that it's not all that hard to contribute to an open source project. We've taking out the hard part of figuring out exactly what to contribute by providing you with a list of one-line changes that need to be added. We've also provided you a step-by-step guide to walk you through the process.
All you need to do is choose a One-Liner from the list below, and follow the Contribution Guide here.
If it's your first time making an Open Source contribution, don't worry, it's not that hard. Be excited, follow the guide below, and very soon you should have made your first Open Source contribution!
Follow these steps:
Take a look at the list below and choose a One-Liner to work on.
Make sure that the One-Liner you picked hasn't already been chosen by checking the comments below this post. If your One-Liner has already been reserved, choose another one.
Then, reserve your One-Liner by posting a comment in this thread (below). Just write: "Working on one-liner number one-liner number
in file path here
, brief description of change
". For example:
Working on one-liner number 8 in app/models/task.rb
, to make the :name
, :active
, :trigger_attributes
, and :action_attributes
attributes accessible.
After posting your comment, you're ready to start working on your update. :)
Once you have your one-liner chosen and reserved, follow the Whenbot One-Liner Contribution Guide to learn how to create your own fork of the app, clone the repository, make your changes, push your changes back to your fork, and issue a Pull Request.
Choose a One-Liner number below, and follow the instructions above. Soon, you'll have contributed to a cool, new Open-Source project. :)
If you need help, you can find the solution for your one-liner in this branch. Just browse to the file you're working on.
current_time
method, return the current time in the set time zone.
Task.handle_callback
method (found in app/models/task.rb
) with the following parameters in the given order, and set the response variable to the return value of that call:
params[:channel], params[:trigger], params, request.headers, request.body.read
#validate_response
method to "#parse_response``.response
has_many
association with the Action
model:name, :active, :trigger_attributes, :action_attributes
Trigger#save_updated_triggers
method with returned_triggers
, and trigger_ids
as parameters.response
scope
) called active
that returns records where the active
field is set to true
parameters
field to be serializable as a Hash
match_data
field to be serializable as a Hash
extra_data
field to be serializable as a Hash
Task
modelchannel, trigger, parameters, active
channel
, trigger
, and ``parametersA declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.