simple_twitter 2.0.0 → 2.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
  SHA256:
3
- metadata.gz: 6658a0b3e20a5da4a1a59d28ee5062bb2f1e816e6298cf49dcc48d0cfda2bcbb
4
- data.tar.gz: 7295ee6a0d9ecd2ea5fe264bfcbe4357d8e2cde9b40db0001f0ebb39e7479399
3
+ metadata.gz: 671c43acc2022139dba5f4f69a76f518fdd46561c7081211a324e3ba1e2d75d5
4
+ data.tar.gz: 3f6b0607f128651fbfda09b6911d83a01f9f8bc03c04f714fcc7f67c65ad5c55
5
5
  SHA512:
6
- metadata.gz: aa8c402510a617b96a6dd6c239c7d4d9b0c9e01fc7202f371ba826b095c01542ba2ee76ef11d953b7aa76e3c8099597cf3d0bd2da7fa264c98214c87ad8b1e96
7
- data.tar.gz: 02eead6edb730eb7562dc7869ca15d8908b5424526a902afc68912f69a1aa847c32531d57291802237854dc84af3681a931474362e0704eec31740057c59f55d
6
+ metadata.gz: '029f55ae678e76b578b4fd350694439a253b4f3b9165a6926e709df1b5ac6d1b8bc908a299ab4e0bfb01a1c88a0ad2035c5a5259827323104c73d3816ea1a30e'
7
+ data.tar.gz: 2dcb7f62d814e81967ec466a2d746ed89a27c1191a416ceec7de0ffe1f0a4c33f664a0f2337250a76c83cc1cbd5a0371871b0e417f3a00f966ae95d6bcaecddd
data/.env.example ADDED
@@ -0,0 +1,5 @@
1
+ # TWITTER_OAUTH2_BEARER_TOKEN=
2
+ # TWITTER_OAUTH1_API_KEY=
3
+ # TWITTER_OAUTH1_API_SECRET_KEY=
4
+ # TWITTER_OAUTH1_ACCESS_TOKEN=
5
+ # TWITTER_OAUTH1_ACCESS_TOKEN_SECRET=
@@ -46,3 +46,24 @@ jobs:
46
46
 
47
47
  - run: bundle exec rspec
48
48
  - run: bundle exec yard --fail-on-warning
49
+
50
+ rbs:
51
+ runs-on: ubuntu-latest
52
+
53
+ steps:
54
+ - uses: actions/checkout@v3
55
+
56
+ - uses: ruby/setup-ruby@v1
57
+ with:
58
+ ruby-version: ruby
59
+ bundler-cache: true
60
+
61
+ - name: bundle update
62
+ run: |
63
+ set -xe
64
+ bundle config path vendor/bundle
65
+ bundle update --jobs $(nproc) --retry 3
66
+
67
+ - run: bundle exec rbs collection install
68
+ - run: bundle exec rbs validate --silent
69
+ - run: bundle exec steep check
data/.gitignore CHANGED
@@ -7,3 +7,5 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  Gemfile.lock
10
+ .env
11
+ .gem_rbs_collection/
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  ## Unreleased
2
- https://github.com/yhara/simple_twitter/compare/v2.0.0...main
2
+ https://github.com/yhara/simple_twitter/compare/v2.2.0...main
3
+
4
+ ## v2.2.0 (2023-07-24)
5
+ https://github.com/yhara/simple_twitter/compare/v2.1.0...v2.2.0
6
+
7
+ * Add rbs
8
+ * https://github.com/yhara/simple_twitter/pull/21
9
+
10
+ ## v2.1.0 (2023-07-22)
11
+ https://github.com/yhara/simple_twitter/compare/v2.0.0...v2.1.0
12
+
13
+ * Support media uploading
14
+ * https://github.com/yhara/simple_twitter/pull/26
15
+ * Add User-Agent
16
+ * https://github.com/yhara/simple_twitter/pull/27
3
17
 
4
18
  ## v2.0.0 (2023-07-17)
5
19
  https://github.com/yhara/simple_twitter/compare/v1.0.0...v2.0.0
data/README.md CHANGED
@@ -77,6 +77,49 @@ client = SimpleTwitter::Client.new(bearer_token: ENV["ACCESS_TOKEN"])
77
77
  client.post("https://api.twitter.com/2/tweets", json: { text: "Hello twitter!" })
78
78
  ```
79
79
 
80
+ ### Upload media
81
+ If you want to tweet with an image, you need to do the following steps
82
+
83
+ 1. Upload image as media
84
+ * c.f. https://developer.twitter.com/en/docs/twitter-api/v1/media/upload-media/api-reference/post-media-upload
85
+ 2. Tweet with media
86
+ * c.f. https://developer.twitter.com/en/docs/twitter-api/tweets/manage-tweets/api-reference/post-tweets
87
+
88
+ e.g.
89
+
90
+ ```ruby
91
+ config = (load from yaml or something)
92
+ client = SimpleTwitter::Client.new(
93
+ api_key: config[:api_key],
94
+ api_secret_key: config[:api_secret_key],
95
+ access_token: config[:access_token],
96
+ access_token_secret: config[:access_token_secret],
97
+ )
98
+
99
+ # Upload image as media
100
+ media = client.post(
101
+ "https://upload.twitter.com/1.1/media/upload.json",
102
+ form: {
103
+ media: HTTP::FormData::File.new("/path/to/image.png")
104
+ }
105
+ )
106
+ # =>
107
+ # {:media_id=>12345678901234567890,
108
+ # :media_id_string=>"12345678901234567890",
109
+ # :size=>60628,
110
+ # :expires_after_secs=>86400,
111
+ # :image=>{:image_type=>"image/png", :w=>400, :h=>400}}
112
+
113
+ # Tweet with media
114
+ client.post(
115
+ "https://api.twitter.com/2/tweets",
116
+ json: {
117
+ text: "Test tweet with image",
118
+ media: { media_ids: [media[:media_id_string]] },
119
+ }
120
+ )
121
+ ```
122
+
80
123
  ### Advanced
81
124
 
82
125
  If you want the raw json string or use streaming API, use `get_raw`, `post_raw`, etc. which returns `HTTP::Response` of the [http gem](https://github.com/httprb/http).
data/Steepfile ADDED
@@ -0,0 +1,30 @@
1
+ # D = Steep::Diagnostic
2
+
3
+ target :lib do
4
+ signature "sig"
5
+
6
+ check "lib" # Directory name
7
+ # check "Gemfile" # File name
8
+ # check "app/models/**/*.rb" # Glob
9
+ # ignore "lib/templates/*.rb"
10
+
11
+ # library "pathname" # Standard libraries
12
+ # library "strong_json" # Gems
13
+ library "json"
14
+
15
+ # configure_code_diagnostics(D::Ruby.default) # `default` diagnostics setting (applies by default)
16
+ # configure_code_diagnostics(D::Ruby.strict) # `strict` diagnostics setting
17
+ # configure_code_diagnostics(D::Ruby.lenient) # `lenient` diagnostics setting
18
+ # configure_code_diagnostics(D::Ruby.silent) # `silent` diagnostics setting
19
+ # configure_code_diagnostics do |hash| # You can setup everything yourself
20
+ # hash[D::Ruby::NoMethod] = :information
21
+ # end
22
+ end
23
+
24
+ # target :test do
25
+ # signature "sig", "sig-private"
26
+ #
27
+ # check "test"
28
+ #
29
+ # # library "pathname" # Standard libraries
30
+ # end
data/bin/console CHANGED
@@ -3,6 +3,7 @@
3
3
 
4
4
  require "bundler/setup"
5
5
  require "simple_twitter"
6
+ require "dotenv/load"
6
7
 
7
8
  # You can add fixtures and/or initialization code here to make experimenting
8
9
  # with your gem easier. You can also use a different console, if you like.
@@ -11,5 +12,13 @@ require "simple_twitter"
11
12
  # require "pry"
12
13
  # Pry.start
13
14
 
15
+ @client = SimpleTwitter::Client.new(
16
+ bearer_token: ENV["TWITTER_OAUTH2_BEARER_TOKEN"],
17
+ api_key: ENV["TWITTER_OAUTH1_API_KEY"],
18
+ api_secret_key: ENV["TWITTER_OAUTH1_API_SECRET_KEY"],
19
+ access_token: ENV["TWITTER_OAUTH1_ACCESS_TOKEN"],
20
+ access_token_secret: ENV["TWITTER_OAUTH1_ACCESS_TOKEN_SECRET"],
21
+ )
22
+
14
23
  require "irb"
15
24
  IRB.start(__FILE__)
@@ -1,11 +1,11 @@
1
1
  module SimpleTwitter
2
2
  # Twitter API Client
3
3
  class Client
4
- # @param bearer_token [String] This requires for API v2
5
- # @param api_key [String] This requires for API v1.1
6
- # @param api_secret_key [String] This requires for API v1.1
7
- # @param access_token [String] This requires for API v1.1
8
- # @param access_token_secret [String] This requires for API v1.1
4
+ # @param bearer_token [String] This requires for OAuth 2
5
+ # @param api_key [String] This requires for OAuth 1.0a
6
+ # @param api_secret_key [String] This requires for OAuth 1.0a
7
+ # @param access_token [String] This requires for OAuth 1.0a
8
+ # @param access_token_secret [String] This requires for OAuth 1.0a
9
9
  def initialize(bearer_token: nil,
10
10
  api_key: nil,
11
11
  api_secret_key: nil,
@@ -23,80 +23,87 @@ module SimpleTwitter
23
23
  end
24
24
  end
25
25
 
26
- # @!method get(url, params: {}, json: {})
26
+ # @!method get(url, params: {}, json: {}, form: {})
27
27
  # Call Twitter API with GET method
28
28
  # @param url [String]
29
29
  # @param params [Hash] Send this arg as a query string. (e.g. `?name1=value1&name2=value2`)
30
30
  # @param json [Hash] Send this arg as JSON request body with `Content-Type: application/json` header
31
+ # @param form [Hash] Send this arg as form-data request body with `Content-Type: multipart/form-data` header
31
32
  # @return [Hash] parsed json data
32
33
  # @raise [SimpleTwitter::ClientError] Twitter API returned 4xx error
33
34
  # @raise [SimpleTwitter::ServerError] Twitter API returned 5xx error
34
35
 
35
- # @!method get_raw(url, params: {}, json: {})
36
+ # @!method get_raw(url, params: {}, json: {}, form: {})
36
37
  # Call Twitter API with GET method
37
38
  # @param url [String]
38
39
  # @param params [Hash] Send this arg as a query string. (e.g. `?name1=value1&name2=value2`)
39
40
  # @param json [Hash] Send this arg as JSON request body with `Content-Type: application/json` header
41
+ # @param form [Hash] Send this arg as form-data request body with `Content-Type: multipart/form-data` header
40
42
  # @return [HTTP::Response]
41
43
 
42
- # @!method post(url, params: {}, json: {})
44
+ # @!method post(url, params: {}, json: {}, form: {})
43
45
  # Call Twitter API with POST method
44
46
  # @param url [String]
45
47
  # @param params [Hash] Send this arg as a query string. (e.g. `?name1=value1&name2=value2`)
46
48
  # @param json [Hash] Send this arg as JSON request body with `Content-Type: application/json` header
49
+ # @param form [Hash] Send this arg as form-data request body with `Content-Type: multipart/form-data` header
47
50
  # @return [Hash] parsed json data
48
51
  # @raise [SimpleTwitter::ClientError] Twitter API returned 4xx error
49
52
  # @raise [SimpleTwitter::ServerError] Twitter API returned 5xx error
50
53
 
51
- # @!method post_raw(url, params: {}, json: {})
54
+ # @!method post_raw(url, params: {}, json: {}, form: {})
52
55
  # Call Twitter API with POST method
53
56
  # @param url [String]
54
57
  # @param params [Hash] Send this arg as a query string. (e.g. `?name1=value1&name2=value2`)
55
58
  # @param json [Hash] Send this arg as JSON request body with `Content-Type: application/json` header
59
+ # @param form [Hash] Send this arg as form-data request body with `Content-Type: multipart/form-data` header
56
60
  # @return [HTTP::Response]
57
61
 
58
- # @!method put(url, params: {}, json: {})
62
+ # @!method put(url, params: {}, json: {}, form: {})
59
63
  # Call Twitter API with PUT method
60
64
  # @param url [String]
61
65
  # @param params [Hash] Send this arg as a query string. (e.g. `?name1=value1&name2=value2`)
62
66
  # @param json [Hash] Send this arg as JSON request body with `Content-Type: application/json` header
67
+ # @param form [Hash] Send this arg as form-data request body with `Content-Type: multipart/form-data` header
63
68
  # @return [Hash] parsed json data
64
69
  # @raise [SimpleTwitter::ClientError] Twitter API returned 4xx error
65
70
  # @raise [SimpleTwitter::ServerError] Twitter API returned 5xx error
66
71
 
67
- # @!method put_raw(url, params: {}, json: {})
72
+ # @!method put_raw(url, params: {}, json: {}, form: {})
68
73
  # Call Twitter API with PUT method
69
74
  # @param url [String]
70
75
  # @param params [Hash] Send this arg as a query string. (e.g. `?name1=value1&name2=value2`)
71
76
  # @param json [Hash] Send this arg as JSON request body with `Content-Type: application/json` header
77
+ # @param form [Hash] Send this arg as form-data request body with `Content-Type: multipart/form-data` header
72
78
  # @return [HTTP::Response]
73
79
 
74
- # @!method delete(url, params: {}, json: {})
80
+ # @!method delete(url, params: {}, json: {}, form: {})
75
81
  # Call Twitter API with DELETE method
76
82
  # @param url [String]
77
83
  # @param params [Hash] Send this arg as a query string. (e.g. `?name1=value1&name2=value2`)
78
84
  # @param json [Hash] Send this arg as JSON request body with `Content-Type: application/json` header
85
+ # @param form [Hash] Send this arg as form-data request body with `Content-Type: multipart/form-data` header
79
86
  # @return [Hash] parsed json data
80
87
  # @raise [SimpleTwitter::ClientError] Twitter API returned 4xx error
81
88
  # @raise [SimpleTwitter::ServerError] Twitter API returned 5xx error
82
89
 
83
- # @!method delete_raw(url, params: {}, json: {})
90
+ # @!method delete_raw(url, params: {}, json: {}, form: {})
84
91
  # Call Twitter API with DELETE method
85
92
  # @param url [String]
86
93
  # @param params [Hash] Send this arg as a query string. (e.g. `?name1=value1&name2=value2`)
87
94
  # @param json [Hash] Send this arg as JSON request body with `Content-Type: application/json` header
95
+ # @param form [Hash] Send this arg as form-data request body with `Content-Type: multipart/form-data` header
88
96
  # @return [HTTP::Response]
89
97
 
90
98
  %i[get post put delete].each do |m|
91
99
  class_eval <<~EOD
92
- def #{m}(url, params: {}, json: {})
93
- res = #{m}_raw(url, params: params, json: json)
100
+ def #{m}(url, params: {}, json: {}, form: {})
101
+ res = #{m}_raw(url, params: params, json: json, form: form)
94
102
  parse_response(res)
95
103
  end
96
104
 
97
- def #{m}_raw(url, params: {}, json: {})
98
- args = { params: params }
99
- args[:json] = json unless json.empty?
105
+ def #{m}_raw(url, params: {}, json: {}, form: {})
106
+ args = create_http_args(params: params, json: json, form: form)
100
107
  http(:#{m}, url, params).#{m}(url, args)
101
108
  end
102
109
  EOD
@@ -104,6 +111,22 @@ module SimpleTwitter
104
111
 
105
112
  private
106
113
 
114
+ # @param params [Hash] Send this arg as a query string. (e.g. `?name1=value1&name2=value2`)
115
+ # @param json [Hash] Send this arg as JSON request body with `Content-Type: application/json` header
116
+ # @param form [Hash] Send this arg as form-data request body with `Content-Type: multipart/form-data` header
117
+ # @return [Hash<Symbol, Object>]
118
+ def create_http_args(params:, json:, form:)
119
+ args = {
120
+ params: params,
121
+ headers: {
122
+ "User-Agent" => "simple_twitter v#{SimpleTwitter::VERSION} (https://github.com/yhara/simple_twitter)",
123
+ },
124
+ }
125
+ args[:json] = json unless json.empty?
126
+ args[:form] = form unless form.empty?
127
+ args
128
+ end
129
+
107
130
  # @param method [Symbol]
108
131
  # @param url [String]
109
132
  # @param params [Hash<Symbol, String>]
@@ -1,3 +1,3 @@
1
1
  module SimpleTwitter
2
- VERSION = "2.0.0"
2
+ VERSION = "2.2.0"
3
3
  end
@@ -1,6 +1,8 @@
1
1
  require 'http'
2
2
  require 'simple_oauth'
3
3
 
4
+ require_relative "simple_twitter/version"
5
+
4
6
  module SimpleTwitter
5
7
  autoload :Client, "simple_twitter/client"
6
8
  autoload :ClientError, "simple_twitter/client_error"
@@ -0,0 +1,26 @@
1
+ ---
2
+ sources:
3
+ - type: git
4
+ name: ruby/gem_rbs_collection
5
+ revision: aeede7258d020bfd509541e0c8075ce833292409
6
+ remote: https://github.com/ruby/gem_rbs_collection.git
7
+ repo_dir: gems
8
+ path: ".gem_rbs_collection"
9
+ gems:
10
+ - name: http
11
+ version: '5.1'
12
+ source:
13
+ type: git
14
+ name: ruby/gem_rbs_collection
15
+ revision: aeede7258d020bfd509541e0c8075ce833292409
16
+ remote: https://github.com/ruby/gem_rbs_collection.git
17
+ repo_dir: gems
18
+ - name: simple_oauth
19
+ version: '0.3'
20
+ source:
21
+ type: git
22
+ name: ruby/gem_rbs_collection
23
+ revision: aeede7258d020bfd509541e0c8075ce833292409
24
+ remote: https://github.com/ruby/gem_rbs_collection.git
25
+ repo_dir: gems
26
+ gemfile_lock_path: Gemfile.lock
@@ -0,0 +1,30 @@
1
+ # Download sources
2
+ sources:
3
+ - type: git
4
+ name: ruby/gem_rbs_collection
5
+ remote: https://github.com/ruby/gem_rbs_collection.git
6
+ revision: main
7
+ repo_dir: gems
8
+
9
+ # You can specify local directories as sources also.
10
+ # - type: local
11
+ # path: path/to/your/local/repository
12
+
13
+ # A directory to install the downloaded RBSs
14
+ path: .gem_rbs_collection
15
+
16
+ gems:
17
+ # Skip loading rbs gem's RBS.
18
+ # It's unnecessary if you don't use rbs as a library.
19
+ - name: rbs
20
+ ignore: true
21
+
22
+ - name: simple_twitter
23
+ ignore: true
24
+ - name: steep
25
+ ignore: true
26
+ - name: yard
27
+ ignore: true
28
+
29
+ - name: http
30
+ - name: simple_oauth
@@ -0,0 +1,28 @@
1
+ # TypeProf 0.21.3
2
+
3
+ # Classes
4
+ module SimpleTwitter
5
+ class Client
6
+ @bearer_token: string
7
+ @oauth_params: {consumer_key: string, consumer_secret: string, token: string, token_secret: string}
8
+
9
+ def initialize: (?bearer_token: string, ?api_key: string, ?api_secret_key: string, ?access_token: string, ?access_token_secret: string) -> void
10
+
11
+ def get: (String url, params: Hash[Symbol, untyped], json: Hash[Symbol, untyped]) -> Hash[Symbol, untyped]
12
+ def post: (String url, params: Hash[Symbol, untyped], json: Hash[Symbol, untyped]) -> Hash[Symbol, untyped]
13
+ def put: (String url, params: Hash[Symbol, untyped], json: Hash[Symbol, untyped]) -> Hash[Symbol, untyped]
14
+ def delete: (String url, params: Hash[Symbol, untyped], json: Hash[Symbol, untyped]) -> Hash[Symbol, untyped]
15
+
16
+ def get_raw: (String url, params: Hash[Symbol, untyped], json: Hash[Symbol, untyped]) -> HTTP::Response
17
+ def post_raw: (String url, params: Hash[Symbol, untyped], json: Hash[Symbol, untyped]) -> HTTP::Response
18
+ def put_raw: (String url, params: Hash[Symbol, untyped], json: Hash[Symbol, untyped]) -> HTTP::Response
19
+ def delete_raw: (String url, params: Hash[Symbol, untyped], json: Hash[Symbol, untyped]) -> HTTP::Response
20
+
21
+ private
22
+
23
+ def create_http_args: (params: Hash[Symbol, untyped], json: Hash[Symbol, untyped], form: Hash[Symbol, untyped]) -> Hash[Symbol, untyped]
24
+ def http: (Symbol method, String url, Hash[Symbol, String] params) -> HTTP::Client
25
+ def auth_header: (Symbol method, String url, Hash[Symbol, String] params) -> String
26
+ def parse_response: (HTTP::Response res) -> Hash[Symbol, untyped]
27
+ end
28
+ end
@@ -0,0 +1,7 @@
1
+ # TypeProf 0.21.3
2
+
3
+ # Classes
4
+ module SimpleTwitter
5
+ class ClientError < Error
6
+ end
7
+ end
@@ -0,0 +1,10 @@
1
+ # TypeProf 0.21.3
2
+
3
+ # Classes
4
+ module SimpleTwitter
5
+ class Error < StandardError
6
+ attr_reader raw_response: HTTP::Response
7
+ attr_reader body: Hash[Symbol, untyped]
8
+ def initialize: (HTTP::Response raw_response) -> void
9
+ end
10
+ end
@@ -0,0 +1,7 @@
1
+ # TypeProf 0.21.3
2
+
3
+ # Classes
4
+ module SimpleTwitter
5
+ class ServerError < Error
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ # TypeProf 0.21.3
2
+
3
+ # Classes
4
+ module SimpleTwitter
5
+ VERSION: String
6
+ end
@@ -0,0 +1,5 @@
1
+ # TypeProf 0.21.3
2
+
3
+ # Classes
4
+ module SimpleTwitter
5
+ end
@@ -30,8 +30,10 @@ Gem::Specification.new do |spec|
30
30
  spec.add_dependency "http", ">= 4"
31
31
  spec.add_dependency "simple_oauth", ">= 0.3.1"
32
32
 
33
+ spec.add_development_dependency "dotenv"
33
34
  spec.add_development_dependency "rspec"
34
35
  spec.add_development_dependency "rspec-its"
36
+ spec.add_development_dependency "steep"
35
37
  spec.add_development_dependency "webmock"
36
38
  spec.add_development_dependency "yard"
37
39
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_twitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yutaka HARA
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2023-07-17 00:00:00.000000000 Z
12
+ date: 2023-07-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: http
@@ -39,6 +39,20 @@ dependencies:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: 0.3.1
42
+ - !ruby/object:Gem::Dependency
43
+ name: dotenv
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
42
56
  - !ruby/object:Gem::Dependency
43
57
  name: rspec
44
58
  requirement: !ruby/object:Gem::Requirement
@@ -67,6 +81,20 @@ dependencies:
67
81
  - - ">="
68
82
  - !ruby/object:Gem::Version
69
83
  version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: steep
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
70
98
  - !ruby/object:Gem::Dependency
71
99
  name: webmock
72
100
  requirement: !ruby/object:Gem::Requirement
@@ -103,6 +131,7 @@ executables: []
103
131
  extensions: []
104
132
  extra_rdoc_files: []
105
133
  files:
134
+ - ".env.example"
106
135
  - ".github/dependabot.yml"
107
136
  - ".github/workflows/pages.yml"
108
137
  - ".github/workflows/test.yml"
@@ -114,6 +143,7 @@ files:
114
143
  - LICENSE.txt
115
144
  - README.md
116
145
  - Rakefile
146
+ - Steepfile
117
147
  - bin/console
118
148
  - bin/setup
119
149
  - lib/simple_twitter.rb
@@ -122,6 +152,14 @@ files:
122
152
  - lib/simple_twitter/error.rb
123
153
  - lib/simple_twitter/server_error.rb
124
154
  - lib/simple_twitter/version.rb
155
+ - rbs_collection.lock.yaml
156
+ - rbs_collection.yaml
157
+ - sig/simple_twitter.rbs
158
+ - sig/simple_twitter/client.rbs
159
+ - sig/simple_twitter/client_error.rbs
160
+ - sig/simple_twitter/error.rbs
161
+ - sig/simple_twitter/server_error.rbs
162
+ - sig/simple_twitter/version.rbs
125
163
  - simple_twitter.gemspec
126
164
  homepage: https://github.com/yhara/simple_twitter
127
165
  licenses: