verge 0.0.2 → 0.0.3
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.
- data/Rakefile +8 -8
- data/VERSION +1 -1
- data/lib/verge/server/base.rb +1 -1
- data/lib/verge/server/models.rb +7 -8
- data/lib/verge.rb +0 -2
- data/spec/factories.rb +2 -2
- data/spec/models_spec.rb +3 -3
- data/spec/spec_helper.rb +1 -0
- data/spec/verge_spec.rb +2 -2
- data/verge.gemspec +25 -25
- metadata +11 -11
data/Rakefile
CHANGED
@@ -10,14 +10,14 @@ begin
|
|
10
10
|
gem.email = "adam@wartube.com"
|
11
11
|
gem.homepage = "http://github.com/adamelliot/verge"
|
12
12
|
gem.authors = ["Adam Elliot"]
|
13
|
-
gem.add_dependency "sinatra"
|
14
|
-
gem.add_dependency "datamapper"
|
15
|
-
gem.add_dependency "bcrypt-ruby"
|
16
|
-
gem.add_dependency "activesupport"
|
17
|
-
gem.add_development_dependency "rspec"
|
18
|
-
gem.add_development_dependency "factory_girl"
|
19
|
-
gem.add_development_dependency "rack-test"
|
20
|
-
gem.add_development_dependency "do_sqlite3"
|
13
|
+
gem.add_dependency "sinatra", ">= 0.9.4"
|
14
|
+
gem.add_dependency "datamapper", ">= 0.10.1"
|
15
|
+
gem.add_dependency "bcrypt-ruby", ">= 2.1.2"
|
16
|
+
gem.add_dependency "activesupport", ">= 2.3.4"
|
17
|
+
gem.add_development_dependency "rspec", ">= 1.2.9"
|
18
|
+
gem.add_development_dependency "factory_girl", ">= 1.2.3"
|
19
|
+
gem.add_development_dependency "rack-test", "0.5.0"
|
20
|
+
gem.add_development_dependency "do_sqlite3", "0.10.0"
|
21
21
|
end
|
22
22
|
Jeweler::GemcutterTasks.new
|
23
23
|
rescue LoadError
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.3
|
data/lib/verge/server/base.rb
CHANGED
data/lib/verge/server/models.rb
CHANGED
@@ -6,7 +6,7 @@ require 'dm-timestamps'
|
|
6
6
|
|
7
7
|
require 'activesupport'
|
8
8
|
|
9
|
-
DataMapper::setup(:default, ENV['DATABASE_URL'] || "sqlite3:///#{Dir.pwd}
|
9
|
+
DataMapper::setup(:default, ENV['DATABASE_URL'] || "sqlite3:///#{Dir.pwd}/database.sqlite3")
|
10
10
|
|
11
11
|
module Verge
|
12
12
|
module Server
|
@@ -105,12 +105,12 @@ module Verge
|
|
105
105
|
include DataMapper::Resource
|
106
106
|
|
107
107
|
property :id, Serial, :key => true
|
108
|
-
property :
|
108
|
+
property :host, String, :length => 3..300
|
109
109
|
property :signature, String, :length => 128..128, :default => lambda { Verge::Crypto.token }
|
110
110
|
|
111
111
|
has n, :signed_tokens
|
112
112
|
|
113
|
-
validates_is_unique :
|
113
|
+
validates_is_unique :host
|
114
114
|
validates_is_unique :signature
|
115
115
|
|
116
116
|
before :destroy, :destroy_signed_tokens
|
@@ -127,14 +127,13 @@ module Verge
|
|
127
127
|
signed_tokens.create(:value => sign(token.user.login, token.value), :token => token)
|
128
128
|
end
|
129
129
|
|
130
|
-
# Searchs all the sites for ones that match the
|
130
|
+
# Searchs all the sites for ones that match the host
|
131
131
|
# EG:
|
132
132
|
# "http://verge.example.com/some/path?id=1" will match
|
133
133
|
# "verge.example.com"
|
134
|
-
def self.
|
135
|
-
return nil if
|
136
|
-
|
137
|
-
Site.first(:domain => domain)
|
134
|
+
def self.find_by_uri(uri)
|
135
|
+
return nil if uri.nil?
|
136
|
+
Site.first(:host => uri[/^([A-Za-z\d]*\:\/\/){0,1}([^\/]*)/, 2])
|
138
137
|
end
|
139
138
|
|
140
139
|
private
|
data/lib/verge.rb
CHANGED
data/spec/factories.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
Factory.sequence(:login) { |n| "verge-#{n}" }
|
2
|
-
Factory.sequence(:
|
2
|
+
Factory.sequence(:host) { |n| "site-#{n}.com" }
|
3
3
|
|
4
4
|
Factory.define(:user, :class => Verge::Server::User) do |u|
|
5
5
|
u.login { Factory.next(:login) }
|
@@ -7,7 +7,7 @@ Factory.define(:user, :class => Verge::Server::User) do |u|
|
|
7
7
|
end
|
8
8
|
|
9
9
|
Factory.define(:site, :class => Verge::Server::Site) do |s|
|
10
|
-
s.
|
10
|
+
s.host { Factory.next(:host) }
|
11
11
|
end
|
12
12
|
|
13
13
|
Factory.define(:signed_token, :class => Verge::Server::SignedToken) do |s|
|
data/spec/models_spec.rb
CHANGED
@@ -132,11 +132,11 @@ describe Verge::Server::Site do
|
|
132
132
|
Verge::Server::SignedToken.count.should eql(Verge::Server::Site.count)
|
133
133
|
end
|
134
134
|
|
135
|
-
it "returns a site when the
|
135
|
+
it "returns a site when the host matches" do
|
136
136
|
site1 = Factory(:site)
|
137
|
-
site2 = Verge::Server::Site.
|
137
|
+
site2 = Verge::Server::Site.find_by_uri("http://#{site1.host}/some/other/path?junk=10&true=false")
|
138
138
|
site2.should_not be_nil
|
139
|
-
site2.
|
139
|
+
site2.host.should eql(site1.host)
|
140
140
|
end
|
141
141
|
|
142
142
|
it "should create a valid signed token when signing" do
|
data/spec/spec_helper.rb
CHANGED
data/spec/verge_spec.rb
CHANGED
@@ -16,7 +16,7 @@ describe Verge::Server do
|
|
16
16
|
|
17
17
|
before :each do
|
18
18
|
@site = Factory(:site)
|
19
|
-
header("Referer", @site.
|
19
|
+
header("Referer", @site.host)
|
20
20
|
end
|
21
21
|
|
22
22
|
describe "GET to /token.js" do
|
@@ -103,7 +103,7 @@ describe Verge::Server do
|
|
103
103
|
@user = Factory(:user)
|
104
104
|
@signed_token = @user.token.signed_tokens.first(:site_id => @site.id)
|
105
105
|
|
106
|
-
header("Referer", @site.
|
106
|
+
header("Referer", @site.host)
|
107
107
|
end
|
108
108
|
|
109
109
|
it "fails if no regisered site is found" do
|
data/verge.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{verge}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Adam Elliot"]
|
@@ -55,33 +55,33 @@ Gem::Specification.new do |s|
|
|
55
55
|
s.specification_version = 3
|
56
56
|
|
57
57
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
58
|
-
s.add_runtime_dependency(%q<sinatra>, [">= 0"])
|
59
|
-
s.add_runtime_dependency(%q<datamapper>, [">= 0"])
|
60
|
-
s.add_runtime_dependency(%q<bcrypt-ruby>, [">=
|
61
|
-
s.add_runtime_dependency(%q<activesupport>, [">=
|
62
|
-
s.add_development_dependency(%q<rspec>, [">=
|
63
|
-
s.add_development_dependency(%q<factory_girl>, [">=
|
64
|
-
s.add_development_dependency(%q<rack-test>, ["
|
65
|
-
s.add_development_dependency(%q<do_sqlite3>, ["
|
58
|
+
s.add_runtime_dependency(%q<sinatra>, [">= 0.9.4"])
|
59
|
+
s.add_runtime_dependency(%q<datamapper>, [">= 0.10.1"])
|
60
|
+
s.add_runtime_dependency(%q<bcrypt-ruby>, [">= 2.1.2"])
|
61
|
+
s.add_runtime_dependency(%q<activesupport>, [">= 2.3.4"])
|
62
|
+
s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
|
63
|
+
s.add_development_dependency(%q<factory_girl>, [">= 1.2.3"])
|
64
|
+
s.add_development_dependency(%q<rack-test>, ["= 0.5.0"])
|
65
|
+
s.add_development_dependency(%q<do_sqlite3>, ["= 0.10.0"])
|
66
66
|
else
|
67
|
-
s.add_dependency(%q<sinatra>, [">= 0"])
|
68
|
-
s.add_dependency(%q<datamapper>, [">= 0"])
|
69
|
-
s.add_dependency(%q<bcrypt-ruby>, [">=
|
70
|
-
s.add_dependency(%q<activesupport>, [">=
|
71
|
-
s.add_dependency(%q<rspec>, [">=
|
72
|
-
s.add_dependency(%q<factory_girl>, [">=
|
73
|
-
s.add_dependency(%q<rack-test>, ["
|
74
|
-
s.add_dependency(%q<do_sqlite3>, ["
|
67
|
+
s.add_dependency(%q<sinatra>, [">= 0.9.4"])
|
68
|
+
s.add_dependency(%q<datamapper>, [">= 0.10.1"])
|
69
|
+
s.add_dependency(%q<bcrypt-ruby>, [">= 2.1.2"])
|
70
|
+
s.add_dependency(%q<activesupport>, [">= 2.3.4"])
|
71
|
+
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
72
|
+
s.add_dependency(%q<factory_girl>, [">= 1.2.3"])
|
73
|
+
s.add_dependency(%q<rack-test>, ["= 0.5.0"])
|
74
|
+
s.add_dependency(%q<do_sqlite3>, ["= 0.10.0"])
|
75
75
|
end
|
76
76
|
else
|
77
|
-
s.add_dependency(%q<sinatra>, [">= 0"])
|
78
|
-
s.add_dependency(%q<datamapper>, [">= 0"])
|
79
|
-
s.add_dependency(%q<bcrypt-ruby>, [">=
|
80
|
-
s.add_dependency(%q<activesupport>, [">=
|
81
|
-
s.add_dependency(%q<rspec>, [">=
|
82
|
-
s.add_dependency(%q<factory_girl>, [">=
|
83
|
-
s.add_dependency(%q<rack-test>, ["
|
84
|
-
s.add_dependency(%q<do_sqlite3>, ["
|
77
|
+
s.add_dependency(%q<sinatra>, [">= 0.9.4"])
|
78
|
+
s.add_dependency(%q<datamapper>, [">= 0.10.1"])
|
79
|
+
s.add_dependency(%q<bcrypt-ruby>, [">= 2.1.2"])
|
80
|
+
s.add_dependency(%q<activesupport>, [">= 2.3.4"])
|
81
|
+
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
82
|
+
s.add_dependency(%q<factory_girl>, [">= 1.2.3"])
|
83
|
+
s.add_dependency(%q<rack-test>, ["= 0.5.0"])
|
84
|
+
s.add_dependency(%q<do_sqlite3>, ["= 0.10.0"])
|
85
85
|
end
|
86
86
|
end
|
87
87
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: verge
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Elliot
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version:
|
23
|
+
version: 0.9.4
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: datamapper
|
@@ -30,7 +30,7 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.10.1
|
34
34
|
version:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: bcrypt-ruby
|
@@ -40,7 +40,7 @@ dependencies:
|
|
40
40
|
requirements:
|
41
41
|
- - ">="
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
43
|
+
version: 2.1.2
|
44
44
|
version:
|
45
45
|
- !ruby/object:Gem::Dependency
|
46
46
|
name: activesupport
|
@@ -50,7 +50,7 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - ">="
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
53
|
+
version: 2.3.4
|
54
54
|
version:
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
@@ -60,7 +60,7 @@ dependencies:
|
|
60
60
|
requirements:
|
61
61
|
- - ">="
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version:
|
63
|
+
version: 1.2.9
|
64
64
|
version:
|
65
65
|
- !ruby/object:Gem::Dependency
|
66
66
|
name: factory_girl
|
@@ -70,7 +70,7 @@ dependencies:
|
|
70
70
|
requirements:
|
71
71
|
- - ">="
|
72
72
|
- !ruby/object:Gem::Version
|
73
|
-
version:
|
73
|
+
version: 1.2.3
|
74
74
|
version:
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: rack-test
|
@@ -78,9 +78,9 @@ dependencies:
|
|
78
78
|
version_requirement:
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
|
-
- - "
|
81
|
+
- - "="
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version:
|
83
|
+
version: 0.5.0
|
84
84
|
version:
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
86
|
name: do_sqlite3
|
@@ -88,9 +88,9 @@ dependencies:
|
|
88
88
|
version_requirement:
|
89
89
|
version_requirements: !ruby/object:Gem::Requirement
|
90
90
|
requirements:
|
91
|
-
- - "
|
91
|
+
- - "="
|
92
92
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
93
|
+
version: 0.10.0
|
94
94
|
version:
|
95
95
|
description: Simple system that grants trusted sites tokens if users have successfully authenticated. So they are free to interact with each other securely.
|
96
96
|
email: adam@wartube.com
|