shortener 0.5.4 → 0.5.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eefb46cddedbe3f232ef038a7f2385b3c2a3121d
4
- data.tar.gz: 8018071c727b482ca8c503951d4b4ad59d2ddd71
3
+ metadata.gz: 0b5132743f6f7bf1ccab83e28c3ae18f822b277a
4
+ data.tar.gz: 58d20decd09055a4a76a21548e66010acac00da5
5
5
  SHA512:
6
- metadata.gz: 68fbe46e207434cb7405d149fef86e7644b05d9f76a6c050d1065f2aeb6b2608c63340b9f7365feb6069b1bf844b33a85060da9eb86265322d581a03d024bf10
7
- data.tar.gz: 180eeff9eaa296bf89ecfaa09ffe626bdd7174c2930b6fbe69f59480b3b81bb487ccf6d78fd2f3e0f27c17ac4b3b90962fb865e622f9e0a6ec352f712dc71092
6
+ metadata.gz: 1f307fff4f9bdb34387849e33c424c109606f1a0abd8c55b769c4b96da08dedbc1da3380748cb8b5ef2ff4c58603878a2c372ce9054a4052dd25d563c7619326
7
+ data.tar.gz: 0c682ae7f3f3ef7fd99020e8ee31e69124f4f1d6bb825962c6eca853afa6db11f1c6027778f4a13f555cae91951977718022bfd3aa2156e12d907f68e78e131a
@@ -28,6 +28,17 @@ There have been some breaking changes:
28
28
  1. The owner argument is passed into the generator and helper methods as a named parameter.
29
29
  2. Original URLs arguments without a hypertext protocol (http|https) will be assumed to be relative paths.
30
30
 
31
+ === v0.5.1 to v0.5.2
32
+ v0.5.2 introduced the ability to set an expiration date for a shortened URL. The expiration dates
33
+ are stored in a expires_at column in the database, which can be added to your schema with the following
34
+ migration:
35
+
36
+ class AddExpiresAtToShortenedUrl < ActiveRecord::Migration
37
+ def change
38
+ add_column :shortened_urls, :expires_at, :datetime
39
+ end
40
+ end
41
+
31
42
  === Some niceities of Shortener:
32
43
 
33
44
  * The controller does a 301 redirect, which is the recommended type of redirect for maintaining maximum google juice to the original URL;
@@ -113,7 +124,7 @@ And to access those URLs:
113
124
 
114
125
  user.shortened_urls
115
126
 
116
- === Shortened URLs with custom unqiue key
127
+ === Shortened URLs with custom unique key
117
128
 
118
129
  You can pass in your own key when generating a shortened URL. This should be unique.
119
130
 
@@ -198,4 +209,4 @@ To contribute:
198
209
  2. Create your feature branch (git checkout -b my-new-feature)
199
210
  3. Commit your changes (git commit -am 'Add some feature')
200
211
  4. Push to the branch (git push origin my-new-feature)
201
- 5. Create a new Pull Request
212
+ 5. Create a new Pull Request
@@ -17,7 +17,7 @@ Usage:
17
17
  'cloudfront\.net/' ].map {|r| Regexp.new(r) }
18
18
  DEFAULT_LENGTH_THRESHOLD = 20
19
19
 
20
- URL_REGEX = /\b((https?):\/\/[\w\.-]+[\.]\w+)([-A-Z0-9+&@#\/%?=~_|$!:,.;]*[-A-Z0-9+&@#\/%=~_|$])?/i
20
+ URL_REGEX = /\b((https?):\/\/([\w\.-]+[\.]\w+)?)([-A-Z0-9+&@#\/%?=~_|$!:,.;]*[-A-Z0-9+&@#\/%=~_|$])?/i
21
21
  MIME_TYPES = %w(text/plain text/html application/xhtml+xml)
22
22
 
23
23
  def initialize(opts = {})
@@ -1,3 +1,3 @@
1
1
  module Shortener
2
- VERSION = "0.5.4"
2
+ VERSION = '0.5.5'
3
3
  end
@@ -17,9 +17,9 @@ Gem::Specification.new do |s|
17
17
  s.add_dependency "rails", ">= 3.0.7"
18
18
  s.add_development_dependency "sqlite3"
19
19
  s.add_development_dependency "rspec-rails", '~> 3.3.0'
20
- s.add_development_dependency "shoulda-matchers"
20
+ s.add_development_dependency "shoulda-matchers", '~> 3'
21
21
  s.add_development_dependency "faker"
22
22
  s.add_development_dependency "byebug"
23
23
  s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
24
24
  s.require_path = 'lib'
25
- end
25
+ end
@@ -2,8 +2,8 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  describe Shortener::ShortenedUrl, type: :model do
5
- it { should belong_to :owner }
6
- it { should validate_presence_of :url }
5
+ it { is_expected.to belong_to :owner }
6
+ it { is_expected.to validate_presence_of :url }
7
7
 
8
8
  describe '#generate!' do
9
9
 
@@ -2,8 +2,8 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  # user defined in dummy app, uses has_shortened_urls
5
- describe User do
6
- it { should have_many :shortened_urls }
5
+ describe User, type: :model do
6
+ it { is_expected.to have_many(:shortened_urls) }
7
7
 
8
8
  context 'shortened url created with owner' do
9
9
  let (:user) { User.create }
@@ -46,7 +46,8 @@ describe Shortener::ShortenUrlInterceptor do
46
46
  "http://client.doorkeeper.jp/events/124-",
47
47
  "http://client.doorkeeper.jp/events/124-title?auth_token=xabagangs",
48
48
  "http://client.doorkeeper.jp/events/124-%E4%F6%A0",
49
- "https://www.test-site.com/"
49
+ "https://www.test-site.com/",
50
+ "https://test-suite.com/"
50
51
  ].each do |url|
51
52
  it_should_behave_like "shortens URL in text", url
52
53
  end
@@ -10,5 +10,12 @@ require 'faker'
10
10
 
11
11
  Rails.backtrace_cleaner.remove_silencers!
12
12
 
13
+ Shoulda::Matchers.configure do |config|
14
+ config.integrate do |with|
15
+ with.test_framework :rspec
16
+ with.library :rails
17
+ end
18
+ end
19
+
13
20
  # Run any available migration
14
21
  ActiveRecord::Migrator.migrate File.expand_path("../dummy/db/migrate/", __FILE__)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shortener
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.4
4
+ version: 0.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - James P. McGrath
@@ -9,90 +9,90 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-09-20 00:00:00.000000000 Z
12
+ date: 2015-11-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ">="
18
+ - - '>='
19
19
  - !ruby/object:Gem::Version
20
20
  version: 3.0.7
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ">="
25
+ - - '>='
26
26
  - !ruby/object:Gem::Version
27
27
  version: 3.0.7
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: sqlite3
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ">="
32
+ - - '>='
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ">="
39
+ - - '>='
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rspec-rails
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - "~>"
46
+ - - ~>
47
47
  - !ruby/object:Gem::Version
48
48
  version: 3.3.0
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - "~>"
53
+ - - ~>
54
54
  - !ruby/object:Gem::Version
55
55
  version: 3.3.0
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: shoulda-matchers
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ">="
60
+ - - ~>
61
61
  - !ruby/object:Gem::Version
62
- version: '0'
62
+ version: '3'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ">="
67
+ - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: '0'
69
+ version: '3'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: faker
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ">="
74
+ - - '>='
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ">="
81
+ - - '>='
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: byebug
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - ">="
88
+ - - '>='
89
89
  - !ruby/object:Gem::Version
90
90
  version: '0'
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - ">="
95
+ - - '>='
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  description: Shortener is a Rails Engine Gem that makes it easy to create and interpret
@@ -106,8 +106,8 @@ executables: []
106
106
  extensions: []
107
107
  extra_rdoc_files: []
108
108
  files:
109
- - ".gitignore"
110
- - ".travis.yml"
109
+ - .gitignore
110
+ - .travis.yml
111
111
  - Gemfile
112
112
  - MIT-LICENSE
113
113
  - README.rdoc
@@ -167,17 +167,17 @@ require_paths:
167
167
  - lib
168
168
  required_ruby_version: !ruby/object:Gem::Requirement
169
169
  requirements:
170
- - - ">="
170
+ - - '>='
171
171
  - !ruby/object:Gem::Version
172
172
  version: '0'
173
173
  required_rubygems_version: !ruby/object:Gem::Requirement
174
174
  requirements:
175
- - - ">"
175
+ - - '>'
176
176
  - !ruby/object:Gem::Version
177
177
  version: 1.3.6
178
178
  requirements: []
179
179
  rubyforge_project: shortener
180
- rubygems_version: 2.4.5.1
180
+ rubygems_version: 2.0.2
181
181
  signing_key:
182
182
  specification_version: 4
183
183
  summary: Shortener is a Rails Engine that makes it easy to create shortened URLs for