fanforce 0.7.5 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
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