tuling 0.0.1

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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/tuling.rb +90 -0
  3. metadata +112 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a7da942eb376db8ae57d53dd468d141286c02675
4
+ data.tar.gz: 342da6ab59c085afb73f503a76b44bd6905162a4
5
+ SHA512:
6
+ metadata.gz: bc758960c3f3d483f1b1beac74a84fbdc01d24ef3817b00153ccebd7e0af30a5218122daeb2d72f8b0f17513797d3f0e248db3345ba2545039d1f772b8c9fe50
7
+ data.tar.gz: 366d7c2ad4b2e651eecaa64e6b382e632e1c3f381db9319a33636312d1831af633ae251b4b5c5ade01e04f97dfb2f0d6a7f154f1d0ef81922226e3f2958a146c
@@ -0,0 +1,90 @@
1
+ require 'httparty'
2
+ require 'uri'
3
+
4
+
5
+ class TulingError < StandardError
6
+ attr_reader :data
7
+
8
+ def initialize(data)
9
+ @data = data
10
+ super
11
+ end
12
+ end
13
+
14
+ class Tuling
15
+
16
+ TULING_URL = "http://www.tuling123.com/openapi/api"
17
+
18
+ def self.api
19
+ return "#{ENV['tuling123']}"
20
+ end
21
+
22
+ def input(content, userid)
23
+ parsed_response = get_response(full_url(content,userid))
24
+ return parsed_response
25
+ end
26
+
27
+
28
+
29
+ private
30
+ def get_response(url)
31
+ response = HTTParty.get(url)
32
+ parsed_response = response.parsed_response
33
+ parsed_response
34
+ end
35
+
36
+ def full_url(content , userid)
37
+
38
+ api_key = Tuling.api
39
+
40
+ url = "#{TULING_URL}?key=#{api_key}&info=#{content}&userid=#{userid}"
41
+ url = URI::escape(url)
42
+ url = URI::parse(url)
43
+ return url
44
+ end
45
+
46
+
47
+ # api_key = ENV['tuling123']
48
+ # url = "http://www.tuling123.com/openapi/api?key=#{api_key}&info=#{content}&userid=#{request[:FromUserName]}"
49
+ # puts "1+#{url}"
50
+
51
+ # url = URI::escape(url)
52
+ # puts "2+#{url}"
53
+
54
+ # url = URI::parse(url)
55
+ # puts "3+ #{url}"
56
+ # response = HTTParty.get(url)
57
+ # puts "r+#{response}"
58
+ # parsed_response = response.parsed_response
59
+ # puts "pr: #{parsed_response}"
60
+ # puts "code: #{parsed_response['code']}"
61
+ # case parsed_response['code']
62
+ # when 100000
63
+ # content = parsed_response['text']
64
+ # request.reply.text "#{content}"
65
+ # when 200000
66
+ # content = parsed_response['text']
67
+ # url = parsed_response['url']
68
+ # request.reply.text "#{content} 链接在这:<a href='#{url}'>点我</a>"
69
+ # when 302000
70
+ # content = parsed_response['text']
71
+ # list = parsed_response['list']
72
+
73
+
74
+ # #news = (1..list.length).each_with_object([]) { |n, memo| memo << { title: list.name, content: event.event_detail[0..100] } }
75
+ # request.reply.news(list) do |article, item, index| # article is return object
76
+ # article.item title: "#{item['article']}", description: "#{item['source']}", pic_url: "#{item['icon']}", url: "#{item['detailurl']}"
77
+ # end
78
+ # when 308000
79
+ # content = parsed_response['text']
80
+ # list = parsed_response['list']
81
+
82
+
83
+ # #news = (1..list.length).each_with_object([]) { |n, memo| memo << { title: list.name, content: event.event_detail[0..100] } }
84
+ # request.reply.news(list) do |article, item, index| # article is return object
85
+ # article.item title: "#{item['name']}", description: "#{item['info']}", pic_url: "#{item['icon']}", url: "#{item['detailurl']}"
86
+ # end
87
+ # else
88
+ # request.reply.text "你说了: #{content}。我不理解你说的内容。请等待管理员更新。" # Just echo
89
+ # end
90
+ end
metadata ADDED
@@ -0,0 +1,112 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tuling
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Jimmy Lin
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-03-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: httparty
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.13.7
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.13.7
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.11'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 1.11.2
37
+ type: :development
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '1.11'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 1.11.2
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '11.1'
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 11.1.1
57
+ type: :development
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '11.1'
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: 11.1.1
67
+ - !ruby/object:Gem::Dependency
68
+ name: rspec
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '3.4'
74
+ type: :development
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '3.4'
81
+ description: A simple gem to retrieve info from tuling123.com api(unofficial)
82
+ email: jimmy0017@gmail.com
83
+ executables: []
84
+ extensions: []
85
+ extra_rdoc_files: []
86
+ files:
87
+ - lib/tuling.rb
88
+ homepage: http://rubygems.org/gems/tuling
89
+ licenses:
90
+ - MIT
91
+ metadata: {}
92
+ post_install_message:
93
+ rdoc_options: []
94
+ require_paths:
95
+ - lib
96
+ required_ruby_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ required_rubygems_version: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ requirements: []
107
+ rubyforge_project:
108
+ rubygems_version: 2.5.1
109
+ signing_key:
110
+ specification_version: 4
111
+ summary: Tuling123 API Access Gem
112
+ test_files: []