github_api-v4-client 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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