simple_twitter 2.0.0 → 2.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
  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: