umeng 0.1.0 → 0.1.1

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
  SHA1:
3
- metadata.gz: af2fbf35197ad22a750c49df723120f85e502891
4
- data.tar.gz: abb76a35b25bda615b2af8927fb80ea6e4bd3f98
3
+ metadata.gz: c6c9c480a83b5b63c7e05bcf096a0cd9ec2c4114
4
+ data.tar.gz: 68b7c6cbecf4ceec629df0151c916831ba79a48a
5
5
  SHA512:
6
- metadata.gz: 261c2a038a5f0a800b87a50d36f8ead111a983a3a550845abb3829cb077606a739e2414be11b7333fdaead1ccc56aa62086cbd490aa15447cca60106b0c430d5
7
- data.tar.gz: e84678830b951a350b357141b7c9af8d29c32e92b8cb266463c5d79a48ab1f41148c23365195ca5453f97a3c678caaeea7876af86a6d826828db6eb859a92257
6
+ metadata.gz: 4552dcfe85fa69c5177c0f3b2f7194edd3a1414bcfc55f37ae91565f459adfd370ca793d1dafa7ac486268b85dc4f5151675f9465bd04a434c43090f79dfe7ae
7
+ data.tar.gz: deae09150343404c0cc4d260138e832d9d7c9d5461bb8dd9536f06d6def9bb1d3b1037fa71db2fe61565f270648d8550f7c9a87584b490c7c8f4e05276d68ce9
data/README.md CHANGED
@@ -21,20 +21,14 @@ Or install it yourself as:
21
21
  $ gem install umeng
22
22
 
23
23
  ## Usage
24
-
25
- TODO: Write usage instructions here
24
+ ```
25
+ ument = Umeng::Client.new(appkey, app_master_secret)
26
+ umeng.send_message(params)
27
+ umeng.status(params)
28
+ ```
26
29
 
27
30
  ## Development
28
31
 
29
- After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
-
31
- 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).
32
-
33
- ## Contributing
34
-
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/umeng. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct.
36
-
37
-
38
32
  ## License
39
33
 
40
34
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
@@ -0,0 +1,22 @@
1
+ require 'json'
2
+ require 'digest'
3
+ require 'umeng/services'
4
+
5
+ module Umeng
6
+ UMENG_HOST = 'http://msg.umeng.com'
7
+
8
+ class Client
9
+ include Umeng::Services
10
+
11
+ attr_accessor :appkey, :app_master_secret
12
+
13
+ def initialize(appkey, app_master_secret)
14
+ @appkey = appkey
15
+ @app_master_secret = app_master_secret
16
+ end
17
+ end
18
+ end
19
+
20
+
21
+
22
+
@@ -0,0 +1,66 @@
1
+ require 'faraday'
2
+
3
+ module Umeng
4
+ module Services
5
+ # 消息发送
6
+ # POST http://msg.umeng.com/api/send?sign=mysign
7
+ def send_message(params={})
8
+ uri = 'api/send'
9
+ params.merge!({
10
+ appkey: @appkey,
11
+ timestamp: Time.now.to_i
12
+ })
13
+ request(uri, params)
14
+ end
15
+
16
+ # 查看状态
17
+ # POST http://msg.umeng.com/api/status?sign=mysign
18
+ def status(task_id)
19
+ uri = 'api/status'
20
+ params = {
21
+ appkey: @appkey,
22
+ timestamp: Time.now.to_i,
23
+ task_id: task_id
24
+ }
25
+ request(uri, params)
26
+ end
27
+
28
+ #取消任务
29
+ #POST http://msg.umeng.com/api/cancel?sign=mysign
30
+ def cancel(task_id)
31
+ uri = 'api/cancel'
32
+ params = {
33
+ appkey: @appkey,
34
+ timestamp: Time.now.to_i,
35
+ task_id: task_id
36
+ }
37
+ request(uri, params)
38
+ end
39
+
40
+ private
41
+ def request(uri, params)
42
+ sign = generate_sign(uri, params)
43
+
44
+ conn = Faraday.new(:url => Umeng::UMENG_HOST) do |faraday|
45
+ faraday.request :url_encoded
46
+ faraday.response :logger
47
+ faraday.adapter Faraday.default_adapter
48
+ end
49
+
50
+ response = conn.post do |req|
51
+ req.url uri, sign: sign
52
+ req.headers['Content-Type'] = 'application/json'
53
+ req.body = params.to_json
54
+ end
55
+
56
+ puts response.body
57
+ end
58
+
59
+ def generate_sign(uri, params)
60
+ method = 'POST'
61
+ url = [Umeng::UMENG_HOST, '/', uri]
62
+ post_body = JSON.dump(params)
63
+ Digest::MD5.hexdigest([method, url, post_body, @app_master_secret].join)
64
+ end
65
+ end
66
+ end
data/lib/umeng/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Umeng
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/lib/umeng.rb CHANGED
@@ -1,5 +1,5 @@
1
- require "umeng/version"
1
+ require 'umeng/version'
2
+ require 'umeng/client'
2
3
 
3
4
  module Umeng
4
- # Your code goes here...
5
5
  end
data/umeng.gemspec CHANGED
@@ -29,4 +29,5 @@ Gem::Specification.new do |spec|
29
29
 
30
30
  spec.add_development_dependency "bundler", "~> 1.10"
31
31
  spec.add_development_dependency "rake", "~> 10.0"
32
+ spec.add_development_dependency "faraday", "~> 0.9"
32
33
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: umeng
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - menghuanwd
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-08-17 00:00:00.000000000 Z
11
+ date: 2015-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: faraday
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.9'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.9'
41
55
  description: umeng api
42
56
  email:
43
57
  - 651019063@qq.com
@@ -54,6 +68,8 @@ files:
54
68
  - bin/console
55
69
  - bin/setup
56
70
  - lib/umeng.rb
71
+ - lib/umeng/client.rb
72
+ - lib/umeng/services.rb
57
73
  - lib/umeng/version.rb
58
74
  - umeng.gemspec
59
75
  homepage: https://github.com/menghuanwd/umeng