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
- #copy_files ⇒ Object
- #generate_graphql_query ⇒ Object
- #install_gems ⇒ Object
Instance Method Details
#add_in_query_type ⇒ Object
64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/generators/graphql_scaffold_generator.rb', line 64 def add_in_query_type 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") 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 |
#check_model_existence ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/generators/graphql_scaffold_generator.rb', line 18 def check_model_existence unless model_exists? if myattributes.present? puts 'Generating model...' generate('model', "#{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 |
#copy_files ⇒ Object
44 45 46 47 48 49 50 51 52 |
# File 'lib/generators/graphql_scaffold_generator.rb', line 44 def copy_files 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' 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' copy_file 'app/graphql/mutations/base_mutation.rb', 'app/graphql/mutations/base_mutation.rb' copy_file 'test/integration/graphql_1st_test.rb', 'test/integration/graphql_1st_test.rb' end |
#generate_graphql_query ⇒ Object
54 55 56 57 58 59 60 61 62 |
# File 'lib/generators/graphql_scaffold_generator.rb', line 54 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" template 'app/graphql/resolvers/table_search.rb', "app/graphql/resolvers/#{plural_name_snaked}_search.rb" 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" template 'test/integration/graphql_table_test.rb', "test/integration/graphql_#{singular_name_snaked}_test.rb" end |
#install_gems ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/generators/graphql_scaffold_generator.rb', line 30 def install_gems return true require_gems if [:donttouchgem].blank? Bundler.with_clean_env do run 'bundle install' end if [:donttouchgem].blank? generate('graphql:install') run 'bundle install' end end |