social 0.0.11 → 0.3.0

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.
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