google_url_shortener 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7e051c5d1187a75d31c1719c3049fa07abc54239
4
+ data.tar.gz: 453977d8dc8274bfed9aba278d1e75d06ea72e84
5
+ SHA512:
6
+ metadata.gz: 15a9a2a96f4bf9df9230ad93f6cea91f2222017a5327603ad7782342e6e31a11454a16f5f5e29d5a650fde4fa03c378217178ed1543e8267fec381782dd83f0c
7
+ data.tar.gz: e067b5f8f38d281c5d0b2107cc3b6e64cc492df1bec87cb94f2e7d09996aec694cb7bf0185a52d0ffac026bcfdfcd138dfb6606ad0de0a95143fa17233d8a0cd
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- google_url_shortener (0.0.7)
4
+ google_url_shortener (0.0.9)
5
5
  json (>= 1.4.6)
6
6
  rest-client (>= 1.6.7)
7
7
  trollop (= 1.16.2)
@@ -5,12 +5,12 @@ module Google
5
5
  REQUEST_HEADERS = { :content_type => :json, :accept => :json }
6
6
 
7
7
  def post(params={})
8
- response = RestClient.post(BASE_URL, format_post_params(params), REQUEST_HEADERS)
8
+ response = RestClient.post(format_url, format_post_params(params), REQUEST_HEADERS)
9
9
  parse(response)
10
10
  end
11
11
 
12
12
  def get(params={})
13
- full_url = [BASE_URL, "?", format_get_params(params)].join
13
+ full_url = [format_url, "&", format_get_params(params)].join
14
14
  response = RestClient.get(full_url)
15
15
  parse(response)
16
16
  end
@@ -20,6 +20,10 @@ module Google
20
20
  JSON.parse(response)
21
21
  end
22
22
 
23
+ def format_url
24
+ "#{BASE_URL}?key=#{self.class.api_key}"
25
+ end
26
+
23
27
  def format_post_params(params={})
24
28
  params.to_json
25
29
  end
@@ -3,47 +3,41 @@ module Google
3
3
  class Url < Base
4
4
  include Request
5
5
  attr_reader :long_url, :short_url, :status, :created_at, :analytics
6
-
6
+
7
7
  def initialize(opts={})
8
8
  opts.each_pair do |k, v|
9
9
  self.instance_variable_set(:"@#{k}", v)
10
10
  end
11
11
  end
12
-
12
+
13
13
  def decode!
14
14
  params = validate_and_prepare_params(:shortUrl => self.short_url, :projection => Analytics::PROJECTION_LEVEL)
15
15
  response = get(params)
16
-
16
+
17
17
  @created_at = Date.parse(response["created"])
18
18
  @analytics = Analytics.from_hash(response["analytics"])
19
19
  @long_url = response["longUrl"]
20
20
  end
21
21
  alias_method :expand!, :decode!
22
-
22
+
23
23
  def encode!
24
24
  params = validate_and_prepare_params(:longUrl => self.long_url)
25
25
  response = post(params)
26
-
26
+
27
27
  @short_url = response["id"]
28
28
  end
29
29
  alias_method :shorten!, :encode!
30
-
31
- private
30
+
31
+ private
32
+
32
33
  def validate_and_prepare_params(params={})
33
- params = params_for_request(params)
34
-
35
34
  params.each_pair do |k, v|
36
35
  validate(k, params)
37
36
  end
38
-
37
+
39
38
  params
40
39
  end
41
-
42
- def params_for_request(params={})
43
- base_params = { :key => self.class.api_key }
44
- base_params.merge!(params)
45
- end
46
-
40
+
47
41
  def validate(key, hash={})
48
42
  if hash[key].nil? || hash[key].empty?
49
43
  raise "Key :#{key} missing from request parameters!"
@@ -1,5 +1,5 @@
1
1
  module Google
2
2
  module UrlShortener
3
- VERSION = "0.0.8"
3
+ VERSION = "0.0.9"
4
4
  end
5
5
  end
@@ -1,3 +1,5 @@
1
+ require 'spec_helper'
2
+
1
3
  module Google
2
4
  module UrlShortener
3
5
  describe Analytics do
@@ -1,3 +1,5 @@
1
+ require 'spec_helper'
2
+
1
3
  module Google
2
4
  module UrlShortener
3
5
  describe Base do
@@ -1,9 +1,11 @@
1
+ require 'spec_helper'
2
+
1
3
  module Google
2
4
  module UrlShortener
3
5
  describe Url do
4
6
 
5
7
  it "should have the correct attributes after shortening a URL" do
6
- stub_request(Google::UrlShortener::Request::BASE_URL, :method => :post, :fixture => "shorten")
8
+ stub_request(Google::UrlShortener::Request::BASE_URL + "?key=#{@key}", :method => :post, :fixture => "shorten")
7
9
 
8
10
  url = Google::UrlShortener::Url.new(:long_url => @long_url)
9
11
  url.shorten!
@@ -1,3 +1,5 @@
1
+ require 'spec_helper'
2
+
1
3
  module Google
2
4
  describe UrlShortener do
3
5
 
metadata CHANGED
@@ -1,71 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google_url_shortener
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
5
- prerelease:
4
+ version: 0.0.9
6
5
  platform: ruby
7
6
  authors:
8
7
  - Josh Nesbitt
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-10-10 00:00:00.000000000 Z
11
+ date: 2015-03-23 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: json
16
- requirement: &70213475899700 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: 1.4.6
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *70213475899700
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 1.4.6
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: rest-client
27
- requirement: &70213475911420 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ! '>='
31
+ - - ">="
31
32
  - !ruby/object:Gem::Version
32
33
  version: 1.6.7
33
34
  type: :runtime
34
35
  prerelease: false
35
- version_requirements: *70213475911420
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 1.6.7
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: trollop
38
- requirement: &70213475908640 !ruby/object:Gem::Requirement
39
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
- - - =
45
+ - - '='
42
46
  - !ruby/object:Gem::Version
43
47
  version: 1.16.2
44
48
  type: :runtime
45
49
  prerelease: false
46
- version_requirements: *70213475908640
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 1.16.2
47
55
  - !ruby/object:Gem::Dependency
48
56
  name: bundler
49
- requirement: &70213471842280 !ruby/object:Gem::Requirement
50
- none: false
57
+ requirement: !ruby/object:Gem::Requirement
51
58
  requirements:
52
- - - ! '>='
59
+ - - ">="
53
60
  - !ruby/object:Gem::Version
54
61
  version: 1.0.0
55
62
  type: :development
56
63
  prerelease: false
57
- version_requirements: *70213471842280
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 1.0.0
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: rspec
60
- requirement: &70213471840160 !ruby/object:Gem::Requirement
61
- none: false
71
+ requirement: !ruby/object:Gem::Requirement
62
72
  requirements:
63
- - - =
73
+ - - '='
64
74
  - !ruby/object:Gem::Version
65
75
  version: 2.8.0
66
76
  type: :development
67
77
  prerelease: false
68
- version_requirements: *70213471840160
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 2.8.0
69
83
  description: Google URL Shortener is a library to compress and expand goo.gl URL's.
70
84
  It also provides an interface to review the analytics of a short URL.
71
85
  email:
@@ -75,7 +89,7 @@ executables:
75
89
  extensions: []
76
90
  extra_rdoc_files: []
77
91
  files:
78
- - .gitignore
92
+ - ".gitignore"
79
93
  - Gemfile
80
94
  - Gemfile.lock
81
95
  - LICENSE
@@ -104,26 +118,25 @@ files:
104
118
  - spec/spec_helper.rb
105
119
  homepage: http://rubygems.org/gems/google_url_shortener
106
120
  licenses: []
121
+ metadata: {}
107
122
  post_install_message:
108
123
  rdoc_options: []
109
124
  require_paths:
110
125
  - lib
111
126
  required_ruby_version: !ruby/object:Gem::Requirement
112
- none: false
113
127
  requirements:
114
- - - ! '>='
128
+ - - ">="
115
129
  - !ruby/object:Gem::Version
116
130
  version: '0'
117
131
  required_rubygems_version: !ruby/object:Gem::Requirement
118
- none: false
119
132
  requirements:
120
- - - ! '>='
133
+ - - ">="
121
134
  - !ruby/object:Gem::Version
122
135
  version: 1.3.6
123
136
  requirements: []
124
137
  rubyforge_project: google_url_shortener
125
- rubygems_version: 1.8.10
138
+ rubygems_version: 2.2.2
126
139
  signing_key:
127
- specification_version: 3
140
+ specification_version: 4
128
141
  summary: A simple library to shorten and expand goo.gl URL's.
129
142
  test_files: []