{"__v":3,"_id":"56740103f65d9c0d002e3d5e","category":{"__v":7,"_id":"567400638565060d009a86fb","pages":["567400df22cd7e0d00fada7f","56740103f65d9c0d002e3d5e","5674010f47f7010d005bff1a","56740128f79ca90d00ad2f65","5674014947f7010d005bff1c","5674015622cd7e0d00fada81","5674016058c4890d00bb5558"],"project":"5672fc989996590d00c22c65","version":"5672fc989996590d00c22c68","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-12-18T12:47:31.547Z","from_sync":false,"order":2,"slug":"available-operations","title":"Available Operations"},"project":"5672fc989996590d00c22c65","user":"5654ea8be0d82b0d00ab5747","version":{"__v":7,"_id":"5672fc989996590d00c22c68","project":"5672fc989996590d00c22c65","createdAt":"2015-12-17T18:19:04.699Z","releaseDate":"2015-12-17T18:19:04.699Z","categories":["5672fc999996590d00c22c69","567301169d4c060d009da8b3","56730183547bee0d00997d1a","5673018a06b19d0d0010691b","567301b53054630d00fe9288","567400638565060d009a86fb","5674017bf79ca90d00ad2f67"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"2.5.0","version":"2.5.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-12-18T12:50:11.794Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":2,"body":"`GatedOperation` is similar to `ComposedOperation` except that it also accepts a `() -> Bool` block. If the block evaluates true, the composed operation will be executed.\n\nThis is useful to optionally execute an operation. \n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"let operation = GatedOperation(anotherOperation) { return trueOrFalse() }\\nqueue.addOperation(operation)\",\n      \"language\": \"swift\"\n    }\n  ]\n}\n[/block]","excerpt":"","slug":"gated-operation","type":"basic","title":"Gated Operation"}
`GatedOperation` is similar to `ComposedOperation` except that it also accepts a `() -> Bool` block. If the block evaluates true, the composed operation will be executed. This is useful to optionally execute an operation. [block:code] { "codes": [ { "code": "let operation = GatedOperation(anotherOperation) { return trueOrFalse() }\nqueue.addOperation(operation)", "language": "swift" } ] } [/block]