http_store 0.1.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 +7 -0
- data/.gitignore +11 -0
- data/.rspec +3 -0
- data/.travis.yml +7 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +77 -0
- data/README.md +60 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/db/migrate/1_create_rest_requests.rb +26 -0
- data/http_store.gemspec +39 -0
- data/lib/generators/initializer_generator.rb +5 -0
- data/lib/http_store/engine.rb +4 -0
- data/lib/http_store/requestable.rb +38 -0
- data/lib/http_store/responseable.rb +38 -0
- data/lib/http_store/rest_request.rb +90 -0
- data/lib/http_store/version.rb +3 -0
- data/lib/http_store.rb +15 -0
- metadata +168 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 37267dbaf2e539e27cb577b0774c53c1cc78b0ab601dfeb939bce2c8a24b3183
|
4
|
+
data.tar.gz: 9bd3f0cb27141be490293d52a1dfed63d14e09d0d2fd8348b295047e1ebfe6b1
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 22773739e8b21d29dccc55f3348b5e1199dfea8084a599a260d10ba33c2ba9db06016f9303e3f290cac680a5e31ddd2eafc52e34475f8ebdadf008df58fbe841
|
7
|
+
data.tar.gz: 4aa1805a664e2e4a3fea921b924eba2ba52bb9464f1cfe386d625ded5bf62961339f291a57c202baf8369be01e2ff0b846c151d111388cb0df98db42f7d8d3d5
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
http_store (0.1.0)
|
5
|
+
activerecord (>= 5.0, < 6.1)
|
6
|
+
hashie (~> 3.0)
|
7
|
+
rest-client (~> 2.0)
|
8
|
+
|
9
|
+
GEM
|
10
|
+
remote: https://rubygems.org/
|
11
|
+
specs:
|
12
|
+
activemodel (5.2.3)
|
13
|
+
activesupport (= 5.2.3)
|
14
|
+
activerecord (5.2.3)
|
15
|
+
activemodel (= 5.2.3)
|
16
|
+
activesupport (= 5.2.3)
|
17
|
+
arel (>= 9.0)
|
18
|
+
activesupport (5.2.3)
|
19
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
20
|
+
i18n (>= 0.7, < 2)
|
21
|
+
minitest (~> 5.1)
|
22
|
+
tzinfo (~> 1.1)
|
23
|
+
arel (9.0.0)
|
24
|
+
byebug (11.0.1)
|
25
|
+
concurrent-ruby (1.1.5)
|
26
|
+
diff-lcs (1.3)
|
27
|
+
domain_name (0.5.20190701)
|
28
|
+
unf (>= 0.0.5, < 1.0.0)
|
29
|
+
hashie (3.6.0)
|
30
|
+
http-accept (1.7.0)
|
31
|
+
http-cookie (1.0.3)
|
32
|
+
domain_name (~> 0.5)
|
33
|
+
i18n (1.6.0)
|
34
|
+
concurrent-ruby (~> 1.0)
|
35
|
+
mime-types (3.3)
|
36
|
+
mime-types-data (~> 3.2015)
|
37
|
+
mime-types-data (3.2019.0904)
|
38
|
+
minitest (5.11.3)
|
39
|
+
netrc (0.11.0)
|
40
|
+
rake (10.5.0)
|
41
|
+
rest-client (2.1.0)
|
42
|
+
http-accept (>= 1.7.0, < 2.0)
|
43
|
+
http-cookie (>= 1.0.2, < 2.0)
|
44
|
+
mime-types (>= 1.16, < 4.0)
|
45
|
+
netrc (~> 0.8)
|
46
|
+
rspec (3.8.0)
|
47
|
+
rspec-core (~> 3.8.0)
|
48
|
+
rspec-expectations (~> 3.8.0)
|
49
|
+
rspec-mocks (~> 3.8.0)
|
50
|
+
rspec-core (3.8.2)
|
51
|
+
rspec-support (~> 3.8.0)
|
52
|
+
rspec-expectations (3.8.4)
|
53
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
54
|
+
rspec-support (~> 3.8.0)
|
55
|
+
rspec-mocks (3.8.1)
|
56
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
57
|
+
rspec-support (~> 3.8.0)
|
58
|
+
rspec-support (3.8.2)
|
59
|
+
thread_safe (0.3.6)
|
60
|
+
tzinfo (1.2.5)
|
61
|
+
thread_safe (~> 0.1)
|
62
|
+
unf (0.1.4)
|
63
|
+
unf_ext
|
64
|
+
unf_ext (0.0.7.6)
|
65
|
+
|
66
|
+
PLATFORMS
|
67
|
+
ruby
|
68
|
+
|
69
|
+
DEPENDENCIES
|
70
|
+
bundler (~> 2.0)
|
71
|
+
byebug (~> 11.0)
|
72
|
+
http_store!
|
73
|
+
rake (~> 10.0)
|
74
|
+
rspec (~> 3.0)
|
75
|
+
|
76
|
+
BUNDLED WITH
|
77
|
+
2.0.2
|
data/README.md
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
# HttpStore
|
2
|
+
|
3
|
+
This is a http client, based on rest-client. It provide a activerecord table to save the request.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
gem 'http_store'
|
11
|
+
```
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
Or install it yourself as:
|
18
|
+
|
19
|
+
$ gem install http_store
|
20
|
+
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
first, you need create migration whit this command.
|
24
|
+
|
25
|
+
```
|
26
|
+
rake http_store_engine:install:migrations
|
27
|
+
```
|
28
|
+
|
29
|
+
and you can extend the HttpStore::RestRequest to create your rest-client request.
|
30
|
+
|
31
|
+
```ruby
|
32
|
+
class YourRequest < HttpStore::RestRequest
|
33
|
+
def build_request
|
34
|
+
@query_params_hash = {
|
35
|
+
..
|
36
|
+
}
|
37
|
+
|
38
|
+
self.http_method = 'POST'
|
39
|
+
self.url = 'https://www.example.com'
|
40
|
+
end
|
41
|
+
|
42
|
+
def response_status_check
|
43
|
+
status_code == 200 && response_hash.access_token.present?
|
44
|
+
end
|
45
|
+
|
46
|
+
def rsp_success_data
|
47
|
+
response_hash.access_token
|
48
|
+
end
|
49
|
+
end
|
50
|
+
```
|
51
|
+
|
52
|
+
## Development
|
53
|
+
|
54
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
55
|
+
|
56
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
57
|
+
|
58
|
+
## Contributing
|
59
|
+
|
60
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/http_store.
|
data/Rakefile
ADDED
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "http_store"
|
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__)
|
data/bin/setup
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
class CreateRestRequests < ActiveRecord::Migration[5.2]
|
2
|
+
def change
|
3
|
+
create_table :rest_requests do |t|
|
4
|
+
t.string :http_method, comment: '请求方法'
|
5
|
+
t.string :url, comment: '请求 URL'
|
6
|
+
t.text :headers, comment: '请求 header'
|
7
|
+
t.text :query_params, comment: 'url 参数'
|
8
|
+
t.string :data_type, comment: 'data 参数类型 (form/json)'
|
9
|
+
t.text :data, comment: '参数'
|
10
|
+
t.text :request_data, comment: '可能和 query params 重复'
|
11
|
+
|
12
|
+
t.integer :status_code, comment: 'response http code'
|
13
|
+
t.text :response, comment: 'response body'
|
14
|
+
t.text :response_headers, comment: 'response header'
|
15
|
+
t.boolean :response_status, comment: '请求结果 true/false, 这个要根据业务逻辑来设定. 不能靠 status_code 来确定'
|
16
|
+
t.text :response_data, comment: '格式化后的 response'
|
17
|
+
|
18
|
+
t.string :type, comment: '请求类型'
|
19
|
+
t.string :requestable_id, comment: '外键 ID'
|
20
|
+
t.string :requestable_type, comment: '外键 类型'
|
21
|
+
t.boolean :is_valid, comment: '请求是否成功'
|
22
|
+
|
23
|
+
t.timestamps
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/http_store.gemspec
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
lib = File.expand_path("lib", __dir__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
require "http_store/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "http_store"
|
7
|
+
spec.version = HttpStore::VERSION
|
8
|
+
spec.authors = ["black"]
|
9
|
+
spec.email = ["black@paimingjia.com"]
|
10
|
+
|
11
|
+
spec.summary = %q{store the http request, it based on rest-client}
|
12
|
+
spec.description = %q{This lib is based on rest-clint http client. It generate a table to store the http request info}
|
13
|
+
spec.homepage = "https://github.com/308820773/http-store"
|
14
|
+
|
15
|
+
spec.metadata["allowed_push_host"] = "https://rubygems.org"
|
16
|
+
|
17
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
18
|
+
spec.metadata["source_code_uri"] = "https://github.com/308820773/http-store"
|
19
|
+
# spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
|
20
|
+
|
21
|
+
# Specify which files should be added to the gem when it is released.
|
22
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
23
|
+
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
24
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
25
|
+
end
|
26
|
+
spec.bindir = "exe"
|
27
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
28
|
+
spec.require_paths = ["lib"]
|
29
|
+
|
30
|
+
spec.add_dependency "rest-client", '~> 2.0'
|
31
|
+
spec.add_dependency "hashie", '~> 3.0'
|
32
|
+
spec.add_dependency "activerecord", '>= 5.0', '< 6.1'
|
33
|
+
|
34
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
35
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
36
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
37
|
+
spec.add_development_dependency "byebug", "~> 11.0"
|
38
|
+
end
|
39
|
+
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module HttpStore
|
2
|
+
module Requestable
|
3
|
+
def build_request
|
4
|
+
# callback
|
5
|
+
end
|
6
|
+
|
7
|
+
def request_valid?
|
8
|
+
true
|
9
|
+
end
|
10
|
+
|
11
|
+
def json_request?
|
12
|
+
data_type.to_s.casecmp('json').zero?
|
13
|
+
end
|
14
|
+
|
15
|
+
def file_request?
|
16
|
+
@data_hash.to_json.size > GRAPE_API::HTTP_FILE_SIZE_LIMIT
|
17
|
+
end
|
18
|
+
|
19
|
+
def get?
|
20
|
+
http_method.to_s.casecmp('get').zero?
|
21
|
+
end
|
22
|
+
|
23
|
+
def post?
|
24
|
+
http_method.to_s.casecmp('post').zero?
|
25
|
+
end
|
26
|
+
|
27
|
+
def default_request
|
28
|
+
@headers_hash ||= { charset: 'UTF-8' } # accept: :json
|
29
|
+
@query_params_hash ||= {}
|
30
|
+
@data_hash ||= {}
|
31
|
+
@headers_hash[:content_type] = :json if json_request?
|
32
|
+
|
33
|
+
self.headers = @headers_hash.to_json
|
34
|
+
self.data = @data_hash.to_json unless file_request?
|
35
|
+
self.query_params = @query_params_hash.to_json
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module HttpStore
|
2
|
+
module Responseable
|
3
|
+
attr_accessor :response_obj
|
4
|
+
|
5
|
+
# 判断请求是否到达第三方接口, 并处理. 若为 true 不再重复调用
|
6
|
+
def response_status_check
|
7
|
+
status_code == 200
|
8
|
+
end
|
9
|
+
|
10
|
+
def json_response?
|
11
|
+
response_headers_hash['content_type'].to_s =~ /json/
|
12
|
+
end
|
13
|
+
|
14
|
+
def file_response?
|
15
|
+
response_headers_hash['content_type'].to_s =~ /(stream|file)/
|
16
|
+
end
|
17
|
+
|
18
|
+
def save_response
|
19
|
+
self.status_code = response_obj.code
|
20
|
+
self.response = response_obj.body if response_obj.body.size < GRAPE_API::HTTP_FILE_SIZE_LIMIT && !file_response?
|
21
|
+
self.response_headers = response_obj.headers.to_json
|
22
|
+
save!
|
23
|
+
end
|
24
|
+
|
25
|
+
def save_response_result
|
26
|
+
self.response_status = !!response_status_check
|
27
|
+
@response_data_hash = response_status ? { data: rsp_success_data } : { error: rsp_error_msg }
|
28
|
+
raise RestRequestError, '三方请求异常, 请与管理员联系' if result.blank?
|
29
|
+
|
30
|
+
self.response_data = @response_data_hash.to_json
|
31
|
+
save!
|
32
|
+
end
|
33
|
+
|
34
|
+
def result
|
35
|
+
response_data_hash.data.presence || response_data_hash.error.presence
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# == Schema Information
|
2
|
+
#
|
3
|
+
# Table name: rest_requests
|
4
|
+
#
|
5
|
+
# id :integer not null, primary key
|
6
|
+
# http_method :string(255)
|
7
|
+
# url :string(255)
|
8
|
+
# headers :text(65535)
|
9
|
+
# query_params :text(65535)
|
10
|
+
# data_type :string(255)
|
11
|
+
# data :text(65535)
|
12
|
+
# status_code :integer
|
13
|
+
# response :text(65535)
|
14
|
+
# response_headers :text(65535)
|
15
|
+
# response_status :boolean
|
16
|
+
# response_data :text(65535)
|
17
|
+
# type :string(255)
|
18
|
+
# requestable_id :string(255)
|
19
|
+
# requestable_type :string(255)
|
20
|
+
# created_at :datetime not null
|
21
|
+
# updated_at :datetime not null
|
22
|
+
# request_data :text(65535)
|
23
|
+
# is_valid :boolean
|
24
|
+
#
|
25
|
+
|
26
|
+
module HttpStore
|
27
|
+
class RestRequest < ActiveRecord::Base
|
28
|
+
include HttpStore::Requestable
|
29
|
+
include HttpStore::Responseable
|
30
|
+
|
31
|
+
belongs_to :requestable, polymorphic: true, optional: false
|
32
|
+
|
33
|
+
def self.execute(attrs, &block)
|
34
|
+
req = new(attrs)
|
35
|
+
req.build_request
|
36
|
+
req.default_request
|
37
|
+
req.is_valid = req.request_valid?
|
38
|
+
req.save! # save request
|
39
|
+
|
40
|
+
req.execute(&block) if req.is_valid
|
41
|
+
req
|
42
|
+
end
|
43
|
+
|
44
|
+
def http_get_execute
|
45
|
+
RestClient.get("#{url}?#{query_params_hash.to_query}", headers_hash)
|
46
|
+
rescue RestClient::ExceptionWithResponse => e
|
47
|
+
# :nocov:
|
48
|
+
e.response
|
49
|
+
# :nocov:
|
50
|
+
end
|
51
|
+
|
52
|
+
def http_post_execute
|
53
|
+
real_data = json_request? ? data_hash.to_json : data_hash.to_hash
|
54
|
+
RestClient.post("#{url}?#{query_params_hash.to_query}", real_data, headers_hash.to_hash.symbolize_keys)
|
55
|
+
rescue RestClient::ExceptionWithResponse => e
|
56
|
+
# :nocov:
|
57
|
+
e.response
|
58
|
+
# :nocov:
|
59
|
+
end
|
60
|
+
|
61
|
+
def execute
|
62
|
+
self.response_obj = get? ? http_get_execute : http_post_execute
|
63
|
+
raise RestRequestError, 'response_obj is nil' unless response_obj
|
64
|
+
|
65
|
+
save_response
|
66
|
+
save_response_result
|
67
|
+
|
68
|
+
yield self if block_given?
|
69
|
+
|
70
|
+
self
|
71
|
+
end
|
72
|
+
|
73
|
+
%i[query_params_hash data_hash headers_hash request_data_hash
|
74
|
+
response_hash response_data_hash response_headers_hash].each do |hash_key|
|
75
|
+
define_method hash_key do
|
76
|
+
iv_key = "@#{hash_key}".to_sym
|
77
|
+
|
78
|
+
result =
|
79
|
+
if instance_variable_get(iv_key).present?
|
80
|
+
instance_variable_get(iv_key)
|
81
|
+
else
|
82
|
+
json_field = hash_key.to_s.gsub(/_hash/, '').to_sym
|
83
|
+
instance_variable_set iv_key, (JSON.parse(send(json_field)) rescue {})
|
84
|
+
end
|
85
|
+
|
86
|
+
Hashie::Mash.new(result) rescue Hashie::Mash.new({})
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
data/lib/http_store.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require "http_store/version"
|
2
|
+
require 'byebug'
|
3
|
+
require 'active_record'
|
4
|
+
require 'rails/engine'
|
5
|
+
require 'http_store/engine'
|
6
|
+
require 'active_support/core_ext/module'
|
7
|
+
|
8
|
+
module HttpStore
|
9
|
+
class Error < StandardError; end
|
10
|
+
extend ActiveSupport::Autoload
|
11
|
+
|
12
|
+
autoload :Requestable
|
13
|
+
autoload :Responseable
|
14
|
+
autoload :RestRequest
|
15
|
+
end
|
metadata
ADDED
@@ -0,0 +1,168 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: http_store
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- black
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-09-17 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rest-client
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: hashie
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3.0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: activerecord
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '5.0'
|
48
|
+
- - "<"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '6.1'
|
51
|
+
type: :runtime
|
52
|
+
prerelease: false
|
53
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '5.0'
|
58
|
+
- - "<"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '6.1'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: bundler
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '2.0'
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '2.0'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: rake
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '10.0'
|
82
|
+
type: :development
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '10.0'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: rspec
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '3.0'
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '3.0'
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: byebug
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '11.0'
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '11.0'
|
117
|
+
description: This lib is based on rest-clint http client. It generate a table to store
|
118
|
+
the http request info
|
119
|
+
email:
|
120
|
+
- black@paimingjia.com
|
121
|
+
executables: []
|
122
|
+
extensions: []
|
123
|
+
extra_rdoc_files: []
|
124
|
+
files:
|
125
|
+
- ".gitignore"
|
126
|
+
- ".rspec"
|
127
|
+
- ".travis.yml"
|
128
|
+
- Gemfile
|
129
|
+
- Gemfile.lock
|
130
|
+
- README.md
|
131
|
+
- Rakefile
|
132
|
+
- bin/console
|
133
|
+
- bin/setup
|
134
|
+
- db/migrate/1_create_rest_requests.rb
|
135
|
+
- http_store.gemspec
|
136
|
+
- lib/generators/initializer_generator.rb
|
137
|
+
- lib/http_store.rb
|
138
|
+
- lib/http_store/engine.rb
|
139
|
+
- lib/http_store/requestable.rb
|
140
|
+
- lib/http_store/responseable.rb
|
141
|
+
- lib/http_store/rest_request.rb
|
142
|
+
- lib/http_store/version.rb
|
143
|
+
homepage: https://github.com/308820773/http-store
|
144
|
+
licenses: []
|
145
|
+
metadata:
|
146
|
+
allowed_push_host: https://rubygems.org
|
147
|
+
homepage_uri: https://github.com/308820773/http-store
|
148
|
+
source_code_uri: https://github.com/308820773/http-store
|
149
|
+
post_install_message:
|
150
|
+
rdoc_options: []
|
151
|
+
require_paths:
|
152
|
+
- lib
|
153
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
154
|
+
requirements:
|
155
|
+
- - ">="
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0'
|
158
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
159
|
+
requirements:
|
160
|
+
- - ">="
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: '0'
|
163
|
+
requirements: []
|
164
|
+
rubygems_version: 3.0.4
|
165
|
+
signing_key:
|
166
|
+
specification_version: 4
|
167
|
+
summary: store the http request, it based on rest-client
|
168
|
+
test_files: []
|