Skip to content

Instantly share code, notes, and snippets.

👨‍💻
Code.Eat.Watch

Joseph Mutuku Kyalo thoth-ky

👨‍💻
Code.Eat.Watch
Block or report user

Report or block thoth-ky

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@thoth-ky
thoth-ky / App.jsx
Last active Mar 18, 2019
Setting UP the React on Rails with Apollo
View App.jsx
//app/javascript/packs/front-end-react/App.jsx
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import { ApolloProvider } from "react-apollo"
import { client } from "./apollo"
import Book from './src/bookComponent';
class App extends Component {
render() {
View index.html.erb
# app/views/index/index.html.erb
<%= javascript_pack_tag 'front-end-react/App' %>
<%= stylesheet_pack_tag 'front-end-react/assets/stylesheets/App' %>
View application.html.erb
# app/views/layouts/application.html.erb
<!DOCTYPE html>
<html>
<head>
<title>RailsReactGraphql</title>
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
</head>
View book_type.rb
# app/graphql/types/book_type.rb
module Types
class BookType < Types::BaseObject
graphql_name 'BookType'
field :id, ID, null: false
field :title, String, null: false
field :author, String, null: true
field :review, String, null: true
View query_type.rb
app/graphql/types/query_type.rb
module Types
class QueryType < Types::BaseObject
field :all_books, [BookType], null: true, description: "Returns a list of all Books"
field :book, BookType, null: true do
description "Returns book given an ID"
argument :id, ID, required: true
end
View seeds.rb
# db/seeds.rb
Book.create(
title: "A brief History of Time",
author: "Stephen Hawking",
review: "A very informative book from an insiders perspective in the language of an outsider",
reviewer: "John Doe"
)
Book.create(
title: "Unbowed",
@thoth-ky
thoth-ky / create_book.rb
Created Feb 23, 2019
Example Graphql Mutations
View create_book.rb
# app/graphql/mutations/create_book.rb
module Mutations
class CreateBook < GraphQL::Schema::RelayClassicMutation
# define return fields (once book is created what can be returned)
field :book, Types::BookType, null: false
# define arguments required to create a book
# you can define a a new Type for inputs so you replace thr following
# lines by something like this:
View asyncio-async-await.py
import asyncio
loop = asyncio.get_event_loop()
async def hello():
await asyncio.sleep(3)
print('Hello!')
if __name__ == '__main__':
loop.run_until_complete(hello())
You can’t perform that action at this time.