httpify 0.1.0 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5efb0445f62e9d8303d83a72aad2df3e4af285be
4
+ data.tar.gz: 7e3c8c0b4d9773cf452322b02d39a330ac397320
5
+ SHA512:
6
+ metadata.gz: b3247ae8b5ba2651cb85bc27e579275df8189a1d7378f53e92a5f1796beca6db78181055773481b3bb0f2d20a283a0817e972b6114b5bbf07866bbb912765d29
7
+ data.tar.gz: 7bc8cc6a142e0d244c427cb5f5db8e752c5916138eb6d68821f3ecd1d5c3ffc35aa52e8f2660ec326ed5c80071793f6ddcabb79ec94f0af197992e4592a6bee2
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ --format
3
+ progress
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - jruby-19mode # JRuby in 1.9 mode
5
+ - rbx-19mode
data/Gemfile CHANGED
@@ -1,4 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in weather_lottery.gemspec
4
3
  gemspec
4
+
5
+ group :test do
6
+ gem 'rake'
7
+ end
data/README.md CHANGED
@@ -1,11 +1,15 @@
1
1
  Httpify
2
2
  =======
3
3
 
4
+ [![Build Status](https://travis-ci.org/invisiblelines/httpify.png?branch=master)](https://travis-ci.org/invisiblelines/httpify)
5
+
6
+ Adds a method on String to add the http(s) prefix
7
+
4
8
  Usage
5
9
  -----
6
10
 
7
- Include in your ActiveRecord model and specify any attributes you wish to
8
- automatically be prefixed with http://...
11
+ Use directly on any String object or include in your ActiveRecord model and
12
+ specify any attributes you wish to automatically be prefixed with http://...
9
13
 
10
14
  Example
11
15
  -------
@@ -0,0 +1,8 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :spec
7
+
8
+ task :default => :spec
@@ -2,7 +2,7 @@
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
- require 'httpify'
5
+ require 'httpify/version'
6
6
 
7
7
  Gem::Specification.new do |gem|
8
8
  gem.name = "httpify"
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ["lib"]
20
20
 
21
- gem.add_dependency "active_support", ">= 3.0"
21
+ gem.add_dependency "activesupport", ">= 3.0.0"
22
22
 
23
- gem.add_development_dependency "rspec"
23
+ gem.add_development_dependency "rspec", "~> 2.8"
24
24
  end
@@ -1,5 +1,5 @@
1
1
  require 'active_support/core_ext/hash'
2
-
2
+ require 'httpify/version'
3
3
  require 'httpify/httpifier'
4
4
  require 'httpify/core_ext/string/httpify'
5
5
 
@@ -18,8 +18,6 @@ require 'httpify/core_ext/string/httpify'
18
18
 
19
19
  module Httpify
20
20
 
21
- VERSION = "0.1.0"
22
-
23
21
  extend ActiveSupport::Concern
24
22
 
25
23
  module ClassMethods
@@ -0,0 +1,3 @@
1
+ module Httpify
2
+ VERSION = "0.1.2"
3
+ end
@@ -2,30 +2,20 @@ require "spec_helper"
2
2
 
3
3
  module Httpify
4
4
 
5
- class Link
6
-
7
- include Httpify
8
-
9
- attr_accessor :url, :source
10
-
11
- httpify :url
12
-
13
- end
14
-
15
5
  describe "a String" do
16
6
 
17
7
  it "should respond to httpify" do
18
- "google.com".should respond_to(:httpify)
8
+ expect("google.com").to respond_to(:httpify)
19
9
  end
20
10
 
21
11
  it "should return the string prefixed with http://" do
22
- "www.google.com".httpify.should == "http://www.google.com"
12
+ expect("www.google.com".httpify).to eql("http://www.google.com")
23
13
  end
24
14
 
25
15
  context "an httpified attribute starting http://" do
26
16
 
27
17
  it "should not alter the string" do
28
- "http://www.google.com".httpify.should == "http://www.google.com"
18
+ expect("http://www.google.com".httpify).to eql("http://www.google.com")
29
19
  end
30
20
 
31
21
  end
@@ -33,7 +23,7 @@ module Httpify
33
23
  context "an httpified attribute starting https://" do
34
24
 
35
25
  it "should not alter the string" do
36
- "https://www.google.com".httpify.should == "https://www.google.com"
26
+ expect("https://www.google.com".httpify).to eql("https://www.google.com")
37
27
  end
38
28
 
39
29
  end
@@ -41,11 +31,11 @@ module Httpify
41
31
  context "options" do
42
32
 
43
33
  it "should prefix the string with https" do
44
- "www.google.com".httpify(:https => true).should == "https://www.google.com"
34
+ expect("www.google.com".httpify(:https => true)).to eql("https://www.google.com")
45
35
  end
46
36
 
47
37
  it "should add a trailing slash" do
48
- "www.google.com".httpify("trailing_slash" => true).should == "http://www.google.com/"
38
+ expect("www.google.com".httpify("trailing_slash" => true)).to eql("http://www.google.com/")
49
39
  end
50
40
 
51
41
  end
@@ -54,47 +44,62 @@ module Httpify
54
44
 
55
45
  describe "A class with Httpify included" do
56
46
 
57
- before(:each) do
58
- @link = Link.new
47
+ subject { Link.new }
48
+
49
+ it "has a class method #httpify" do
50
+ expect(Link).to respond_to(:httpify)
59
51
  end
60
52
 
61
53
  context "an httpified attribute that is nil" do
62
-
63
- it "should return nil" do
64
- @link.url = nil
65
- @link.url.should be_nil
66
- end
67
-
54
+ its(:url) { should be_nil }
68
55
  end
69
56
 
70
57
  context "an httpified attribute that is blank" do
71
-
72
- it "should return blank" do
73
- @link.url = ""
74
- @link.url.should == ""
58
+ before do
59
+ subject.url = ''
75
60
  end
76
-
61
+
62
+ its(:url) { should be_blank }
77
63
  end
78
64
 
79
65
  context "a httpified attribute that is a String" do
80
-
81
- it "should return the httpified version" do
82
- @link.url = "www.google.com"
83
- @link.url.should == "http://www.google.com"
66
+ before do
67
+ subject.url = 'www.google.com'
84
68
  end
85
69
 
70
+ its(:url) { should eql("http://www.google.com") }
86
71
  end
87
72
 
88
73
  context "options" do
89
74
 
90
- before do
91
- Link.httpify :url, :https => true
75
+ context "accepts options for :https" do
76
+ before do
77
+ Link.httpify :url, :https => true
78
+ end
79
+
80
+ subject do
81
+ link = Link.new
82
+ link.url = "www.google.com"
83
+
84
+ link
85
+ end
86
+
87
+ its(:url) { should eql("https://www.google.com") }
92
88
  end
93
89
 
94
- it "should account for options" do
95
- @link = Link.new
96
- @link.url = "www.google.com"
97
- @link.url.should == "https://www.google.com"
90
+ context "accepts options for :trailing_slash" do
91
+ before do
92
+ Link.httpify :url, :trailing_slash => true
93
+ end
94
+
95
+ subject do
96
+ link = Link.new
97
+ link.url = "www.google.com"
98
+
99
+ link
100
+ end
101
+
102
+ its(:url) { should eql("http://www.google.com/") }
98
103
  end
99
104
  end
100
105
 
@@ -104,14 +109,16 @@ module Httpify
104
109
  Link.httpify :url, :source
105
110
  end
106
111
 
107
- it "should allow multiple attributes to be specified" do
108
- @link = Link.new
109
- @link.url = "www.google.com"
110
- @link.source = "news.ycombinator.com"
111
- @link.url.should == "http://www.google.com"
112
- @link.source.should == "http://news.ycombinator.com"
112
+ subject do
113
+ link = Link.new
114
+ link.url = "www.google.com"
115
+ link.source = "news.ycombinator.com"
116
+
117
+ link
113
118
  end
114
119
 
120
+ its(:url) { should eql("http://www.google.com") }
121
+ its(:source) { should eql("http://news.ycombinator.com") }
115
122
  end
116
123
 
117
124
  end
@@ -1,4 +1,11 @@
1
- $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), "/../lib")))
1
+ require 'bundler/setup'
2
+ require 'httpify'
2
3
 
3
- require "rspec"
4
- require "httpify"
4
+ class Link
5
+
6
+ include Httpify
7
+ attr_accessor :url, :source
8
+
9
+ httpify :url
10
+
11
+ end
metadata CHANGED
@@ -1,38 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httpify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
5
- prerelease:
4
+ version: 0.1.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Kieran Johnson
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-03-06 00:00:00.000000000 Z
11
+ date: 2013-09-20 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: active_support
16
- requirement: &70362648672500 !ruby/object:Gem::Requirement
17
- none: false
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
- version: '3.0'
19
+ version: 3.0.0
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *70362648672500
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: 3.0.0
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: rspec
27
- requirement: &70362648672000 !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
- version: '0'
33
+ version: '2.8'
33
34
  type: :development
34
35
  prerelease: false
35
- version_requirements: *70362648672000
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '2.8'
36
41
  description: Prefixes any httpified elements with http:// should they be missing this
37
42
  email:
38
43
  - kieran@invisiblelines.com
@@ -40,44 +45,44 @@ executables: []
40
45
  extensions: []
41
46
  extra_rdoc_files: []
42
47
  files:
43
- - .DS_Store
44
48
  - .gitignore
49
+ - .rspec
50
+ - .travis.yml
45
51
  - Gemfile
46
52
  - LICENSE
47
53
  - README.md
54
+ - Rakefile
48
55
  - httpify.gemspec
49
- - lib/.DS_Store
50
56
  - lib/httpify.rb
51
- - lib/httpify/.DS_Store
52
- - lib/httpify/core_ext/.DS_Store
53
57
  - lib/httpify/core_ext/string/httpify.rb
54
58
  - lib/httpify/httpifier.rb
59
+ - lib/httpify/version.rb
55
60
  - spec/httpify_spec.rb
56
61
  - spec/spec_helper.rb
57
62
  homepage: http://github.com/invisiblelines/httpify
58
63
  licenses: []
64
+ metadata: {}
59
65
  post_install_message:
60
66
  rdoc_options: []
61
67
  require_paths:
62
68
  - lib
63
69
  required_ruby_version: !ruby/object:Gem::Requirement
64
- none: false
65
70
  requirements:
66
- - - ! '>='
71
+ - - '>='
67
72
  - !ruby/object:Gem::Version
68
73
  version: '0'
69
74
  required_rubygems_version: !ruby/object:Gem::Requirement
70
- none: false
71
75
  requirements:
72
- - - ! '>='
76
+ - - '>='
73
77
  - !ruby/object:Gem::Version
74
78
  version: '0'
75
79
  requirements: []
76
80
  rubyforge_project:
77
- rubygems_version: 1.8.11
81
+ rubygems_version: 2.0.3
78
82
  signing_key:
79
- specification_version: 3
83
+ specification_version: 4
80
84
  summary: Prefixes any httpified elements with http://
81
85
  test_files:
82
86
  - spec/httpify_spec.rb
83
87
  - spec/spec_helper.rb
88
+ has_rdoc: