ruby-fs-stack 0.4.3 → 0.4.4

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.3
1
+ 0.4.4
@@ -3,7 +3,7 @@ require 'net/https'
3
3
  require 'uri'
4
4
 
5
5
  class FsCommunicator
6
- attr_accessor :domain, :key, :user_agent, :session, :handle_throttling, :logger
6
+ attr_accessor :domain, :key, :user_agent, :session, :handle_throttling, :logger, :timeout
7
7
  include RubyFsStack
8
8
  # ====Params
9
9
  # <tt>options</tt> - a hash with the following options
@@ -29,7 +29,8 @@ class FsCommunicator
29
29
  :user_agent => 'FsCommunicator/0.1 (Ruby)', # should be overridden by options user_agent
30
30
  :session => nil,
31
31
  :handle_throttling => false,
32
- :logger => nil
32
+ :logger => nil,
33
+ :timeout => nil
33
34
  }.merge(options)
34
35
  @domain = o[:domain]
35
36
  @key = o[:key]
@@ -37,6 +38,7 @@ class FsCommunicator
37
38
  @session = o[:session]
38
39
  @handle_throttling = o[:handle_throttling]
39
40
  @logger = o[:logger]
41
+ @timeout = o[:timeout]
40
42
  end
41
43
 
42
44
  def post(url,payload)
@@ -49,6 +51,7 @@ class FsCommunicator
49
51
 
50
52
  http = Net::HTTP.new(uri.host, uri.port)
51
53
  set_ssl(http) if uri.scheme == 'https'
54
+ http.read_timeout = @timeout unless @timeout.nil?
52
55
 
53
56
  log_request('POST',full_url,request) if logger
54
57
  res = http.start do |ht|
@@ -76,6 +79,7 @@ class FsCommunicator
76
79
 
77
80
  http = Net::HTTP.new(uri.host, uri.port)
78
81
  set_ssl(http) if uri.scheme == 'https'
82
+ http.read_timeout = @timeout unless @timeout.nil?
79
83
 
80
84
  log_request('GET',full_url,request) if logger
81
85
  res = http.start do |ht|
@@ -1,15 +1,15 @@
1
1
  # Generated by jeweler
2
- # DO NOT EDIT THIS FILE
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{ruby-fs-stack}
8
- s.version = "0.4.3"
8
+ s.version = "0.4.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jimmy Zimmerman"]
12
- s.date = %q{2010-01-27}
12
+ s.date = %q{2010-02-19}
13
13
  s.description = %q{A library that enables you to read and update information with the new.familysearch.org API.}
14
14
  s.email = %q{jimmy.zimmerman@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -101,3 +101,4 @@ Gem::Specification.new do |s|
101
101
  s.add_dependency(%q<fakeweb>, [">= 0"])
102
102
  end
103
103
  end
104
+
@@ -446,4 +446,39 @@ describe FsCommunicator do
446
446
 
447
447
  end
448
448
 
449
+ describe "timeout" do
450
+ before(:each) do
451
+ options = {
452
+ :domain => 'https://api.familysearch.org',
453
+ :key => '1111-1111',
454
+ :user_agent => "FsCommunicator/0.1",
455
+ :session => 'SESSID',
456
+ :timeout => 300
457
+ }
458
+ @com = FsCommunicator.new options
459
+
460
+ stub_net_objects #found in the spec helper
461
+ @url = '/familytree/v1/person/KWQS-BBQ'
462
+ @session_url = @url + "?sessionId=#{@com.session}&dataFormat=application/json"
463
+ @res = mock('HTTP::Response')
464
+ @res.stub!(:code).and_return('200')
465
+ @http.stub!(:start).and_return(@res)
466
+ end
467
+
468
+ it "should set timeout attr" do
469
+ @com.domain.should == 'https://api.familysearch.org'
470
+ @com.timeout.should == 300
471
+ end
472
+
473
+ it "should set the http's read_timeout inside of the get method" do
474
+ @http.should_receive(:read_timeout=).with(300)
475
+ @com.get(@url)
476
+ end
477
+
478
+ it "should set the http's read_timeout inside of the post method" do
479
+ @http.should_receive(:read_timeout=).with(300)
480
+ @com.post(@url,'payload')
481
+ end
482
+ end
483
+
449
484
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-fs-stack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jimmy Zimmerman
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-27 00:00:00 -07:00
12
+ date: 2010-02-19 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency