github_api-v4-client 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cb951f3d2587e8dd6a9039b5b3c4f92041de9a93
4
- data.tar.gz: 8667fc61595ac564dfd87ccda499b0dcd4131a4e
3
+ metadata.gz: '08d762719093bfe48565cbae9925d65e47badf2f'
4
+ data.tar.gz: 77c76f788fb781ead582df8246ca94a8aba618cb
5
5
  SHA512:
6
- metadata.gz: ae963accd2896f6f5a54e6dfe303bd35b40a4ee7444a8c5e20ce3e86cb95867aa44fe26841f70089f34cf8881f676988849aa7b69acc2a600a4c94c270933202
7
- data.tar.gz: ce7effd1ad434fc9b918b2063c36a618f68934b00d2cb1cc491d7970568d34da3e9ce0315def9576ddd46f5a872353ed81853be3ebd35ee29d86d6170d67996d
6
+ metadata.gz: 297473b62689eb63ff199bb9a6991a51a0123d59a27b13cd01187897a1274097573a4d41b45514b5b9e8ac43230c90cb9f190ae6bd23c356aafdc404f73d2ab6
7
+ data.tar.gz: 5a3de040680f699875cbafbedba0b17f5ba2859033ec33085ee54f290495eb4365bc6bf8ec55699c29db894ea90fb815418aa5745a8d277906386776de5aa6fd
@@ -1,14 +1,13 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "github_api/v4/client"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start(__FILE__)
3
+ require 'bundler/setup'
4
+ require 'github_api/v4/client'
5
+ require 'pry'
6
+
7
+ module Console
8
+ def self.start
9
+ client = GithubApi::V4::Client.new(ENV.fetch('GITHUB_TOKEN'))
10
+ binding.pry
11
+ end
12
+ end
13
+ Console.start
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.required_ruby_version = '>= 2.3.0' # for <<~HEREDOC
24
24
 
25
25
  spec.add_development_dependency 'bundler', '~> 1.15'
26
+ spec.add_development_dependency 'pry'
26
27
  spec.add_development_dependency 'rake', '~> 10.0'
27
28
  spec.add_development_dependency 'rspec', '~> 3.0'
28
29
  end
@@ -29,11 +29,34 @@ class GithubApi::V4::Client
29
29
  query {
30
30
  __schema {
31
31
  types {
32
- name
33
32
  kind
33
+ name
34
34
  description
35
- fields {
35
+ fields(includeDeprecated: true) {
36
+ name
37
+ description
38
+ args {
39
+ name
40
+ description
41
+ type {
42
+ name
43
+ }
44
+ defaultValue
45
+ }
46
+ type {
47
+ name
48
+ description
49
+ }
50
+ isDeprecated
51
+ deprecationReason
52
+ }
53
+ inputFields {
36
54
  name
55
+ description
56
+ type {
57
+ name
58
+ }
59
+ defaultValue
37
60
  }
38
61
  }
39
62
  }
@@ -41,23 +64,80 @@ class GithubApi::V4::Client
41
64
  GRAPHQL
42
65
  end
43
66
 
67
+ # @return [Hash]
68
+ def query_schema
69
+ type('Query')
70
+ end
71
+
44
72
  # @param [String] name
45
73
  # @return [Hash]
46
74
  def type(name)
47
75
  graphql(query: <<~GRAPHQL)
48
76
  query {
49
77
  __type(name: #{name.dump}) {
50
- name
51
78
  kind
79
+ name
52
80
  description
53
- fields {
81
+ fields(includeDeprecated: true) {
54
82
  name
83
+ description
84
+ args {
85
+ name
86
+ description
87
+ type {
88
+ name
89
+ }
90
+ defaultValue
91
+ }
92
+ type {
93
+ name
94
+ description
95
+ fields(includeDeprecated: true) {
96
+ name
97
+ description
98
+ args {
99
+ name
100
+ description
101
+ type {
102
+ name
103
+ }
104
+ defaultValue
105
+ }
106
+ type {
107
+ name
108
+ description
109
+ }
110
+ isDeprecated
111
+ deprecationReason
112
+ }
113
+ }
114
+ isDeprecated
115
+ deprecationReason
116
+ }
117
+ inputFields {
118
+ name
119
+ description
120
+ type {
121
+ name
122
+ }
123
+ defaultValue
55
124
  }
56
125
  }
57
126
  }
58
127
  GRAPHQL
59
128
  end
60
129
 
130
+ def rate_limit
131
+ graphql(query: <<~GRAPHQL).dig('data', 'rateLimit')
132
+ query {
133
+ rateLimit {
134
+ remaining
135
+ limit
136
+ }
137
+ }
138
+ GRAPHQL
139
+ end
140
+
61
141
  private
62
142
 
63
143
  def handle_errors(resp)
@@ -1,7 +1,7 @@
1
1
  module GithubApi
2
2
  module V4
3
3
  class Client
4
- VERSION = '0.1.0'
4
+ VERSION = '0.2.0'
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github_api-v4-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takashi Kokubun
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-24 00:00:00.000000000 Z
11
+ date: 2017-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.15'
27
+ - !ruby/object:Gem::Dependency
28
+ name: pry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement