rfetion 0.3.12 → 0.3.13

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.
data/README.textile CHANGED
@@ -31,9 +31,14 @@ send sms to friends
31
31
  Fetion.send_sms_to_friends(mobile_no, password, friends_mobile_or_fetion_number, content)
32
32
  </code></pre>
33
33
 
34
- add friend
34
+ add friend with mobile
35
35
  <pre><code>
36
- Fetion.add_buddy(mobile_no, password, friend_mobile)
36
+ Fetion.add_buddy_with_mobile(mobile_no, password, friend_mobile)
37
+ </code></pre>
38
+
39
+ add friend with sip
40
+ <pre><code>
41
+ Fetion.add_buddy_with_sip(mobile_no, password, friend_sip)
37
42
  </code></pre>
38
43
 
39
44
  **************************************************************************
@@ -44,19 +49,27 @@ you can use it in shell command directly
44
49
 
45
50
  <pre><code>
46
51
  Usage: rfetion [options]
52
+
47
53
  Example: rfetion -m mobile -p password -f friends_mobile_or_fetion_number -c sms_content
48
54
 
49
- rfetion -m mobile -p password -a friend_mobile
55
+ rfetion -m mobile -p password --add-buddy-with-mobile friend_mobile
56
+
57
+ rfetion -m mobile -p password --add-buddy-with-sip friend_sip
50
58
 
51
59
  -m, --mobile MOBILE Fetion mobile number
52
60
  -p, --password PASSWORD Fetion password
53
61
  -c, --content CONTENT Fetion message content
54
62
  -f, --friends MOBILE,FETION (optional) Fetion friends mobile number or fetion number, if no friends mobile number and fetion number, send message to yourself
55
- -a, --add_buddy MOBILE Add friend mobile as fetion friend
63
+ --add-buddy-with-mobile MOBILE
64
+ Add friend mobile as fetion friend
65
+ --add-buddy-with-sip SIP Add friend fetion sip as fetion friend
66
+
56
67
  different mode:
57
68
  --debug debug mode
58
69
  --silence silence mode
70
+
59
71
  Common options:
72
+ -v, --version Show this version
60
73
  -h, --help Show this message
61
74
  </code></pre>
62
75
 
data/Rakefile CHANGED
@@ -6,7 +6,7 @@ Jeweler::Tasks.new do |gemspec|
6
6
  gemspec.summary = 'rfetion is a ruby gem for China Mobile fetion service that you can send SMS free.'
7
7
  gemspec.description = 'rfetion is a ruby gem for China Mobile fetion service that you can send SMS free.'
8
8
  gemspec.email = 'flyerhzm@gmail.com'
9
- gemspec.homepage = ''
9
+ gemspec.homepage = 'http://github.com/flyerhzm/rfetion'
10
10
  gemspec.authors = ['Richard Huang']
11
11
  gemspec.files.exclude '.gitignore'
12
12
  gemspec.add_dependency 'guid', '>= 0.1.1'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.12
1
+ 0.3.13
@@ -9,7 +9,8 @@ OptionParser.new do |opts|
9
9
  opts.separator ""
10
10
  opts.separator <<-EOF
11
11
  Example: rfetion -m mobile -p password -f friends_mobile_or_fetion_number -c sms_content
12
- rfetion -m mobile -p password -a friend_mobile
12
+ rfetion -m mobile -p password --add-buddy-with-mobile friend_mobile
13
+ rfetion -m mobile -p password --add-buddy-with-sip friend_sip
13
14
  EOF
14
15
 
15
16
  opts.on('-m', '--mobile MOBILE', 'Fetion mobile number') do |mobile|
@@ -29,10 +30,14 @@ OptionParser.new do |opts|
29
30
  options[:friends] = f
30
31
  end
31
32
 
32
- opts.on('-a', '--add_buddy MOBILE', 'Add friend mobile as fetion friend') do |f|
33
+ opts.on('--add-buddy-with-mobile MOBILE', 'Add friend mobile as fetion friend') do |f|
33
34
  options[:add_mobile] = f
34
35
  end
35
36
 
37
+ opts.on('--add-buddy-with-sip SIP', 'Add friend fetion sip as fetion friend') do |f|
38
+ options[:add_sip] = f
39
+ end
40
+
36
41
  opts.separator ""
37
42
  opts.separator "different mode:"
38
43
 
@@ -67,9 +72,10 @@ def level(options)
67
72
  end
68
73
 
69
74
  begin
70
- if options[:add_mobile]
75
+ if options[:add_mobile] or options[:add_sip]
71
76
  raise FetionException.new('You must input your mobile number and password') unless options[:mobile_no] and options[:password]
72
- Fetion.add_buddy(options[:mobile_no], options[:password], options[:add_mobile], level(options))
77
+ Fetion.add_buddy_with_mobile(options[:mobile_no], options[:password], options[:add_mobile], level(options)) if options[:add_mobile]
78
+ Fetion.add_buddy_with_sip(options[:mobile_no], options[:password], options[:add_sip], level(options)) if options[:add_sip]
73
79
  exit
74
80
  end
75
81
 
@@ -55,14 +55,25 @@ class Fetion
55
55
  fetion.logout
56
56
  end
57
57
 
58
- def Fetion.add_buddy(mobile_no, password, friend_mobile, level = Logger::INFO)
58
+ def Fetion.add_buddy_with_mobile(mobile_no, password, friend_mobile, level = Logger::INFO)
59
59
  fetion = Fetion.new
60
60
  fetion.logger_level = level
61
61
  fetion.mobile_no = mobile_no
62
62
  fetion.password = password
63
63
  fetion.login
64
64
  fetion.register
65
- fetion.add_buddy(friend_mobile)
65
+ fetion.add_buddy_with_mobile(friend_mobile)
66
+ fetion.logout
67
+ end
68
+
69
+ def Fetion.add_buddy_with_sip(mobile_no, password, friend_sip, level = Logger::INFO)
70
+ fetion = Fetion.new
71
+ fetion.logger_level = level
72
+ fetion.mobile_no = mobile_no
73
+ fetion.password = password
74
+ fetion.login
75
+ fetion.register
76
+ fetion.add_buddy_with_sip(friend_sip)
66
77
  fetion.logout
67
78
  end
68
79
 
@@ -203,15 +214,26 @@ class Fetion
203
214
  @logger.info "fetion send sms to #{to} success"
204
215
  end
205
216
 
206
- def add_buddy(mobile, nickname = nil)
207
- @logger.info "fetion send request to add #{mobile} as friend"
217
+ def add_buddy_with_mobile(mobile, nickname = nil)
218
+ @logger.info "fetion send request to add mobile:#{mobile} as friend"
208
219
  arg = %Q{<args><contacts><buddies><buddy uri="tel:#{mobile}" local-name="#{nickname}" buddy-lists="1" expose-mobile-no="1" expose-name="1" /></buddies></contacts></args>}
209
220
  msg = sip_create('S fetion.com.cn SIP-C/2.0', {'F' => @sid, 'I' => next_call, 'Q' => '1 S', 'N' => 'AddBuddy'}, arg) + FETION_SIPP
210
221
  curl_exec(next_url, @ssic, msg)
211
222
  response = curl_exec(next_url, @ssic, FETION_SIPP)
212
223
 
213
224
  raise FetionException.new("Fetion Error: Add buddy error") unless response.is_a? Net::HTTPSuccess
214
- @logger.info "fetion send request to add #{mobile} as friend success"
225
+ @logger.info "fetion send request to add mobile:#{mobile} as friend success"
226
+ end
227
+
228
+ def add_buddy_with_sip(sip, nickname = nil)
229
+ @logger.info "fetion send request to add sip:#{sip} as friend"
230
+ arg = %Q{<args><contacts><buddies><buddy uri="sip:#{sip}" local-name="#{nickname}" buddy-lists="1" expose-mobile-no="1" expose-name="1" /></buddies></contacts></args>}
231
+ msg = sip_create('S fetion.com.cn SIP-C/2.0', {'F' => @sid, 'I' => next_call, 'Q' => '1 S', 'N' => 'AddBuddy'}, arg) + FETION_SIPP
232
+ curl_exec(next_url, @ssic, msg)
233
+ response = curl_exec(next_url, @ssic, FETION_SIPP)
234
+
235
+ raise FetionException.new("Fetion Error: Add buddy error") unless response.is_a? Net::HTTPSuccess
236
+ @logger.info "fetion send request to add sip:#{sip} as friend success"
215
237
  end
216
238
 
217
239
  def logout
data/rfetion.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rfetion}
8
- s.version = "0.3.12"
8
+ s.version = "0.3.13"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Richard Huang"]
12
- s.date = %q{2009-11-25}
12
+ s.date = %q{2009-11-28}
13
13
  s.description = %q{rfetion is a ruby gem for China Mobile fetion service that you can send SMS free.}
14
14
  s.email = %q{flyerhzm@gmail.com}
15
15
  s.executables = ["rfetion", "rfetion"]
@@ -27,7 +27,7 @@ Gem::Specification.new do |s|
27
27
  "lib/rfetion/fetion.rb",
28
28
  "rfetion.gemspec"
29
29
  ]
30
- s.homepage = %q{}
30
+ s.homepage = %q{http://github.com/flyerhzm/rfetion}
31
31
  s.rdoc_options = ["--charset=UTF-8"]
32
32
  s.require_paths = ["lib"]
33
33
  s.rubygems_version = %q{1.3.5}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rfetion
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.12
4
+ version: 0.3.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Huang
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-25 00:00:00 +08:00
12
+ date: 2009-11-28 00:00:00 +08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -42,7 +42,7 @@ files:
42
42
  - lib/rfetion/fetion.rb
43
43
  - rfetion.gemspec
44
44
  has_rdoc: true
45
- homepage: ""
45
+ homepage: http://github.com/flyerhzm/rfetion
46
46
  licenses: []
47
47
 
48
48
  post_install_message: