exvo_helpers 0.5.2 → 0.5.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/.gitignore CHANGED
@@ -3,3 +3,4 @@
3
3
  Gemfile.lock
4
4
  coverage/*
5
5
  pkg/*
6
+ tmp/*
data/CHANGELOG.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  Note, that only significant changes are listed.
4
4
 
5
+ ## 0.5.3 (2012-12-20)
6
+
7
+ * new `budget_host`, `budget_uri` and `budget_require_ssl` helpers
8
+
9
+
5
10
  ## 0.5.2 (2012-07-05)
6
11
 
7
12
  * desktop is now at 'http://home.exvo.com'
data/README.md CHANGED
@@ -19,7 +19,10 @@ Exvo::Helpers.auth_client_secret => nil
19
19
  Exvo::Helpers.sso_cookie_domain => 'exvo.local'
20
20
  Exvo::Helpers.sso_cookie_secret => 'some secret cookie signing key'
21
21
 
22
+ Exvo::Helpers.budget_require_ssl => false
23
+
22
24
  Exvo::Helpers.auth_host => 'auth.exvo.local'
25
+ Exvo::Helpers.budget_host => 'budget.exvo.local'
23
26
  Exvo::Helpers.cdn_host => 'home.exvo.local'
24
27
  Exvo::Helpers.cfs_host => 'cfs.exvo.local'
25
28
  Exvo::Helpers.desktop_host => 'home.exvo.local'
@@ -33,6 +36,7 @@ Exvo::Helpers.preview_host => 'preview.exvo.local'
33
36
  Exvo::Helpers.store_host => 'store.exvo.local'
34
37
 
35
38
  Exvo::Helpers.auth_uri => 'http://auth.exvo.local'
39
+ Exvo::Helpers.budget_uri => 'http://budget.exvo.local'
36
40
  Exvo::Helpers.cdn_uri => 'http://home.exvo.local'
37
41
  Exvo::Helpers.cfs_uri => 'http://cfs.exvo.local'
38
42
  Exvo::Helpers.desktop_uri => 'http://home.exvo.local'
@@ -61,7 +65,10 @@ ENV['AUTH_CLIENT_SECRET'] = 'abc'
61
65
  ENV['SSO_COOKIE_DOMAIN'] = 'exvo.dev'
62
66
  ENV['SSO_COOKIE_SECRET'] = 'exvo.dev'
63
67
 
68
+ ENV['BUDGET_REQUIRE_SSL'] = 'true'
69
+
64
70
  ENV['AUTH_HOST'] = 'test.auth.exvo.com'
71
+ ENV['BUDGET_HOST'] = 'test.budget.exvo.com'
65
72
  ENV['CDN_HOST'] = 'test.cdn.exvo.com'
66
73
  ENV['CFS_HOST'] = 'test.cfs.exvo.com'
67
74
  ENV['DESKTOP_HOST'] = 'test.exvo.com'
@@ -87,7 +94,10 @@ Exvo::Helpers.auth_client_secret = 'abc'
87
94
  Exvo::Helpers.sso_cookie_domain = 'exvo.dev'
88
95
  Exvo::Helpers.sso_cookie_key = 'some secret key'
89
96
 
97
+ Exvo::Helpers.budget_require_ssl = true
98
+
90
99
  Exvo::Helpers.auth_host = 'test.auth.exvo.com'
100
+ Exvo::Helpers.budget_host = 'test.budget.exvo.com'
91
101
  Exvo::Helpers.cdn_host = 'test.cdn.exvo.com'
92
102
  Exvo::Helpers.cfs_host = 'test.cfs.exvo.com'
93
103
  Exvo::Helpers.desktop_host = 'test.exvo.com'
@@ -5,11 +5,11 @@ module Exvo
5
5
  # Dynamically define class methods
6
6
  class << self
7
7
 
8
- %w(auth cdn cfs desktop themes blog contacts inbox music pics preview store).each do |service|
8
+ %w(auth budget cdn cfs desktop themes blog contacts inbox music pics preview store).each do |service|
9
9
 
10
10
  # def self.cdn_uri
11
11
  # protocol = 'http://'
12
- # protocol = 'https://' if service == "auth" && auth_require_ssl
12
+ # protocol = 'https://' if (service == "auth" && auth_require_ssl) || (service == "budget" && budget_require_ssl)
13
13
  # protocol = '//' if ["cdn", "cfs", "themes"].include?(service) && env.to_sym == :production
14
14
  # suffix = '/blog' if service == "blog"
15
15
  # protocol + cdn_host + suffix.to_s
@@ -17,8 +17,8 @@ module Exvo
17
17
  define_method "#{service}_uri" do
18
18
  protocol = 'http://'
19
19
 
20
- # explicit https for auth
21
- protocol = 'https://' if service == "auth" && send(:auth_require_ssl)
20
+ # explicit https for auth & budget
21
+ protocol = 'https://' if (service == "auth" && send(:auth_require_ssl)) || (service == "budget" && send(:budget_require_ssl))
22
22
 
23
23
  # special link starting with '//' in production so that the webserver can choose between HTTP and HTTPS
24
24
  # but only for those apps/services that have proper SSL support (i.e. valid certificates)
@@ -169,6 +169,43 @@ module Exvo
169
169
  end
170
170
 
171
171
 
172
+ # BUDGET
173
+
174
+ # Dynamically define class methods
175
+ class << self
176
+
177
+ %w(require_ssl).each do |option|
178
+
179
+ # def self.budget_require_ssl
180
+ # return @@budget_require_ssl if defined?(@@budget_require_ssl) && !@@budget_require_ssl.nil?
181
+ # value = true if ENV["BUDGET_REQUIRE_SSL"] =~ /true/i
182
+ # value = false if ENV["BUDGET_REQUIRE_SSL"] =~ /false/i
183
+ # value = default_opts[env.to_sym]["budget_require_ssl".to_sym] if value.nil?
184
+ # @@budget_require_ssl = value
185
+ # end
186
+ define_method "budget_#{option}" do
187
+ if class_variable_defined?("@@budget_#{option}") and !class_variable_get("@@budget_#{option}").nil?
188
+ class_variable_get("@@budget_#{option}")
189
+ else
190
+ value = true if ENV["BUDGET_#{option.upcase}"] =~ /true/i
191
+ value = false if ENV["BUDGET_#{option.upcase}"] =~ /false/i
192
+ value = default_opts[env.to_sym]["budget_#{option}".to_sym] if value.nil?
193
+ class_variable_set("@@budget_#{option}", value)
194
+ end
195
+ end
196
+
197
+ # def self.budget_require_ssl=(debug)
198
+ # @@budget_require_ssl = debug
199
+ # end
200
+ define_method "budget_#{option}=" do |value|
201
+ class_variable_set("@@budget_#{option}", value)
202
+ end
203
+
204
+ end
205
+
206
+ end
207
+
208
+
172
209
  # ENV
173
210
 
174
211
  # by default fall back to production; this way the omniauth-exvo's gem specs can pass
@@ -194,6 +231,8 @@ module Exvo
194
231
  :auth_host => 'auth.exvo.com',
195
232
  :auth_require_ssl => true,
196
233
  :sso_cookie_domain => 'exvo.com',
234
+ :budget_host => 'budget.exvo.com',
235
+ :budget_require_ssl => true,
197
236
  :cdn_host => 'd33gjlr95u9pgf.cloudfront.net', # cloudfront.net so we can use https (cdn.exvo.com via https does not work properly)
198
237
  :cfs_host => 'cfs.exvo.com',
199
238
  :desktop_host => 'home.exvo.com',
@@ -211,6 +250,8 @@ module Exvo
211
250
  :auth_host => 'auth.exvo.co',
212
251
  :auth_require_ssl => false,
213
252
  :sso_cookie_domain => 'exvo.co',
253
+ :budget_host => 'budget.exvo.co',
254
+ :budget_require_ssl => false,
214
255
  :cdn_host => 'd1by559a994699.cloudfront.net',
215
256
  :cfs_host => 'cfs.exvo.co',
216
257
  :desktop_host => 'home.exvo.co',
@@ -228,6 +269,8 @@ module Exvo
228
269
  :auth_host => 'auth.exvo.local',
229
270
  :auth_require_ssl => false,
230
271
  :sso_cookie_domain => 'exvo.local',
272
+ :budget_host => 'budget.exvo.local',
273
+ :budget_require_ssl => false,
231
274
  :cdn_host => 'home.exvo.local',
232
275
  :cfs_host => 'cfs.exvo.local',
233
276
  :desktop_host => 'home.exvo.local',
@@ -245,6 +288,8 @@ module Exvo
245
288
  :auth_host => 'auth.exvo.local',
246
289
  :auth_require_ssl => false,
247
290
  :sso_cookie_domain => 'exvo.local',
291
+ :budget_host => 'budget.exvo.local',
292
+ :budget_require_ssl => false,
248
293
  :cdn_host => 'home.exvo.local',
249
294
  :cfs_host => 'cfs.exvo.local',
250
295
  :desktop_host => 'home.exvo.local',
@@ -1,5 +1,5 @@
1
1
  module Exvo
2
2
  module Helpers
3
- VERSION = "0.5.2"
3
+ VERSION = "0.5.3"
4
4
  end
5
5
  end
@@ -31,11 +31,12 @@ describe Exvo::Helpers do
31
31
  end
32
32
 
33
33
  describe "uri methods in production environment" do
34
- specify { Exvo::Helpers.auth_uri.should match('auth.exvo.com') }
35
- specify { Exvo::Helpers.cdn_uri.should match('d33gjlr95u9pgf.cloudfront.net') }
36
- specify { Exvo::Helpers.cfs_uri.should match('cfs.exvo.com') }
34
+ specify { Exvo::Helpers.auth_uri.should match(/\Ahttps:\/\/auth.exvo.com\Z/) }
35
+ specify { Exvo::Helpers.budget_uri.should match(/\Ahttps:\/\/budget.exvo.com\Z/) }
36
+ specify { Exvo::Helpers.cdn_uri.should match(/\A\/\/d33gjlr95u9pgf.cloudfront.net\Z/) }
37
+ specify { Exvo::Helpers.cfs_uri.should match(/\A\/\/cfs.exvo.com\Z/) }
37
38
  specify { Exvo::Helpers.desktop_uri.should match('home.exvo.com') }
38
- specify { Exvo::Helpers.themes_uri.should match('themes.exvo.com') }
39
+ specify { Exvo::Helpers.themes_uri.should match(/\A\/\/themes.exvo.com\Z/) }
39
40
  specify { Exvo::Helpers.blog_uri.should match('www.exvo.com/blog') }
40
41
  specify { Exvo::Helpers.contacts_uri.should match('contacts.exvo.com') }
41
42
  specify { Exvo::Helpers.inbox_uri.should match('inbox.exvo.com') }
@@ -47,6 +48,7 @@ describe Exvo::Helpers do
47
48
 
48
49
  describe "host methods in production environment" do
49
50
  specify { Exvo::Helpers.auth_host.should match('auth.exvo.com') }
51
+ specify { Exvo::Helpers.budget_host.should match('budget.exvo.com') }
50
52
  specify { Exvo::Helpers.cdn_host.should eql('d33gjlr95u9pgf.cloudfront.net') }
51
53
  specify { Exvo::Helpers.cfs_host.should eql('cfs.exvo.com') }
52
54
  specify { Exvo::Helpers.desktop_host.should eql('home.exvo.com') }
@@ -66,6 +68,7 @@ describe Exvo::Helpers do
66
68
  end
67
69
 
68
70
  specify { Exvo::Helpers.auth_host.should match('auth.exvo.co') }
71
+ specify { Exvo::Helpers.budget_host.should match('budget.exvo.co') }
69
72
  specify { Exvo::Helpers.cdn_host.should eql('d1by559a994699.cloudfront.net') }
70
73
  specify { Exvo::Helpers.cfs_host.should eql('cfs.exvo.co') }
71
74
  specify { Exvo::Helpers.desktop_host.should eql('home.exvo.co') }
@@ -91,6 +94,10 @@ describe Exvo::Helpers do
91
94
  specify { Exvo::Helpers.sso_cookie_domain.should eq("exvo.com") }
92
95
  end
93
96
 
97
+ describe "#budget_require_ssl by default for production env" do
98
+ specify { Exvo::Helpers.budget_require_ssl.should be_true }
99
+ end
100
+
94
101
  describe "ENV settings override the defaults" do
95
102
  # all *host* methods are defined the same using metaprogramming, only testing for 1 is enough
96
103
  let(:cdn_host) { "test.cdn.exvo.com" }
@@ -156,6 +163,7 @@ describe Exvo::Helpers do
156
163
  Exvo::Helpers.sso_cookie_secret = nil
157
164
 
158
165
  Exvo::Helpers.auth_host = nil
166
+ Exvo::Helpers.budget_host = nil
159
167
  Exvo::Helpers.cdn_host = nil
160
168
  Exvo::Helpers.cfs_host = nil
161
169
  Exvo::Helpers.desktop_host = nil
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exvo_helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,152 +9,152 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-05 00:00:00.000000000 Z
12
+ date: 2012-12-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: rake
15
+ type: :development
16
16
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
17
  requirements:
19
18
  - - ! '>='
20
19
  - !ruby/object:Gem::Version
21
20
  version: '0'
22
- type: :development
21
+ none: false
23
22
  prerelease: false
24
23
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
24
  requirements:
27
25
  - - ! '>='
28
26
  - !ruby/object:Gem::Version
29
27
  version: '0'
28
+ none: false
29
+ name: rake
30
30
  - !ruby/object:Gem::Dependency
31
- name: rspec
31
+ type: :development
32
32
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
33
  requirements:
35
34
  - - ! '>='
36
35
  - !ruby/object:Gem::Version
37
36
  version: '2.8'
38
- type: :development
37
+ none: false
39
38
  prerelease: false
40
39
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
40
  requirements:
43
41
  - - ! '>='
44
42
  - !ruby/object:Gem::Version
45
43
  version: '2.8'
44
+ none: false
45
+ name: rspec
46
46
  - !ruby/object:Gem::Dependency
47
- name: guard
47
+ type: :development
48
48
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
49
  requirements:
51
50
  - - ! '>='
52
51
  - !ruby/object:Gem::Version
53
52
  version: 0.10.0
54
- type: :development
53
+ none: false
55
54
  prerelease: false
56
55
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
56
  requirements:
59
57
  - - ! '>='
60
58
  - !ruby/object:Gem::Version
61
59
  version: 0.10.0
60
+ none: false
61
+ name: guard
62
62
  - !ruby/object:Gem::Dependency
63
- name: guard-bundler
63
+ type: :development
64
64
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
65
  requirements:
67
66
  - - ! '>='
68
67
  - !ruby/object:Gem::Version
69
68
  version: '0'
70
- type: :development
69
+ none: false
71
70
  prerelease: false
72
71
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
72
  requirements:
75
73
  - - ! '>='
76
74
  - !ruby/object:Gem::Version
77
75
  version: '0'
76
+ none: false
77
+ name: guard-bundler
78
78
  - !ruby/object:Gem::Dependency
79
- name: guard-rspec
79
+ type: :development
80
80
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
81
  requirements:
83
82
  - - ! '>='
84
83
  - !ruby/object:Gem::Version
85
84
  version: 0.6.0
86
- type: :development
85
+ none: false
87
86
  prerelease: false
88
87
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
88
  requirements:
91
89
  - - ! '>='
92
90
  - !ruby/object:Gem::Version
93
91
  version: 0.6.0
92
+ none: false
93
+ name: guard-rspec
94
94
  - !ruby/object:Gem::Dependency
95
- name: rb-fsevent
95
+ type: :development
96
96
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
97
  requirements:
99
98
  - - ! '>='
100
99
  - !ruby/object:Gem::Version
101
100
  version: '0'
102
- type: :development
101
+ none: false
103
102
  prerelease: false
104
103
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
104
  requirements:
107
105
  - - ! '>='
108
106
  - !ruby/object:Gem::Version
109
107
  version: '0'
108
+ none: false
109
+ name: rb-fsevent
110
110
  - !ruby/object:Gem::Dependency
111
- name: rb-inotify
111
+ type: :development
112
112
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
113
  requirements:
115
114
  - - ! '>='
116
115
  - !ruby/object:Gem::Version
117
116
  version: '0'
118
- type: :development
117
+ none: false
119
118
  prerelease: false
120
119
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
120
  requirements:
123
121
  - - ! '>='
124
122
  - !ruby/object:Gem::Version
125
123
  version: '0'
124
+ none: false
125
+ name: rb-inotify
126
126
  - !ruby/object:Gem::Dependency
127
- name: simplecov
127
+ type: :development
128
128
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
129
  requirements:
131
130
  - - ! '>='
132
131
  - !ruby/object:Gem::Version
133
132
  version: '0'
134
- type: :development
133
+ none: false
135
134
  prerelease: false
136
135
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
136
  requirements:
139
137
  - - ! '>='
140
138
  - !ruby/object:Gem::Version
141
139
  version: '0'
140
+ none: false
141
+ name: simplecov
142
142
  - !ruby/object:Gem::Dependency
143
- name: simplecov-rcov
143
+ type: :development
144
144
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
145
  requirements:
147
146
  - - ! '>='
148
147
  - !ruby/object:Gem::Version
149
148
  version: '0'
150
- type: :development
149
+ none: false
151
150
  prerelease: false
152
151
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
152
  requirements:
155
153
  - - ! '>='
156
154
  - !ruby/object:Gem::Version
157
155
  version: '0'
156
+ none: false
157
+ name: simplecov-rcov
158
158
  description: Ruby gem providing various helper methods, like auth_host, auth_uri,
159
159
  auth_require_ssl, cdn_host, etc.
160
160
  email:
@@ -166,7 +166,7 @@ files:
166
166
  - .gitignore
167
167
  - CHANGELOG.md
168
168
  - Gemfile
169
- - MIT-LICENSE
169
+ - LICENSE
170
170
  - README.md
171
171
  - Rakefile
172
172
  - exvo_helpers.gemspec
@@ -185,17 +185,17 @@ rdoc_options: []
185
185
  require_paths:
186
186
  - lib
187
187
  required_ruby_version: !ruby/object:Gem::Requirement
188
- none: false
189
188
  requirements:
190
189
  - - ! '>='
191
190
  - !ruby/object:Gem::Version
192
191
  version: '0'
193
- required_rubygems_version: !ruby/object:Gem::Requirement
194
192
  none: false
193
+ required_rubygems_version: !ruby/object:Gem::Requirement
195
194
  requirements:
196
195
  - - ! '>='
197
196
  - !ruby/object:Gem::Version
198
197
  version: '0'
198
+ none: false
199
199
  requirements: []
200
200
  rubyforge_project:
201
201
  rubygems_version: 1.8.24
@@ -203,4 +203,3 @@ signing_key:
203
203
  specification_version: 3
204
204
  summary: Collection of helper methods for various Exvo related apps/services
205
205
  test_files: []
206
- has_rdoc:
File without changes