Here you are rescuing from the entire method. I suggest making your rescue smaller so you won't trap ALL errors. For example, if the api for rotten tomatoes is down, when I search for "Caddyshack", it would look like the movie could not be found. It's better to catch the specific problem by looking at the struct returned.

Also (since you're doing eagle), it's likely better to return a value that MEANS no results returned, rather than nil. Using nil as a value is frowned upon.

```ruby
class Api
  class NoRecordsFound; end

  ...
     return NoRecordsFound if struct.id.nil?
  end
end
```