fanforce 0.7.5 → 0.10.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.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MDQzNzczOWNiNmM0NjBhY2VkZDAwZmE3ZGIwNWYzNWU0MmRlNWEzOQ==
4
+ YThhNWRiNmFkOTY5OGNlMmQyODNiNjlkMDA1Y2Q1MDA5YzE2Y2FmYg==
5
5
  data.tar.gz: !binary |-
6
- YTVhOWNiMjJkYTRlOTBhMGNkNzY5NTJkNDk4ODA2ZTM0MGE5ZDA1MQ==
6
+ MDBjMGI3M2U1MDViZTkzZDI4NThmMTAxYmJlZmEyYWFiYjFmZTdlNg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- NDlmYmFlNjdiYTc0OTA2YTg1MjE5ZGM4ZDg1MGE0YmZiZDVkMGEyNTM2YzFh
10
- MTBmODcyNmIyMGZjNTJlZmUwMjM3YTJhZjBlZWM0ODcyM2VmZDQ2N2QxYzk3
11
- ZDg0YjJmN2EwODExZWZiYWNmMTU1NGY3MGUxYTYxYzk5Y2M2NTY=
9
+ OWI2ODJhMmViY2I4OWUzNmZjZDI5NDQ4NWQxNmQ4NDQ4ZTdmNjYzYWFkNGVk
10
+ ZDdkYjM4ODIxZWZlOGVlOTgyNDQxZWVlN2E5ZDliODJmM2QyZGI2ZTkxMjIw
11
+ MjMyYjZlNTZjYTg4YzNmZDk2YmZiY2U0NTM3NTE5MWJjMDQ0OTc=
12
12
  data.tar.gz: !binary |-
13
- YjUxMzE4Yjc0NDY0YmVhY2JkMmY0OWIzNGNmYmVhMGM0NTMyMmJmZmI1YjJk
14
- MjM2MWRiNWMxMjRiYWM1Y2ZhZmUwZGZlMmZlMzBhNjBiZmUzYWUyMjFkZjJi
15
- OGI4ZjNiZjFkZWRmNDYzZDc5OTEwNWViYzU0ZjhlMDE2OTRhNDQ=
13
+ MDA0YmM4N2U4ZTg1YTEyNjk2MGM4M2VjMWQwNWQ2MmQ5NGMyMmJiYjhhM2I3
14
+ MjEwOGZiOGE4NjE1Y2I0NmFiZjNjNTg0NWUxZmE3MzAyNjM0NWM0NGQ1N2I5
15
+ Y2U5NzZkNmUzODYwODkyODc1Yzk1MTQ2OWEzZDE2NWY2Y2RmMjE=
data/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012 Caleb Clark
1
+ Copyright (c) 2013 Caleb Clark
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,133 +1,4 @@
1
- ## Install
1
+ fanforce
2
+ ========
2
3
 
3
- Via rubygems.org:
4
-
5
- ```
6
- $ gem install fanforce
7
- ```
8
-
9
- To build and install the development branch yourself from the latest source:
10
-
11
- ```
12
- $ git clone git@github.com:mlabs/fanforce-ruby.git
13
- $ cd fanforce-ruby
14
- $ git checkout master
15
- $ rake gem
16
- $ gem install pkg/fanforce-{version}
17
- ```
18
-
19
- ## Getting Started
20
-
21
- ### Set It Up
22
-
23
- ``` ruby
24
- require 'rubygems' # not necessary with ruby 1.9 but included for completeness
25
- require 'fanforce'
26
-
27
- # put your own credentials here
28
- api_key = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
29
-
30
- # set up a client to talk to the Fanforce API
31
- ff = Fanforce.new api_key
32
- ```
33
-
34
- ### Making Your First Call
35
-
36
- ``` ruby
37
- # get your api access info
38
- ff.get('/access_info', {})
39
- ```
40
-
41
- ## Full REST Access
42
-
43
- ### GET
44
-
45
- ``` ruby
46
- ff.get('/', {})
47
- ```
48
-
49
- ### POST
50
-
51
- ``` ruby
52
- ff.post('/', {})
53
- ```
54
-
55
- ### PUT
56
-
57
- ``` ruby
58
- ff.put('/', {})
59
- ```
60
-
61
- ### DELETE
62
-
63
- ``` ruby
64
- ff.delete('/')
65
- ```
66
-
67
- ## Error Handling
68
-
69
- ```ruby
70
- begin
71
- ff.get('/bad_page')
72
- rescue Fanforce::Error => e
73
- puts e.curl_command
74
- end
75
- ```
76
-
77
- e.curl_command
78
- e.response_code
79
- e.response_body
80
- e.request_url
81
- e.request_params
82
-
83
- BadRequestError
84
-
85
- ## Utils
86
-
87
- ff.get_url(path, query_params)
88
-
89
- ff.curl_command(method, path, query_params)
90
-
91
- ff.validate_auth
92
-
93
- ff.to_query_string
94
-
95
- ff.compile_jquery_tmpls
96
-
97
- ff.decode_json
98
-
99
- ff.parse_url
100
-
101
- ff.remove_sensitive_params
102
-
103
- ff.remove_internal_params
104
-
105
- ## Handling Results
106
-
107
- response.result
108
- response.results
109
-
110
- response.total_results
111
- response.current_results
112
- response.current_page
113
- response.total_pages
114
-
115
- ## Paging
116
-
117
- response.prev_url
118
- response.next_url
119
-
120
- ## Logging
121
-
122
- By default logging is turned off.
123
- ```ruby
124
- Fanforce.config do |config|
125
- config.logging = true
126
- end
127
- ```
128
-
129
- For more info, see RestClient.logging.
130
-
131
- ## More Information
132
-
133
- Visit the Fanforce Developers site to explore the full API access methods available.
4
+ foundational gem used internally by other fanforce gems
data/Rakefile CHANGED
@@ -9,8 +9,8 @@ task :default => :build
9
9
  ########################################################################
10
10
 
11
11
  Rake::TestTask.new do |t|
12
- t.libs.push "lib"
13
- t.libs.push "test"
12
+ t.libs.push 'lib'
13
+ t.libs.push 'test'
14
14
  t.pattern = 'test/**/*_test.rb'
15
15
  t.verbose = false
16
16
  end
data/fanforce.gemspec CHANGED
@@ -1,24 +1,19 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'fanforce/api/version'
4
+ require 'fanforce/version'
5
5
 
6
6
  Gem::Specification.new do |gem|
7
7
  gem.name = 'fanforce'
8
- gem.version = Fanforce::Api::VERSION
9
- gem.date = '2012-10-19'
10
- gem.summary = %q{Ruby API wrapper for Fanforce}
11
- gem.description = %q{Ruby API wrapper that interfaces with all six Fanforce APIs.}
8
+ gem.version = Fanforce::VERSION
9
+ gem.date = '2013-08-27'
10
+ gem.summary = %q{Core Fanforce gem}
11
+ gem.description = %q{Core gem used internally by other Fanforce gems}
12
12
  gem.authors = ['Caleb Clark']
13
13
  gem.email = ['cclark@fanforce.com']
14
- gem.homepage = 'http://github.com/mlabs/fanforce-ruby'
14
+ gem.homepage = 'http://github.com/fanforce/fanforce'
15
15
 
16
16
  gem.files = `git ls-files`.split($/)
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ['lib']
19
-
20
- gem.add_runtime_dependency 'multi_json', '~> 1.3'
21
- gem.add_runtime_dependency 'rest-client', '~> 1.6.7'
22
-
23
- gem.add_runtime_dependency 'fanforce-internal-errors', '~> 0.1'
24
19
  end
@@ -0,0 +1,45 @@
1
+ module Fanforce
2
+
3
+ if ENV['RACK_ENV'] == 'development'
4
+ TOP_LEVEL_DOMAIN = ENV['FANFORCE_GEM_TOP_LEVEL_DOMAIN'] || 'gg'
5
+ BASE_DOMAIN = ENV['FANFORCE_GEM_BASE_DOMAIN'] || 'fanforce.' + TOP_LEVEL_DOMAIN
6
+ SMARTURL_DOMAIN = 'fanforc.gg'
7
+ FF_APP_DOMAIN = 'ffapp.gg'
8
+ FF_PLUGIN_DOMAIN = 'ffplugin.gg'
9
+ FF_WIDGET_DOMAIN = 'ffwidget.gg'
10
+
11
+ elsif ENV['RACK_ENV'] == 'test'
12
+ BASE_DOMAIN = 'fanforce.gg'
13
+ SMARTURL_DOMAIN = 'fanforc.gg'
14
+ FF_APP_DOMAIN = 'ffapp.gg'
15
+ FF_PLUGIN_DOMAIN = 'ffplugin.gg'
16
+ FF_WIDGET_DOMAIN = 'ffwidget.gg'
17
+
18
+ elsif ENV['RACK_ENV'] == 'staging'
19
+ BASE_DOMAIN = 'fanforce-staging.com'
20
+ SMARTURL_DOMAIN = 'fanforc.us'
21
+ FF_APP_DOMAIN = 'ffapp.us'
22
+ FF_PLUGIN_DOMAIN = 'ffplugin.us'
23
+ FF_WIDGET_DOMAIN = 'ffwidget.us'
24
+
25
+ else
26
+ BASE_DOMAIN = 'fanforce.com'
27
+ SMARTURL_DOMAIN = 'fanforce.io'
28
+ FF_APP_DOMAIN = 'ffapp.io'
29
+ FF_PLUGIN_DOMAIN = 'ffplugin.io'
30
+ FF_WIDGET_DOMAIN = 'ffwidget.io'
31
+ end
32
+
33
+ API_DOMAIN = 'api.' + BASE_DOMAIN
34
+ I_DOMAIN = 'i.' + BASE_DOMAIN
35
+ WEBSITE_DOMAIN = BASE_DOMAIN
36
+ DEVELOPERS_DOMAIN = 'developers.' + BASE_DOMAIN
37
+ CONTROLLER_DOMAIN = 'controller.' + BASE_DOMAIN
38
+ ADDON_MANAGEMENT_URL = CONTROLLER_DOMAIN + '/db'
39
+
40
+ # these should be moved to edition
41
+ APP_DOMAIN = 'app.' + BASE_DOMAIN
42
+ SIGNUP_DOMAIN = 'signup.' + BASE_DOMAIN
43
+ MARKETPLACE_DOMAIN = 'appstore.' + BASE_DOMAIN
44
+
45
+ end
@@ -0,0 +1,3 @@
1
+ class Fanforce
2
+ VERSION = '0.10.0'
3
+ end
metadata CHANGED
@@ -1,58 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fanforce
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.5
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Caleb Clark
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2012-10-19 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: multi_json
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ~>
18
- - !ruby/object:Gem::Version
19
- version: '1.3'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ~>
25
- - !ruby/object:Gem::Version
26
- version: '1.3'
27
- - !ruby/object:Gem::Dependency
28
- name: rest-client
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ~>
32
- - !ruby/object:Gem::Version
33
- version: 1.6.7
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ~>
39
- - !ruby/object:Gem::Version
40
- version: 1.6.7
41
- - !ruby/object:Gem::Dependency
42
- name: fanforce-internal-errors
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ~>
46
- - !ruby/object:Gem::Version
47
- version: '0.1'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ~>
53
- - !ruby/object:Gem::Version
54
- version: '0.1'
55
- description: Ruby API wrapper that interfaces with all six Fanforce APIs.
11
+ date: 2013-08-27 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Core gem used internally by other Fanforce gems
56
14
  email:
57
15
  - cclark@fanforce.com
58
16
  executables: []
@@ -60,22 +18,14 @@ extensions: []
60
18
  extra_rdoc_files: []
61
19
  files:
62
20
  - .gitignore
63
- - .rbenv-gemsets
64
- - .rbenv-version
65
21
  - Gemfile
66
22
  - LICENSE.md
67
23
  - README.md
68
24
  - Rakefile
69
25
  - fanforce.gemspec
70
- - lib/fanforce.rb
71
- - lib/fanforce/api/_main.rb
72
- - lib/fanforce/api/error.rb
73
- - lib/fanforce/api/ff_globals.rb
74
- - lib/fanforce/api/response.rb
75
- - lib/fanforce/api/utils.rb
76
- - lib/fanforce/api/version.rb
77
- - test/fanforce_test.rb
78
- homepage: http://github.com/mlabs/fanforce-ruby
26
+ - lib/fanforce/domains.rb
27
+ - lib/fanforce/version.rb
28
+ homepage: http://github.com/fanforce/fanforce
79
29
  licenses: []
80
30
  metadata: {}
81
31
  post_install_message:
@@ -97,6 +47,5 @@ rubyforge_project:
97
47
  rubygems_version: 2.0.3
98
48
  signing_key:
99
49
  specification_version: 4
100
- summary: Ruby API wrapper for Fanforce
101
- test_files:
102
- - test/fanforce_test.rb
50
+ summary: Core Fanforce gem
51
+ test_files: []
data/.rbenv-gemsets DELETED
@@ -1 +0,0 @@
1
- fanforce-ruby
data/.rbenv-version DELETED
@@ -1 +0,0 @@
1
- 1.9.3-p194
data/lib/fanforce.rb DELETED
@@ -1,9 +0,0 @@
1
- class Fanforce
2
- require 'fanforce/errors'
3
- require_relative 'fanforce/api/version'
4
- require_relative 'fanforce/api/_main'
5
- require_relative 'fanforce/api/ff_globals'
6
- require_relative 'fanforce/api/error'
7
- include Fanforce::Api
8
- end
9
-
@@ -1,100 +0,0 @@
1
- require 'rest-client'
2
- require_relative 'utils'
3
- require_relative 'response'
4
-
5
- module Fanforce::Api
6
- include Fanforce::Api::Utils
7
- include Fanforce::Errors
8
-
9
- def self.included(base) base.extend(self) end
10
-
11
- def initialize(arg={})
12
- if arg.is_a?(Hash)
13
- add_params(arg)
14
- auth(@params) if @params.length > 0
15
- elsif arg.is_a?(String)
16
- auth(arg)
17
- end
18
- end
19
-
20
- def params
21
- @params ||= {}
22
- end
23
-
24
- def add_params(params_to_add)
25
- params.merge!(collect_known_params params_to_add)
26
- end
27
-
28
- def url(path, req_params={})
29
- req_params = apply_auth(req_params)
30
- "#{complete_url(path)}?#{to_query_string(req_params)}"
31
- end
32
-
33
- def curl_command(method, path, req_params={})
34
- req_params = apply_auth(req_params)
35
- Fanforce::Utils.curl_command(method, complete_url(path), req_params)
36
- end
37
-
38
- def get(path, req_params={})
39
- req_params = apply_auth(req_params)
40
- RestClient.get(url(path, req_params), :accept => :json) do |response, request, result, &block|
41
- Fanforce::Response.process(response, request, complete_url(path), req_params)
42
- end
43
- end
44
-
45
- def post(path, req_params={})
46
- url = complete_url(path)
47
- req_params = apply_auth(req_params)
48
- RestClient.post(url, req_params.to_json, :content_type => :json, :accept => :json) do |response, request, result, &block|
49
- Fanforce::Api::Response.process(response, request, url, req_params)
50
- end
51
- end
52
-
53
- def put(path, req_params={})
54
- url = complete_url(path)
55
- req_params = apply_auth(req_params)
56
- RestClient.put(url, req_params.to_json, :content_type => :json, :accept => :json) do |response, request, result, &block|
57
- Fanforce::Api::Response.process(response, request, url, req_params)
58
- end
59
- end
60
-
61
- def delete(path, req_params={})
62
- url = complete_url(path)
63
- req_params = apply_auth(req_params)
64
- RestClient.delete(url(path, req_params), :accept => :json) do |response, request, result, &block|
65
- Fanforce::Api::Response.process(response, request, url, req_params)
66
- end
67
- end
68
-
69
- def identify(req_params)
70
- post '/bie/identify', req_params
71
- {success: true}
72
- end
73
-
74
- def track(plugin_id, req_params)
75
- post '/bie/track', req_params.merge(plugin_id: plugin_id)
76
- {success: true}
77
- end
78
-
79
- def auth(auth_data=nil)
80
- @auth_hash ||= {}
81
- return @auth_hash if is_blank?(auth_data)
82
- auth_data = auth_data.is_a?(Hash) ? auth_data.symbolize_keys : {api_key: auth_data.to_s}
83
- @auth_hash.merge! remove_nil_values(api_key: auth_data[:api_key], fanforce_id: auth_data[:fanforce_id], fanforce_slug: auth_data[:fanforce_slug])
84
- params.merge!(@auth_hash)
85
- valid_auth?
86
- end
87
-
88
- def valid_auth?
89
- is_present?(@auth_hash) and is_present?(@auth_hash[:api_key]) and is_present?(@auth_hash[:fanforce_id])
90
- end
91
-
92
- def apply_auth(req_params)
93
- req_params.merge(@auth_hash || {})
94
- end
95
-
96
- def complete_url(path)
97
- 'http://' + $API_DOMAIN + path
98
- end
99
-
100
- end
@@ -1,67 +0,0 @@
1
- require_relative 'utils'
2
-
3
- class Fanforce::Api::Error < StandardError
4
- attr_accessor :response, :request, :requested_url, :requested_params, :errors
5
-
6
- def initialize(message, response, request, requested_url, requested_params)
7
- @response = response
8
- @request = request
9
- @requested_url = requested_url
10
- @requested_params = requested_params
11
- @message = message
12
- super(message)
13
- end
14
-
15
- def curl_command
16
- method = begin @request.method rescue nil end
17
- Fanforce::Utils.curl_command(method, @requested_url, @requested_params)
18
- end
19
-
20
- def code; @response.respond_to?(:code) ? @response.code : 500 end
21
- def to_s; @message end
22
- def to_hash; {} end
23
- end
24
-
25
- class Fanforce::Api::ServerError < Fanforce::Api::Error
26
-
27
- def initialize(response, request, requested_url, requested_params)
28
- @response_body = response.to_s
29
-
30
- begin
31
- @response_hash = Fanforce::Utils.decode_json(response)
32
- @errors = @response_hash[:errors]
33
- rescue Exception => e
34
- raise Fanforce::Api::DecodingError.new(e, response, request, requested_url, requested_params)
35
- end
36
-
37
- super(response.to_s, response, request, requested_url, requested_params)
38
- end
39
-
40
- def to_hash
41
- @response_hash
42
- end
43
-
44
- def curl_command
45
- method = begin @request.method rescue nil end
46
- Fanforce::Utils.curl_command(method, @requested_url, @requested_params)
47
- end
48
-
49
- def code; @response.code end
50
-
51
- end
52
-
53
- class Fanforce::Api::DecodingError < Fanforce::Api::Error
54
-
55
- def initialize(e, response, request, requested_url, requested_params)
56
- @message = "There was a Fanforce gem error while decoding JSON response: #{e.message}"
57
- @errors = [{message: @message}]
58
- super(@message, response, request, requested_url, requested_params)
59
- end
60
-
61
- def to_hash
62
- {errors: @errors}
63
- end
64
-
65
- def code; 500 end
66
-
67
- end
@@ -1,73 +0,0 @@
1
- if !ENV['RACK_ENV'] or ENV['RACK_ENV'] == 'development'
2
- top_level_domain = ENV['FANFORCE_GEM_TOP_LEVEL_DOMAIN'] || 'gg'
3
- $BASE_DOMAIN = ENV['FANFORCE_GEM_BASE_DOMAIN'] || 'fanforce.' + top_level_domain
4
- $APP_DOMAIN = 'app.' + $BASE_DOMAIN
5
- $API_DOMAIN = 'api.' + $BASE_DOMAIN
6
- $I_DOMAIN = 'i.' + $BASE_DOMAIN
7
- $WEBSITE_DOMAIN = $BASE_DOMAIN
8
-
9
- $SMARTURL_DOMAIN = 'fanforc.' + top_level_domain
10
- $FF_PLUGIN_DOMAIN = 'ffplugin.' + top_level_domain
11
- $FF_APP_DOMAIN = 'ffapp.' + top_level_domain
12
- $FF_WIDGET_DOMAIN = 'ffwidget.' + top_level_domain
13
-
14
- $DEVS_DOMAIN = 'technical%40mobilizationlabs.com:zE27fdevelopers@developers-fanforce.dotcloud.com' # or localhost:3000'
15
-
16
- $PUSHER_APP_ID = '23240'
17
- $PUSHER_KEY = '029caf227a64c8e82e99'
18
- $PUSHER_SECRET = '3169163d2e27de9a2291'
19
-
20
- elsif ENV['RACK_ENV'] == 'test'
21
- $BASE_DOMAIN = 'fanforce.gg'
22
- $APP_DOMAIN = 'app.' + $BASE_DOMAIN
23
- $API_DOMAIN = 'api.' + $BASE_DOMAIN
24
- $I_DOMAIN = 'i.' + $BASE_DOMAIN
25
- $WEBSITE_DOMAIN = $BASE_DOMAIN
26
-
27
- $SMARTURL_DOMAIN = 'fanforc.gg'
28
- $FF_PLUGIN_DOMAIN = 'ffplugin.gg'
29
- $FF_WIDGET_DOMAIN = 'ffwidget.gg'
30
- $FF_APP_DOMAIN = 'ffapp.gg'
31
-
32
- $DEVS_DOMAIN = 'technical%40mobilizationlabs.com:zE27fdevelopers@developers-fanforce.dotcloud.com'
33
-
34
- $PUSHER_APP_ID = '23243'
35
- $PUSHER_KEY = '7bcc87b3c55301f687b9'
36
- $PUSHER_SECRET = '61c760c05430e68d7e8d'
37
-
38
- elsif ENV['RACK_ENV'] == 'qa'
39
- $BASE_DOMAIN = 'fanforce-qa.com'
40
- $APP_DOMAIN = 'app.' + $BASE_DOMAIN
41
- $API_DOMAIN = 'api.' + $BASE_DOMAIN
42
- $I_DOMAIN = 'i.' + $BASE_DOMAIN
43
- $WEBSITE_DOMAIN = $BASE_DOMAIN
44
-
45
- $SMARTURL_DOMAIN = 'fanforc.us'
46
- $FF_PLUGIN_DOMAIN = 'ffplugin.us'
47
- $FF_APP_DOMAIN = 'ffapp.us'
48
- $FF_WIDGET_DOMAIN = 'ffwidget.us'
49
-
50
- $DEVS_DOMAIN = 'technical%40mobilizationlabs.com:zE27fdevelopers@developers-fanforce.dotcloud.com'
51
-
52
- $PUSHER_APP_ID = '14778'
53
- $PUSHER_KEY = 'b5e2e23fb9542798ef38'
54
- $PUSHER_SECRET = '7bfba2003df078ca64e9'
55
-
56
- elsif ENV['RACK_ENV'] == 'production'
57
- $BASE_DOMAIN = 'fanforce.com'
58
- $APP_DOMAIN = 'app.' + $BASE_DOMAIN
59
- $API_DOMAIN = 'api.' + $BASE_DOMAIN
60
- $I_DOMAIN = 'i.' + $BASE_DOMAIN
61
- $WEBSITE_DOMAIN = $BASE_DOMAIN
62
-
63
- $SMARTURL_DOMAIN = 'fanforce.io'
64
- $FF_PLUGIN_DOMAIN = 'ffplugin.io'
65
- $FF_APP_DOMAIN = 'ffapp.io'
66
- $FF_WIDGET_DOMAIN = 'ffwidget.io'
67
-
68
- $DEVS_DOMAIN = 'technical%40mobilizationlabs.com:zE27fdevelopers@developers-fanforce.dotcloud.com'
69
-
70
- $PUSHER_APP_ID = '14778'
71
- $PUSHER_KEY = 'b5e2e23fb9542798ef38'
72
- $PUSHER_SECRET = '7bfba2003df078ca64e9'
73
- end
@@ -1,111 +0,0 @@
1
- class Fanforce::Api::Response
2
- attr_reader :curl_command, :requested_url, :requested_params
3
-
4
- def self.process(response, request, requested_url, requested_params)
5
- raise Fanforce::Api::ServerError.new(response, request, requested_url, requested_params) if response.code > 201
6
- begin response_hash = Fanforce::Utils.decode_json(response)
7
- rescue Exception => e; raise Fanforce::Api::DecodingError.new(e, response, request, requested_url, requested_params) end
8
- if response_hash[:results]
9
- Fanforce::Api::Results.new(response_hash, response, request, requested_url, requested_params)
10
- else
11
- Fanforce::Api::Result.new(response_hash, response, request, requested_url, requested_params)
12
- end
13
- end
14
-
15
- end
16
-
17
- class Fanforce::Api::Result < Hash
18
- attr_reader :requested_url, :requested_params
19
-
20
- def initialize(response_hash, response, request, requested_url, requested_params)
21
- @response = response
22
- @request = request
23
- @requested_url = requested_url
24
- @requested_params = requested_params
25
- @response_hash = response_hash
26
- self.replace(response_hash)
27
- end
28
-
29
- def data
30
- self
31
- end
32
- alias result data
33
-
34
- def curl_command
35
- @curl_command ||= Fanforce::Utils.curl_command(@request.method, @requested_url, @requested_params)
36
- end
37
-
38
- def body;
39
- @response.to_s
40
- end
41
-
42
- def current_results; 1 end
43
- def total_results; 1 end
44
- def current_page; 1 end
45
- def total_pages; 1 end
46
- def prev_page; nil end
47
- def next_page; nil end
48
- def prev_page_url; nil end
49
- def next_page_url; nil end
50
- def code; @response.code end
51
- end
52
-
53
- class Fanforce::Api::Results < Array
54
- attr_reader :requested_url, :requested_params
55
-
56
- def initialize(response_hash, response, request, requested_url, requested_params)
57
- @response = response
58
- @request = request
59
- @requested_url = requested_url
60
- @requested_params = requested_params
61
- @response_hash = response_hash
62
- self.replace(response_hash[:results])
63
- end
64
-
65
- def data
66
- self
67
- end
68
- alias results data
69
-
70
- def curl_command
71
- @curl_command ||= Fanforce::Utils.curl_command(@request.method, @requested_url, @requested_params)
72
- end
73
-
74
- def body;
75
- @response.to_s
76
- end
77
-
78
- def current_results
79
- @current_results ||= @response_hash[:current_results]
80
- end
81
-
82
- def total_results;
83
- @total_results ||= @response_hash[:total_results]
84
- end
85
-
86
- def current_page;
87
- @current_page ||= @response_hash[:current_page]
88
- end
89
-
90
- def total_pages;
91
- @total_pages ||= @response_hash[:total_pages]
92
- end
93
-
94
- def prev_page
95
- @prev_page ||= (@request.method == :get and current_page > 1) ? current_page - 1 : nil
96
- end
97
-
98
- def next_page
99
- @next_page ||= (@request.method == :get and total_pages > current_page) ? current_page + 1 : nil
100
- end
101
-
102
- def prev_page_url;
103
- @prev_page_url ||= prev_page ? "#{@requested_url}?#{Fanforce::Utils.to_query_string(@requested_params.merge(page: current_page-1))}" : nil
104
- end
105
-
106
- def next_page_url;
107
- @next_page_url ||= next_page ? "#{@requested_url}?#{Fanforce::Utils.to_query_string(@requested_params.merge(page: current_page+1))}" : nil
108
- end
109
- def code; @response.code end
110
-
111
- end
@@ -1,67 +0,0 @@
1
- require 'fanforce/utils'
2
-
3
- module Fanforce::Api::Utils
4
- include Fanforce::Utils
5
- extend Fanforce::Api::Utils
6
- def self.included(base) base.extend(self) end
7
-
8
- def valid_fanforce_js_request?(params=@params)
9
- return false if !params.is_a?(Hash)
10
- return false if is_blank?(params[:fanforce_id]) or is_blank?(params[:api_key])
11
- return true
12
- end
13
-
14
- def valid_fanforce_request?(params=@params)
15
- return false if !params.is_a?(Hash)
16
- return false if is_blank?(params[:fanforce_id])
17
- return false if is_blank?(params[:app_id]) and is_blank?(params[:behavior_plugin_id]) and is_blank?(params[:plugin_id]) and is_blank?(params[:widget_id])
18
- return true
19
- end
20
-
21
- def valid_install_request?(params=@params)
22
- return false if !params.is_a?(Hash)
23
- return false if is_blank?(params[:fanforce_id])
24
- return false if is_blank?(params[:app_id]) and is_blank?(params[:behavior_plugin_id]) and is_blank?(params[:plugin_id]) and is_blank?(params[:widget_id])
25
- return false if is_blank?(params[:api_key])
26
- return true
27
- end
28
-
29
- def valid_uninstall_request?(params=@params)
30
- return false if !params.is_a?(Hash)
31
- return false if is_blank?(params[:fanforce_id])
32
- return false if is_blank?(params[:app_id]) and is_blank?(params[:behavior_plugin_id]) and is_blank?(params[:plugin_id]) and is_blank?(params[:widget_id])
33
- return false if is_blank?(params[:api_key])
34
- return true
35
- end
36
-
37
- def remove_nil_values(hash)
38
- hash.clone.delete_if {|k,v| v.nil? }
39
- end
40
-
41
- def collect_known_params(params)
42
- params = params.symbolize_keys
43
- if is_present?(params[:app_id])
44
- addon_type = :app
45
- addon_id = params[:app_id]
46
- elsif is_present?(params[:behavior_plugin_id])
47
- addon_type = :plugin
48
- addon_id = params[:behavior_plugin_id]
49
- elsif is_present?(params[:plugin_id])
50
- addon_type = :plugin
51
- addon_id = params[:plugin_id]
52
- elsif is_present?(params[:widget_id])
53
- addon_type = :widget
54
- addon_id = params[:widget_id]
55
- end
56
- remove_nil_values(:"#{addon_type}_id" => params[:"#{addon_type}_id"], addon_type: addon_type, addon_id: addon_id, fanforce_id: params[:fanforce_id], fanforce_slug: params[:fanforce_slug], api_key: params[:api_key], session_id: params[:session_id])
57
- end
58
-
59
- def remove_internal_params(params)
60
- params.clone.delete_if { |k,v| [:app_id, :behavior_plugin_id, :plugin_id, :widget_id, :addon_type, :addon_id, :fanforce_id, :fanforce_slug, :api_key].include? k }
61
- end
62
-
63
- def remove_sensitive_params(params)
64
- params.clone.delete_if { |k,v| [:api_key].include? k }
65
- end
66
-
67
- end
@@ -1,5 +0,0 @@
1
- class Fanforce
2
- module Api
3
- VERSION = '0.7.5'
4
- end
5
- end
@@ -1,22 +0,0 @@
1
- require 'rubygems'
2
- require 'minitest/autorun'
3
-
4
- $: << File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
5
- require 'fanforce'
6
-
7
- describe Fanforce do
8
-
9
- it "should test if var is blank" do
10
- assert Fanforce.is_blank?(nil)
11
- assert !Fanforce.is_blank?("value")
12
-
13
- ff = Fanforce.new
14
- assert ff.is_blank?(nil)
15
- assert !ff.is_blank?("value")
16
- end
17
-
18
- it "should create new instance of fanforce with api_key" do
19
- Fanforce.new('13d90b01-6df7-4618-881c-c79320a0dc21')
20
- end
21
-
22
- end