Class: EY::Resolver::Query
- Inherits:
-
Object
- Object
- EY::Resolver::Query
- Defined in:
- lib/ey_resolver/query.rb
Instance Method Summary collapse
- #account_name ⇒ Object
- #app_constrained? ⇒ Boolean
- #app_name ⇒ Object
- #app_unconstrained? ⇒ Boolean
- #count_matches(&block) ⇒ Object
- #env_constrained? ⇒ Boolean
- #env_unconstrained? ⇒ Boolean
- #environment_name ⇒ Object
-
#initialize(params) ⇒ Query
constructor
A new instance of Query.
- #remotes ⇒ Object
-
#unconstrained? ⇒ Boolean
The only case where an unconstrained set would return a single record is if there is only one possible candidate.
Constructor Details
#initialize(params) ⇒ Query
Returns a new instance of Query.
6 7 8 9 10 11 |
# File 'lib/ey_resolver/query.rb', line 6 def initialize(params) unless params && params.respond_to?(:each) raise ArgumentError, "Expected params to be a set of constraints: #{params.inspect}" end self.query = params end |
Instance Method Details
#account_name ⇒ Object
13 |
# File 'lib/ey_resolver/query.rb', line 13 def account_name() query[:account_name] end |
#app_constrained? ⇒ Boolean
22 23 24 |
# File 'lib/ey_resolver/query.rb', line 22 def app_constrained? app_name || remotes end |
#app_name ⇒ Object
14 |
# File 'lib/ey_resolver/query.rb', line 14 def app_name() query[:app_name] end |
#app_unconstrained? ⇒ Boolean
26 27 28 |
# File 'lib/ey_resolver/query.rb', line 26 def app_unconstrained? !app_constrained? end |
#count_matches(&block) ⇒ Object
18 19 20 |
# File 'lib/ey_resolver/query.rb', line 18 def count_matches(&block) query.count(&block) end |
#env_constrained? ⇒ Boolean
30 31 32 |
# File 'lib/ey_resolver/query.rb', line 30 def env_constrained? environment_name || app_name || remotes end |
#env_unconstrained? ⇒ Boolean
34 35 36 |
# File 'lib/ey_resolver/query.rb', line 34 def env_unconstrained? !env_constrained? end |
#environment_name ⇒ Object
15 |
# File 'lib/ey_resolver/query.rb', line 15 def environment_name() query[:environment_name] end |
#remotes ⇒ Object
16 |
# File 'lib/ey_resolver/query.rb', line 16 def remotes() query[:remotes] end |
#unconstrained? ⇒ Boolean
The only case where an unconstrained set would return a single record is if there is only one possible candidate. If we don’t have an app name or a repository_uri at all, then how do we know it’s the right one anyway?
41 42 43 |
# File 'lib/ey_resolver/query.rb', line 41 def unconstrained? query.all? { |k,v| v.nil? || v.empty? || v.to_s.empty? } end |