gyazz 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/gyazz.rb +17 -8
  2. data/test/test_gyazz.rb +13 -0
  3. metadata +3 -3
data/lib/gyazz.rb CHANGED
@@ -4,7 +4,7 @@ $:.unshift(File.dirname(__FILE__)) unless
4
4
  require 'net/http'
5
5
 
6
6
  class Gyazz
7
- VERSION = '0.0.2'
7
+ VERSION = '0.0.3'
8
8
 
9
9
  def initialize(name,user=nil,pass=nil)
10
10
  @name = name
@@ -13,16 +13,18 @@ class Gyazz
13
13
  end
14
14
 
15
15
  def http_get(addr)
16
- ret = ''
16
+ ret = nil
17
17
  begin
18
18
  Net::HTTP.start('gyazz.com', 80) {|http|
19
19
  req = Net::HTTP::Get.new(addr)
20
20
  req.basic_auth @user,@pass if @user
21
21
  response = http.request(req)
22
+ raise "status code error (#{response.code})" if response.code != "200"
22
23
  ret = response.body
23
24
  }
24
25
  rescue
25
26
  end
27
+ raise "http_get failed" if ret == nil
26
28
  ret.chomp
27
29
  end
28
30
 
@@ -35,6 +37,7 @@ class Gyazz
35
37
  }
36
38
  rescue
37
39
  end
40
+ raise "List failed" if ret == nil
38
41
  return ret
39
42
  end
40
43
 
@@ -44,6 +47,7 @@ class Gyazz
44
47
  s = http_get("/#{@name}/#{title.gsub(/ /,'%20')}/text")
45
48
  rescue
46
49
  end
50
+ raise "text failed" if s == nil
47
51
  return s
48
52
  end
49
53
 
@@ -52,12 +56,17 @@ class Gyazz
52
56
  val = val.join("\n")
53
57
  end
54
58
  data = @name + "\n" + title + "\n" + val
55
- Net::HTTP.start('gyazz.com', 80) {|http|
56
- req = Net::HTTP::Post.new('/__write__')
57
- req.set_form_data('data' => data)
58
- req.basic_auth @user,@pass if @user
59
- response = http.request(req)
60
- }
59
+ begin
60
+ Net::HTTP.start('gyazz.com', 80) {|http|
61
+ req = Net::HTTP::Post.new('/__write__')
62
+ req.set_form_data('data' => data)
63
+ req.basic_auth @user,@pass if @user
64
+ response = http.request(req)
65
+ raise "status code error (#{response.code})" if response.code != "302"
66
+ }
67
+ rescue
68
+ raise "settext failed"
69
+ end
61
70
  end
62
71
 
63
72
  def get(title)
data/test/test_gyazz.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # -*- coding: utf-8 -*-
1
2
  require File.dirname(__FILE__) + '/test_helper.rb'
2
3
 
3
4
  class TestGyazz < Test::Unit::TestCase
@@ -31,4 +32,16 @@ class TestGyazz < Test::Unit::TestCase
31
32
  g.set('test','99999')
32
33
  assert_equal(g.get('test'),'99999')
33
34
  end
35
+
36
+ def __test_exception
37
+ # 通信失敗をエミュレーションするにはどうするのか?
38
+ error = ''
39
+ begin
40
+ g = Gyazz.new('testxxxx')
41
+ s = g.get('nonexistent page')
42
+ rescue => e
43
+ error = e.to_s
44
+ end
45
+ assert(error != '')
46
+ end
34
47
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gyazz
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Toshiyuki Masui