Class: GraphqlScaffoldGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- GraphqlScaffoldGenerator
- Includes:
- GraphqlScaffoldCommonMethods
- Defined in:
- lib/generators/graphql_scaffold_generator.rb
Instance Method Summary collapse
- #add_in_query_type ⇒ Object
- #check_model_existence ⇒ Object
- #check_what_to_do ⇒ Object
- #copy_files ⇒ Object
- #generate_graphql_query ⇒ Object
- #install_gems ⇒ Object
Instance Method Details
#add_in_query_type ⇒ Object
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/generators/graphql_scaffold_generator.rb', line 93 def add_in_query_type if queries inject_into_file( 'app/graphql/types/query_type.rb', " field :#{list_many}, function: Resolvers::#{plural_name_camelized}Search\n", after: "class QueryType < Types::BaseObject\n") end if mutations inject_into_file( 'app/graphql/types/mutation_type.rb', "\n field :#{create_one}, mutation: Mutations::Create#{singular_name_camelized}" + "\n field :#{change_one}, mutation: Mutations::Change#{singular_name_camelized}" + "\n field :#{destroy_one}, mutation: Mutations::Destroy#{singular_name_camelized}\n", after: "class MutationType < Types::BaseObject\n") end end |
#check_model_existence ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/generators/graphql_scaffold_generator.rb', line 37 def check_model_existence unless model_exists? if myattributes.present? puts 'Generating model...' generate('model', "#{namespace.nil? ? '' : namespace+'::'}#{name} #{myattributes.join(' ')}") else puts "The model #{name} wasn't found. You can add attributes and generate the model with Graphql Scaffold." exit end end end |
#check_what_to_do ⇒ Object
20 21 22 23 24 25 |
# File 'lib/generators/graphql_scaffold_generator.rb', line 20 def check_what_to_do if !queries && !mutations && !subscriptions puts "\n ** What do you want me to do? Nothing??? No queries, no mutations, no subscriptions...\n\n" exit end end |
#copy_files ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/generators/graphql_scaffold_generator.rb', line 49 def copy_files copy_file 'app/graphql/types/date_time_type.rb', 'app/graphql/types/date_time_type.rb' # copy_file 'app/graphql/types/base_field.rb', 'app/graphql/types/base_field.rb' if queries copy_file 'app/graphql/resolvers/base_search_resolver.rb', 'app/graphql/resolvers/base_search_resolver.rb' copy_file 'app/graphql/types/enums/operator.rb', 'app/graphql/types/enums/operator.rb' copy_file 'app/graphql/types/enums/sort_dir.rb', 'app/graphql/types/enums/sort_dir.rb' end if mutations copy_file 'app/graphql/mutations/base_mutation.rb', 'app/graphql/mutations/base_mutation.rb' end if subscriptions end if tests && (queries || mutations || subscriptions) copy_file 'test/integration/graphql_1st_test.rb', 'test/integration/graphql_1st_test.rb' end end |
#generate_graphql_query ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/generators/graphql_scaffold_generator.rb', line 71 def generate_graphql_query template 'app/graphql/types/enums/table_field.rb', "app/graphql/types/enums/#{plural_name_snaked}_field.rb" template 'app/graphql/types/table_type.rb', "app/graphql/types/#{singular_name_snaked}_type.rb" if queries template 'app/graphql/resolvers/table_search.rb', "app/graphql/resolvers/#{plural_name_snaked}_search.rb" end if mutations template 'app/graphql/mutations/change_table.rb', "app/graphql/mutations/change_#{singular_name_snaked}.rb" template 'app/graphql/mutations/create_table.rb', "app/graphql/mutations/create_#{singular_name_snaked}.rb" template 'app/graphql/mutations/destroy_table.rb', "app/graphql/mutations/destroy_#{singular_name_snaked}.rb" end if subscriptions end if tests && (queries || mutations || subscriptions) template 'test/integration/graphql_table_test.rb', "test/integration/graphql_#{singular_name_snaked}_test.rb" end end |
#install_gems ⇒ Object
27 28 29 30 31 32 33 34 35 |
# File 'lib/generators/graphql_scaffold_generator.rb', line 27 def install_gems if check_gem_versions.present? puts '='*80 puts ' ATENTION!!! ATENTION!!! ATENTION!!!' puts '='*80 puts check_gem_versions.join("\n") puts '='*80 end end |