def create(*args)
      arguments(args, required: [:user, :repo, :path]) do
        assert_required REQUIRED_CONTENT_OPTIONS
      end
      params = arguments.params
      params.strict_encode64('content')

      put_request("/repos/#{arguments.user}/#{arguments.repo}/contents/#{arguments.path}", params)
    end
def create(*args)
      arguments(args, required: [:user, :repo, :path]) do
        assert_required REQUIRED_CONTENT_OPTIONS
      end
      params = arguments.params
      params.strict_encode64('content')

      put_request("/repos/#{arguments.user}/#{arguments.repo}/contents/#{arguments.path}", params)
    end
Create a file

 This method creates a new file in a repository

 @param [Hash] params
 @option params [String] :path
   Required string. The content path
 @option params [String]
 @option params [String] :message
   Required string. The commit message.
 @option params [String] :content
   Required string. The new file content, which will be Base64 encoded
 @option params [String] :branch
   The branch name. If not provided, uses the repository’s
   default branch (usually master)

 Optional Parameters

 The :author section is optional and is filled in with the
 :committer information if omitted. If the :committer
 information is omitted, the authenticated user’s information is used.

 You must provide values for both :name and :email, whether
 you choose to use :author or :committer. Otherwise, you’ll
 receive a 500 status code.

 Both the author and commiter parameters have the same keys:

 @option params [String] :name
   The name of the author (or commiter) of the commit
 @option params [String] :email
   The email of the author (or commiter) of the commit

 @example
   github = Github.new
   github.repos.contents.create 'user-name', 'repo-name', 'path',
     path: 'hello.rb',
     content: "puts 'hello ruby'",
     message: "my commit message"

 @api public