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
@@ -1,4 +0,0 @@
1
- module Social
2
- module Helper
3
- end
4
- end
@@ -1,43 +0,0 @@
1
- # Add helper methods for Social in base controller class
2
- module Social
3
- module Helper
4
- module Controller
5
-
6
- def self.included(base)
7
- base.instance_eval do
8
- helper_method :current_social_type, :current_social_type_id, :current_social_prefix
9
- before_filter :init_social_env
10
- end
11
- end
12
-
13
- # Helper, returned social type id from request
14
- # (controller, view).current_social_type_id
15
- def current_social_type_id
16
- @current_social_type_id ||= params[:soc_id]
17
- end
18
-
19
- # Helper, returned social type from request
20
- # (controller, view).current_social_type
21
- def current_social_type
22
- @current_social_type ||= params[:soc_type]
23
- end
24
-
25
- # Helper, returned social type prefix from request
26
- # (controller, view).current_social_type_prefix
27
- def current_social_prefix
28
- @current_social_prefix ||= params[:soc_prefix]
29
- end
30
-
31
- protected
32
-
33
- def init_social_env
34
- #Social.current_id = params[:soc_id]
35
- #Social.current_type = params[:soc_type]
36
- #Social.current_prefix = params[:soc_prefix]
37
-
38
- Social::Env.init(params)
39
- end
40
-
41
- end
42
- end
43
- end
@@ -1,61 +0,0 @@
1
- # Add helper methods for Social in user model class (Active record)
2
- module Social
3
- module Helper
4
- module Model
5
-
6
- def self.included(base)
7
- base.instance_eval do
8
- attr_accessor :auth_params
9
- end
10
- end
11
-
12
- # Alias for model.current_social_type
13
- # model.current_provider String
14
- # @params social_type_id = nil
15
- def current_provider(social_type_id = nil)
16
- current_social_type(social_type_id)
17
- end
18
-
19
- # Return current social type or social type by social_type_id
20
- # model.current_social_type String
21
- # @params social_type_id = nil
22
- def current_social_type(social_type_id = nil)
23
- if social_type_id
24
- @current_provider = Social.type_by_id(social_type_id)
25
- elsif auth_params && auth_params[:social_type]
26
- @current_provider = auth_params[:social_type]
27
- else
28
- @current_provider = Social::Env.type
29
- end
30
-
31
- @current_provider
32
- end
33
-
34
- # Return current social type id
35
- # model.current_social_type String
36
- def current_social_type_id()
37
- unless @current_social_type_id
38
- @current_social_type_id = Social::Env.id
39
- end
40
-
41
- @current_social_type_id
42
- end
43
-
44
- # Make standart hash (for js) from model data
45
- # model.to_hash hash
46
- # @params params = {}
47
- def to_hash(params = {})
48
- {
49
- :id => id,
50
- :first_name => first_name,
51
- :last_name => last_name,
52
- :uid => social_references.last.uid,
53
- :name => "#{first_name} #{last_name}",
54
- :gender => (male? ? 'male' : 'female'),
55
- :birthday => birthdate
56
- }
57
- end
58
-
59
- end
60
- end
61
- end
@@ -1,31 +0,0 @@
1
- module Social
2
- module Network
3
- module Params
4
-
5
- def params()
6
- @params
7
- end
8
-
9
- def params!(params)
10
- @params = params
11
- self
12
- end
13
-
14
- def param(key)
15
- @params[key]
16
- end
17
-
18
- def param!(key, value)
19
- @params[key] = value
20
- self
21
- end
22
-
23
- protected
24
-
25
- def init_params(params)
26
- @params = params.is_a?(Hash) ? params : {}
27
- end
28
-
29
- end
30
- end
31
- end
@@ -1,42 +0,0 @@
1
- module Social
2
- class Provider
3
- def self.build(prefix)
4
-
5
- klass = Class.new do
6
-
7
- class << self
8
- attr_accessor :prefix
9
- end
10
-
11
- def initialize(app)
12
- @app = app
13
- end
14
-
15
- def call(env)
16
- request = Rack::Request.new(env)
17
-
18
- prefix = self.class.prefix
19
- type = Social.type_by_prefix(prefix)
20
- id = Social.id_by_type(type)
21
-
22
- request.GET['social_env'] = {
23
- 'prefix' => prefix,
24
- 'type' => type,
25
- 'id' => id
26
- }
27
-
28
- # Old
29
- request.GET['soc_prefix'] = prefix
30
- request.GET['soc_type'] = type
31
- request.GET['soc_id'] = id
32
-
33
- @app.call(request.env)
34
- end
35
-
36
- end
37
-
38
- klass.prefix = prefix
39
- klass
40
- end
41
- end
42
- end