Module: CardDB::Rails::Resolver
- Defined in:
- lib/carddb/rails/resolver.rb
Class Method Summary collapse
- .resolve_client(receiver, option) ⇒ Object
- .resolve_graphql_client(graphql_object, option) ⇒ Object
- .resolve_graphql_value(graphql_object, option) ⇒ Object
- .resolve_option(receiver, option) ⇒ Object
- .resolve_required_option(receiver, option, name) ⇒ Object
Class Method Details
.resolve_client(receiver, option) ⇒ Object
28 29 30 31 |
# File 'lib/carddb/rails/resolver.rb', line 28 def resolve_client(receiver, option) resolved = resolve_option(receiver, option) resolved || CardDB::Rails.client end |
.resolve_graphql_client(graphql_object, option) ⇒ Object
44 45 46 47 48 49 50 51 |
# File 'lib/carddb/rails/resolver.rb', line 44 def resolve_graphql_client(graphql_object, option) case option when Proc graphql_object.instance_exec(&option) else option end end |
.resolve_graphql_value(graphql_object, option) ⇒ Object
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/carddb/rails/resolver.rb', line 33 def resolve_graphql_value(graphql_object, option) case option when Symbol graphql_object.object.public_send(option) when Proc graphql_object.instance_exec(&option) else option end end |
.resolve_option(receiver, option) ⇒ Object
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/carddb/rails/resolver.rb', line 10 def resolve_option(receiver, option) case option when Symbol receiver.public_send(option) when Proc receiver.instance_exec(&option) else option end end |
.resolve_required_option(receiver, option, name) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/carddb/rails/resolver.rb', line 21 def resolve_required_option(receiver, option, name) resolved = resolve_option(receiver, option) raise ArgumentError, "#{name} is required" if resolved.blank? resolved end |