totter 0.4.0 → 0.4.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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c79f1d13ebf748ec4278c88c99dfc1977120ea8a
4
+ data.tar.gz: 3be1bb08e5691ab79a0b0dbc7638f6b26292206b
5
+ SHA512:
6
+ metadata.gz: 6f15f1f5be6b0526eda586e812a0d382be1f01f79158f870b5495070d063acc394a3591dd8dd7a10ac2fdb71b211db5ac663fc74aaf5b63b3871758747a1c7cd
7
+ data.tar.gz: e8eb49e5a830b6f440c6b6c11f9c567460a79cb58a8ad0bbfa10da8413f9249591846d718b0091c9d7d529729cd61debcfc2e7da8b3620612424445b4e219ded
data/lib/totter/client.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'totter/transport'
2
+ require 'uri'
2
3
 
3
4
  module Totter
4
5
  # API client for interacting with the Seesaw API
@@ -50,11 +51,18 @@ module Totter
50
51
 
51
52
  # Initialize a new client.
52
53
  #
53
- # @param options [Hash] optionally specify `:access_token`, `:api_scheme`, `:api_host`, `:api_version`, `:client_token`, or `:transport`.
54
+ # @param options [Hash] optionally specify `:access_token`, `:api_scheme`, `:api_host`, ':api_url', `:api_version`, `:client_token`, or `:transport`.
54
55
  def initialize(options = {})
55
56
  options = { :access_token => options } if options.is_a? String
56
57
  options = self.class.options.merge(options)
57
58
 
59
+ # Parse `api_url` option
60
+ if url = options.delete(:api_url)
61
+ uri = URI.parse(url)
62
+ options[:api_scheme] = uri.scheme
63
+ options[:api_host] = uri.host + (uri.port != 80 && uri.port != 443 ? ":#{uri.port}" : '')
64
+ end
65
+
58
66
  @access_token = options[:access_token] if options[:access_token]
59
67
  @api_scheme = options[:api_scheme]
60
68
  @api_host = options[:api_host]
@@ -1,4 +1,4 @@
1
1
  module Totter
2
2
  # Verion of the Totter gem
3
- VERSION = '0.4.0'
3
+ VERSION = '0.4.1'
4
4
  end
@@ -19,6 +19,12 @@ class ClientTest < Totter::TestCase
19
19
 
20
20
  client = Totter::Client.new(:api_scheme => 'http', :api_host => 'example.com', :api_version => 42)
21
21
  assert_equal 'http://example.com/v42/', client.base_url
22
+
23
+ client = Totter::Client.new(:api_url => 'http://example.com')
24
+ assert_equal 'http://example.com/v1/', client.base_url
25
+
26
+ client = Totter::Client.new(:api_url => 'http://localhost:3000')
27
+ assert_equal 'http://localhost:3000/v1/', client.base_url
22
28
  end
23
29
 
24
30
  def test_ssl?
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: totter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
5
- prerelease:
4
+ version: 0.4.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Sam Soffes
@@ -11,12 +10,11 @@ authors:
11
10
  autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2013-05-02 00:00:00.000000000 Z
13
+ date: 2013-05-08 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: multi_json
18
17
  requirement: !ruby/object:Gem::Requirement
19
- none: false
20
18
  requirements:
21
19
  - - ~>
22
20
  - !ruby/object:Gem::Version
@@ -24,7 +22,6 @@ dependencies:
24
22
  type: :runtime
25
23
  prerelease: false
26
24
  version_requirements: !ruby/object:Gem::Requirement
27
- none: false
28
25
  requirements:
29
26
  - - ~>
30
27
  - !ruby/object:Gem::Version
@@ -32,7 +29,6 @@ dependencies:
32
29
  - !ruby/object:Gem::Dependency
33
30
  name: hashie
34
31
  requirement: !ruby/object:Gem::Requirement
35
- none: false
36
32
  requirements:
37
33
  - - ~>
38
34
  - !ruby/object:Gem::Version
@@ -40,7 +36,6 @@ dependencies:
40
36
  type: :runtime
41
37
  prerelease: false
42
38
  version_requirements: !ruby/object:Gem::Requirement
43
- none: false
44
39
  requirements:
45
40
  - - ~>
46
41
  - !ruby/object:Gem::Version
@@ -140,27 +135,26 @@ files:
140
135
  homepage: https://github.com/seesawco/totter-rb
141
136
  licenses:
142
137
  - MIT
138
+ metadata: {}
143
139
  post_install_message:
144
140
  rdoc_options: []
145
141
  require_paths:
146
142
  - lib
147
143
  required_ruby_version: !ruby/object:Gem::Requirement
148
- none: false
149
144
  requirements:
150
- - - ! '>='
145
+ - - '>='
151
146
  - !ruby/object:Gem::Version
152
147
  version: 1.8.7
153
148
  required_rubygems_version: !ruby/object:Gem::Requirement
154
- none: false
155
149
  requirements:
156
- - - ! '>='
150
+ - - '>='
157
151
  - !ruby/object:Gem::Version
158
152
  version: '0'
159
153
  requirements: []
160
154
  rubyforge_project:
161
- rubygems_version: 1.8.23
155
+ rubygems_version: 2.0.0
162
156
  signing_key:
163
- specification_version: 3
157
+ specification_version: 4
164
158
  summary: Ruby gem for working with the Seesaw API.
165
159
  test_files:
166
160
  - test/cassettes/avatars/create.yml