Sha256: 87b77c22b4599c9780fb4121bdb7a6a9d010a3736b6e3d682cddab66c340be53

Contents?: true

Size: 1.3 KB

Versions: 1

Compression:

Stored size: 1.3 KB

Contents

# encoding: utf-8

module Github

  # When you create a new GitHub repository via the API, you can specify a
  # .gitignore template to apply to the repository upon creation.
  class Gitignore < API

    # List all templates available to pass as an option when creating a repository.
    #
    # = Examples
    #  github = Github.new
    #  github.gitignore.list
    #  github.gitignore.list { |template| ... }
    #
    def list(*args)
      params = args.extract_options!
      normalize! params

      response = get_request("/gitignore/templates", params)
      return response unless block_given?
      response.each { |el| yield el }
    end
    alias :all :list

    # Get a single template
    #
    # = Examples
    #  github = Github.new
    #  github.gitignore.get "template-name"
    #
    # Use the raw media type to get the raw contents.
    #
    # = Examples
    #  github = Github.new
    #  github.gitignore.get "template-name", mime: 'applicatin/vnd.github.raw'
    #
    def get(name, params={})
      normalize! params
      assert_presence_of name

      if (mime_type = params.delete('mime'))
        options = { :raw => true, :headers => {'Accept' => mime_type} }
      end

      get_request("/gitignore/templates/#{name}", params, options || {})
    end
    alias :find :get

  end # Gitignore
end # Github

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
github_api-0.9.0 lib/github_api/gitignore.rb