google_url_shortener 0.0.8 → 0.0.9

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: 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: []