social 0.0.11 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +72 -40
  3. data/lib/social.rb +65 -30
  4. data/lib/social/balance.rb +1 -14
  5. data/lib/social/config/ok.rb +16 -18
  6. data/lib/social/config/vk.rb +15 -17
  7. data/lib/social/determinant.rb +4 -0
  8. data/lib/social/determinant/request_param.rb +56 -0
  9. data/lib/social/determinant/social_prefix.rb +81 -0
  10. data/lib/social/env.rb +21 -15
  11. data/lib/social/network.rb +9 -1
  12. data/lib/social/network/base.rb +60 -9
  13. data/lib/social/network/graph.rb +1 -40
  14. data/lib/social/network/graph/ok.rb +1 -5
  15. data/lib/social/network/graph/ok/base.rb +50 -56
  16. data/lib/social/network/graph/ok/notification.rb +9 -15
  17. data/lib/social/network/graph/ok/user.rb +61 -67
  18. data/lib/social/network/graph/tail.rb +14 -20
  19. data/lib/social/network/graph/vk.rb +1 -5
  20. data/lib/social/network/graph/vk/base.rb +27 -33
  21. data/lib/social/network/graph/vk/notification.rb +11 -17
  22. data/lib/social/network/graph/vk/user.rb +55 -61
  23. data/lib/social/network/ok.rb +9 -17
  24. data/lib/social/network/stub.rb +2 -7
  25. data/lib/social/network/vk.rb +9 -17
  26. data/lib/social/version.rb +1 -1
  27. data/social.gemspec +1 -0
  28. data/spec/lib/social/ok_api_spec.rb +8 -8
  29. data/spec/lib/social/vk_api_spec.rb +2 -2
  30. data/spec/spec_helper.rb +1 -4
  31. metadata +80 -48
  32. data/lib/social/auth.rb +0 -4
  33. data/lib/social/auth/controller.rb +0 -144
  34. data/lib/social/builder.rb +0 -22
  35. data/lib/social/cache.rb +0 -26
  36. data/lib/social/helper.rb +0 -4
  37. data/lib/social/helper/controller.rb +0 -43
  38. data/lib/social/helper/model.rb +0 -61
  39. data/lib/social/network/params.rb +0 -31
  40. data/lib/social/provider.rb +0 -42
@@ -2,8 +2,5 @@ require "bundler"
2
2
  Bundler.require :default, :development
3
3
 
4
4
  RSpec.configure do |config|
5
- #config.treat_symbols_as_metadata_keys_with_true_values = true
6
- #config.run_all_when_everything_filtered = true
7
- #config.filter_run :focus
8
- #config.mock_with :rr
5
+ config.mock_with :rr
9
6
  end
metadata CHANGED
@@ -1,116 +1,156 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: social
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
5
- prerelease:
4
+ version: 0.3.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Kazantsev Nickolay
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-05-09 00:00:00.000000000Z
11
+ date: 2014-10-31 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rspec-core
16
- requirement: &70135366132940 !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: '2.0'
22
20
  type: :development
23
21
  prerelease: false
24
- version_requirements: *70135366132940
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '2.0'
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: rspec-mocks
27
- requirement: &70135366132520 !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: '0'
33
34
  type: :development
34
35
  prerelease: false
35
- version_requirements: *70135366132520
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: rspec-expectations
38
- requirement: &70135366131980 !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: '2.0'
44
48
  type: :development
45
49
  prerelease: false
46
- version_requirements: *70135366131980
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '2.0'
47
55
  - !ruby/object:Gem::Dependency
48
56
  name: rack
49
- requirement: &70135366131480 !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.4.1
55
62
  type: :development
56
63
  prerelease: false
57
- version_requirements: *70135366131480
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 1.4.1
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: rack-test
60
- requirement: &70135370158920 !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: 0.6.1
66
76
  type: :development
67
77
  prerelease: false
68
- version_requirements: *70135370158920
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 0.6.1
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rr
71
- requirement: &70135370158460 !ruby/object:Gem::Requirement
72
- none: false
85
+ requirement: !ruby/object:Gem::Requirement
73
86
  requirements:
74
87
  - - ~>
75
88
  - !ruby/object:Gem::Version
76
89
  version: '1.0'
77
90
  type: :development
78
91
  prerelease: false
79
- version_requirements: *70135370158460
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: '1.0'
80
97
  - !ruby/object:Gem::Dependency
81
98
  name: pry
82
- requirement: &70135370158000 !ruby/object:Gem::Requirement
83
- none: false
99
+ requirement: !ruby/object:Gem::Requirement
84
100
  requirements:
85
101
  - - ~>
86
102
  - !ruby/object:Gem::Version
87
103
  version: 0.9.8.4
88
104
  type: :development
89
105
  prerelease: false
90
- version_requirements: *70135370158000
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: 0.9.8.4
91
111
  - !ruby/object:Gem::Dependency
92
112
  name: activesupport
93
- requirement: &70135370157540 !ruby/object:Gem::Requirement
94
- none: false
113
+ requirement: !ruby/object:Gem::Requirement
95
114
  requirements:
96
115
  - - ~>
97
116
  - !ruby/object:Gem::Version
98
117
  version: 3.1.3
99
118
  type: :development
100
119
  prerelease: false
101
- version_requirements: *70135370157540
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ~>
123
+ - !ruby/object:Gem::Version
124
+ version: 3.1.3
102
125
  - !ruby/object:Gem::Dependency
103
126
  name: i18n
104
- requirement: &70135370157080 !ruby/object:Gem::Requirement
105
- none: false
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ~>
130
+ - !ruby/object:Gem::Version
131
+ version: 0.6.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
106
135
  requirements:
107
136
  - - ~>
108
137
  - !ruby/object:Gem::Version
109
138
  version: 0.6.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: rake
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
110
146
  type: :development
111
147
  prerelease: false
112
- version_requirements: *70135370157080
113
- description: ! "This is social networks api wrapper and authorization tools for social
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ description: "This is social networks api wrapper and authorization tools for social
114
154
  applications. \n Now it is a compilation of code from various projects in production.
115
155
  Without tests. =( NOT RECOMMENDED USE IN PRODUCTION."
116
156
  email:
@@ -127,18 +167,14 @@ files:
127
167
  - Rakefile
128
168
  - config/social.yml
129
169
  - lib/social.rb
130
- - lib/social/auth.rb
131
- - lib/social/auth/controller.rb
132
170
  - lib/social/balance.rb
133
- - lib/social/builder.rb
134
- - lib/social/cache.rb
135
171
  - lib/social/config.rb
136
172
  - lib/social/config/ok.rb
137
173
  - lib/social/config/vk.rb
174
+ - lib/social/determinant.rb
175
+ - lib/social/determinant/request_param.rb
176
+ - lib/social/determinant/social_prefix.rb
138
177
  - lib/social/env.rb
139
- - lib/social/helper.rb
140
- - lib/social/helper/controller.rb
141
- - lib/social/helper/model.rb
142
178
  - lib/social/network.rb
143
179
  - lib/social/network/base.rb
144
180
  - lib/social/network/graph.rb
@@ -152,11 +188,9 @@ files:
152
188
  - lib/social/network/graph/vk/notification.rb
153
189
  - lib/social/network/graph/vk/user.rb
154
190
  - lib/social/network/ok.rb
155
- - lib/social/network/params.rb
156
191
  - lib/social/network/stub.rb
157
192
  - lib/social/network/vk.rb
158
193
  - lib/social/networks.rb
159
- - lib/social/provider.rb
160
194
  - lib/social/version.rb
161
195
  - social.gemspec
162
196
  - spec/lib/social/config_spec.rb
@@ -166,27 +200,26 @@ files:
166
200
  - spec/spec_helper.rb
167
201
  homepage: http://github.com/realb0t/social
168
202
  licenses: []
203
+ metadata: {}
169
204
  post_install_message:
170
205
  rdoc_options: []
171
206
  require_paths:
172
207
  - lib
173
208
  required_ruby_version: !ruby/object:Gem::Requirement
174
- none: false
175
209
  requirements:
176
- - - ! '>='
210
+ - - '>='
177
211
  - !ruby/object:Gem::Version
178
212
  version: '0'
179
213
  required_rubygems_version: !ruby/object:Gem::Requirement
180
- none: false
181
214
  requirements:
182
- - - ! '>='
215
+ - - '>='
183
216
  - !ruby/object:Gem::Version
184
217
  version: '0'
185
218
  requirements: []
186
219
  rubyforge_project: social
187
- rubygems_version: 1.8.6
220
+ rubygems_version: 2.0.7
188
221
  signing_key:
189
- specification_version: 3
222
+ specification_version: 4
190
223
  summary: Social API wrapper and Tools
191
224
  test_files:
192
225
  - spec/lib/social/config_spec.rb
@@ -194,4 +227,3 @@ test_files:
194
227
  - spec/lib/social/vk_api_spec.rb
195
228
  - spec/lib/social_spec.rb
196
229
  - spec/spec_helper.rb
197
- has_rdoc:
@@ -1,4 +0,0 @@
1
- module Social
2
- module Auth
3
- end
4
- end
@@ -1,144 +0,0 @@
1
- module Social
2
- module Auth
3
- module Controller
4
-
5
- def self.included(controller)
6
- controller.send(:include, InstanceMethods)
7
- controller.extend(ClassMethods)
8
- end
9
-
10
- module ClassMethods
11
- def self.extended(controller)
12
-
13
- controller.helper_method :current_user, :signed?, :signed_out?
14
- controller.hide_action :current_user, :current_user=,
15
- :signed?, :signed_out?,
16
- :sign_in, :sign_out,
17
- :deny_access
18
-
19
- controller.before_filter :ie_hack
20
- controller.before_filter :deny_access, :safari_cookie_set
21
-
22
- end
23
- end
24
-
25
- module InstanceMethods
26
-
27
- def current_user
28
- @current_user ||= try_get_user
29
- end
30
-
31
- def signed?
32
- current_user.present?
33
- end
34
-
35
- def signed_out?
36
- !signed?
37
- end
38
-
39
- def deny_access
40
- unless signed?
41
- store_location
42
- redirect_to "/signin?#{Rack::Utils.build_nested_query(params)}"
43
- end
44
- end
45
-
46
- def sign_in(user, auth_params)
47
- remember_token = user.remember_token
48
- if remember_token
49
- cookies[:remember_token] = {
50
- :value => remember_token,
51
- :expires => 1.day.from_now.utc
52
- }
53
-
54
- cookies[:social_auth_params] = {
55
- :value => auth_params.to_json,
56
- :expires => 1.day.from_now.utc
57
- }
58
-
59
- cookies[:user_id] = { :value => user.id, :expires => 1.day.from_now.utc }
60
-
61
- cookies[:social_type] = {
62
- :value => auth_params[:social_type],
63
- :expires => 1.day.from_now.utc
64
- }
65
- end
66
- end
67
-
68
- def sign_out
69
- current_user.reset_remember_token! if current_user
70
- cookies.delete(:remember_token)
71
- cookies.delete(:social_auth_params)
72
- self.current_user = nil
73
- end
74
-
75
- def try_get_user
76
- #auth_params = cookies[:social_auth_params] and ActiveSupport::JSON.decode(cookies[:social_auth_params]).with_indifferent_access
77
-
78
- auth_params = ActiveSupport::JSON.decode(cookies[:social_auth_params])
79
- auth_params = (auth_params || {}).with_indifferent_access
80
-
81
- finded_user = nil
82
-
83
- if token = cookies[:remember_token]
84
- if cookies[:user_id] && (user = Profile.find(cookies[:user_id])) && (user.remember_token == token || token == 'hello_psyfaces')
85
- user.auth_params = auth_params
86
- finded_user = user
87
- else
88
- finded_user = Profile.authenticate_by_token(token, auth_params)
89
- end
90
- end
91
-
92
- self.send(:after_authenticate_user, finded_user) if finded_user && self.respond_to?(:after_authenticate_user)
93
-
94
- finded_user
95
- end
96
-
97
- def redirect_back_or(default)
98
- redirect_to(return_to || default)
99
- clear_return_to
100
- end
101
-
102
- def return_to
103
- session[:return_to] || params[:return_to]
104
- end
105
-
106
- def clear_return_to
107
- session[:return_to] = nil
108
- end
109
-
110
- def redirect_to_root
111
- redirect_to('/')
112
- end
113
-
114
- protected
115
-
116
- def auth_params
117
- @auth_params ||= {
118
- :session_key => params[:session_key],
119
- :auth_sig => params[:auth_sig],
120
- :apiconnection => params[:apiconnection],
121
- :session_secret_key => params[:session_secret_key]
122
- }
123
- end
124
-
125
- def safari_cookie_set
126
- cookies['safari_cookie_fix'] = 'OK'
127
- end
128
-
129
- def ie_hack
130
- response.headers["P3P"]='CP="CAO PSA OUR"'
131
- #header('P3P: CP="NOI ADM DEV COM NAV OUR STP"P3P: CP="NOI ADM DEV COM NAV OUR STP"');
132
- end
133
-
134
- def store_location
135
- if request.get?
136
- session[:return_to] = request.fullpath
137
- end
138
- end
139
-
140
- end
141
-
142
- end
143
- end
144
- end
@@ -1,22 +0,0 @@
1
- module Social
2
- class Builder < Rack::Builder
3
- def self.produce(app)
4
- new do
5
-
6
- map '/' do
7
- run app
8
- end
9
-
10
- Social.type_prefixes.each_with_index do |prefix, index|
11
-
12
- map '/' + prefix do
13
- use Social::Provider.build(prefix)
14
- run app
15
- end
16
-
17
- end
18
-
19
- end
20
- end
21
- end
22
- end
@@ -1,26 +0,0 @@
1
- module Social
2
- class Cache
3
-
4
- def initialize(driver)
5
- @driver = driver
6
- end
7
-
8
- def read(key)
9
- driver.read(key) if driver.respond_to? :read
10
- end
11
-
12
- def write(key, data)
13
- driver.write(key, data) if driver.respond_to? :write
14
- end
15
-
16
- def fetch(key, &block)
17
- return nil if block_gived?
18
- unless data = read(key)
19
- data = block.call
20
- end
21
-
22
- data
23
- end
24
-
25
- end
26
- end