Module: Stardust::GraphQL::DSL
- Included in:
- Stardust::GraphQL
- Defined in:
- lib/stardust/graphql/dsl.rb
Defined Under Namespace
Classes: MissingType
Instance Method Summary collapse
- #calling_file ⇒ Object
- #define_mutation(name, &block) ⇒ Object
- #define_query(name, &block) ⇒ Object
- #define_types(&block) ⇒ Object
Instance Method Details
#calling_file ⇒ Object
38 39 40 41 |
# File 'lib/stardust/graphql/dsl.rb', line 38 def calling_file caller[1][/[^:]+/] .gsub(Rails.root.to_s, "")[1..-1] end |
#define_mutation(name, &block) ⇒ Object
31 32 33 34 35 36 |
# File 'lib/stardust/graphql/dsl.rb', line 31 def define_mutation(name, &block) klass = Class.new(Mutation) klass.send(:graphql_name, name.to_s.camelize) klass.class_eval(&block) Collector.add_mutation(name, mutation: klass) end |
#define_query(name, &block) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/stardust/graphql/dsl.rb', line 12 def define_query(name, &block) klass = Class.new(Query) klass.class_eval(&block) if !klass.get_type warn "\n Stardust Compilation Error\n Missing type definition for query in \"\#{name}\".\n File: \"\#{calling_file}\"\n\n ## Define the return type of the query\n type :my_type\n\n TEXT\n else\n Collector.add_query(name, query: klass)\n end\nend\n" |
#define_types(&block) ⇒ Object
7 8 9 10 |
# File 'lib/stardust/graphql/dsl.rb', line 7 def define_types(&block) klass = Class.new(Types::DSL) klass.class_eval(&block) end |