Human.create.run
| event | current | was |
|---|---|---|
| before_all_events | sleeping | sleeping |
| before_event | sleeping | sleeping |
| guards_event | sleeping | sleeping |
| guards_transition | sleeping | sleeping |
| before_exit_old_state | sleeping | sleeping |
| exit_old_state | sleeping | sleeping |
| GOOGLE_CLIENT_ID=**********YOUR_CLIENT_ID********** | |
| GOOGLE_CLIENT_SECRET=**********GOOGLE_CLIENT_SECRET********** |
Human.create.run
| event | current | was |
|---|---|---|
| before_all_events | sleeping | sleeping |
| before_event | sleeping | sleeping |
| guards_event | sleeping | sleeping |
| guards_transition | sleeping | sleeping |
| before_exit_old_state | sleeping | sleeping |
| exit_old_state | sleeping | sleeping |
$ go get github.com/ChimeraCoder/anaconda| class Todo < ApplicationRecord | |
| # Other todo implementation | |
| # ... | |
| ## Event tracking | |
| has_many :events | |
| before_create :track_creation | |
| after_destroy :track_deletion |
| def calculate(n) | |
| [1, 2, 3].repeated_combination(n).to_a.each_with_object({}) { |a, cache| | |
| Array.new(n) do |i| | |
| combination = a[0..i] | |
| if combination.sum == n && !cache.key?(combination) | |
| cache[combination] = true | |
| end | |
| end | |
| }.keys | |
| end |