mini_fb 2.0.0 → 2.1.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 47673e1ef51af1dfe27fdefc65c2923c2ee65300
4
+ data.tar.gz: 20c9ea4d481521de3a8cbc41796dcbb66ade9f29
5
+ SHA512:
6
+ metadata.gz: 8846e74c083cd3ab2513d7efae29fcbe68f8a292f84efc9464d8bb8c8b88e9f879f096b8f83cba4f4e7a1c70d5bd24a6e393467768ba7452ad2b293704cfcdcf
7
+ data.tar.gz: 0c1b39eebfa8e53877725bf6798d48bf727270b585ccae3fd9cdaccc1a7af6ea20339ee860a12f793a5ff32618b5faff1bcb6cf7e0afea051ccbd381da8d34ae
data/.gitignore ADDED
@@ -0,0 +1,3 @@
1
+ pkg
2
+ .idea
3
+ mini_fb_tests.yml
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm ree-1.8.7@mini-fb
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ gem 'rspec'
data/Gemfile.lock ADDED
@@ -0,0 +1,30 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ mini_fb (2.1.0)
5
+ hashie
6
+ rest_client
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ diff-lcs (1.2.5)
12
+ hashie (2.0.5)
13
+ netrc (0.7.7)
14
+ rest_client (1.7.3)
15
+ netrc (~> 0.7.7)
16
+ rspec (2.14.1)
17
+ rspec-core (~> 2.14.0)
18
+ rspec-expectations (~> 2.14.0)
19
+ rspec-mocks (~> 2.14.0)
20
+ rspec-core (2.14.8)
21
+ rspec-expectations (2.14.5)
22
+ diff-lcs (>= 1.1.3, < 2.0)
23
+ rspec-mocks (2.14.6)
24
+
25
+ PLATFORMS
26
+ ruby
27
+
28
+ DEPENDENCIES
29
+ mini_fb!
30
+ rspec
data/Rakefile ADDED
@@ -0,0 +1,23 @@
1
+
2
+ begin
3
+ require 'jeweler2'
4
+ Jeweler::Tasks.new do |gemspec|
5
+ gemspec.name = "mini_fb"
6
+ gemspec.summary = "Tiny facebook library"
7
+ gemspec.description = "Tiny facebook library"
8
+ gemspec.email = "travis@appoxy.com"
9
+ gemspec.homepage = "http://github.com/appoxy/mini_fb"
10
+ gemspec.authors = ["Travis Reeder"]
11
+ gemspec.files = FileList['lib/**/*.rb']
12
+ gemspec.add_dependency 'rest-client'
13
+ gemspec.add_dependency 'hashie'
14
+ end
15
+ Jeweler::GemcutterTasks.new
16
+ rescue LoadError
17
+ puts "Jeweler not available. Install it with: sudo gem install jeweler2"
18
+ end
19
+
20
+ require 'rspec/core/rake_task'
21
+ RSpec::Core::RakeTask.new do |t|
22
+ t.rspec_opts = ["--color", '--format doc']
23
+ end
data/lib/mini_fb.rb CHANGED
@@ -19,6 +19,7 @@ require 'hashie'
19
19
  require 'base64'
20
20
  require 'openssl'
21
21
  require 'logger'
22
+ require_relative 'version'
22
23
 
23
24
  module MiniFB
24
25
 
@@ -562,7 +563,7 @@ module MiniFB
562
563
  options[:method] = :get
563
564
  options[:response_type] = :params
564
565
  resp = fetch(url, options)
565
- puts 'resp=' + resp.body.to_s if @@logging
566
+ puts 'resp=' + resp if @@logging
566
567
  resp
567
568
  end
568
569
 
@@ -684,6 +685,7 @@ module MiniFB
684
685
  if res_hash.is_a? Array # fql return this
685
686
  res_hash.collect! { |x| x.is_a?(Hash) ? Hashie::Mash.new(x) : x }
686
687
  else
688
+ res_hash = { response: res_hash } unless res_hash.is_a? Hash
687
689
  res_hash = Hashie::Mash.new(res_hash)
688
690
  end
689
691
 
@@ -693,7 +695,7 @@ module MiniFB
693
695
 
694
696
  return res_hash
695
697
  rescue RestClient::Exception => ex
696
- puts "ex.http_code=" + ex.http_code.to_s
698
+ puts "ex.http_code=" + ex.http_code.to_s if @@logging
697
699
  puts 'ex.http_body=' + ex.http_body if @@logging
698
700
  res_hash = JSON.parse(ex.http_body) # probably should ensure it has a good response
699
701
  raise MiniFB::FaceBookError.new(ex.http_code, "#{res_hash["error"]["type"]}: #{res_hash["error"]["message"]}")
data/lib/version.rb ADDED
@@ -0,0 +1,3 @@
1
+ module MiniFB
2
+ VERSION = "2.1.0"
3
+ end
data/mini_fb.gemspec ADDED
@@ -0,0 +1,22 @@
1
+ require File.expand_path('../lib/version', __FILE__)
2
+
3
+ Gem::Specification.new do |gem|
4
+ gem.authors = ["Travis Reeder"]
5
+ gem.email = ["travis@appoxy.com"]
6
+ gem.description = "Tiny facebook library by Appoxy.com"
7
+ gem.summary = "Tiny facebook library by Appoxy.com"
8
+ gem.homepage = "http://github.com/appoxy/mini_fb/"
9
+
10
+ gem.files = `git ls-files`.split($\)
11
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
12
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
13
+ gem.name = "mini_fb"
14
+ gem.require_paths = ["lib"]
15
+ gem.version = MiniFB::VERSION
16
+
17
+ gem.required_rubygems_version = ">= 1.3.6"
18
+ gem.required_ruby_version = Gem::Requirement.new(">= 1.9")
19
+ gem.add_runtime_dependency "rest_client", ">= 0"
20
+ gem.add_runtime_dependency "hashie", ">= 0"
21
+
22
+ end
@@ -0,0 +1,67 @@
1
+ require 'rspec'
2
+ require 'uri'
3
+ require 'yaml'
4
+ require 'active_support/core_ext'
5
+ require_relative '../lib/mini_fb'
6
+
7
+ describe MiniFB do
8
+
9
+ before :all do
10
+ @is_setup = true
11
+ file_path = File.expand_path("../mini_fb_tests.yml", File.dirname(__FILE__))
12
+ @config = File.open(file_path) { |yf| YAML::load(yf) }
13
+ MiniFB.log_level = :warn
14
+
15
+ @oauth_url = MiniFB.oauth_url(@config['fb_app_id'],
16
+ "http://localhost:3000", # redirect url
17
+ :scope=>MiniFB.scopes.join(","))
18
+ end
19
+
20
+
21
+
22
+ before :each do
23
+ # this code runs once per-test
24
+ end
25
+
26
+ it 'test_uri_escape' do
27
+ URI.escape("x=y").should eq("x=y")
28
+ end
29
+
30
+ it 'test_authenticate_as_app' do
31
+ res = MiniFB.authenticate_as_app(@config["fb_api_key"], @config["fb_secret"])
32
+ res.should include("access_token")
33
+ res["access_token"].should match(/^#{@config['fb_app_id']}/)#starts_with?(@config["fb_app_id"].to_s)
34
+ end
35
+
36
+
37
+ it 'test_signed_request_params' do
38
+ # Example request and secret taken from http://developers.facebook.com/docs/authentication/canvas
39
+ secret = 'secret'
40
+ req = 'vlXgu64BQGFSQrY0ZcJBZASMvYvTHu9GQ0YM9rjPSso.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsIjAiOiJwYXlsb2FkIn0'
41
+ expect(MiniFB.signed_request_params(secret, req)).to eq({"0" => "payload"})
42
+ end
43
+
44
+ end
45
+
46
+
47
+ def access_token
48
+ @config['access_token']
49
+ end
50
+
51
+
52
+ def test_me_with_fields
53
+ fields = {
54
+ 'interests' => [:name],
55
+ 'activities'=> [:name],
56
+ 'music' => [:name],
57
+ 'videos' => [:name],
58
+ 'television'=> [:name],
59
+ 'movies' => [:name],
60
+ 'likes' => [:name],
61
+ 'work' => [:name],
62
+ 'education' => [:name],
63
+ 'books' => [:name]
64
+ }
65
+
66
+ snap = MiniFB.get(access_token, 'me', :fields =>fields.keys)
67
+ end
metadata CHANGED
@@ -1,113 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_fb
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
5
- prerelease:
4
+ version: 2.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Travis Reeder
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-25 00:00:00.000000000 Z
11
+ date: 2014-04-01 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: rest-client
14
+ name: rest_client
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: hashie
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
- - !ruby/object:Gem::Dependency
47
- name: rest-client
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
- type: :runtime
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- - !ruby/object:Gem::Dependency
63
- name: hashie
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
- type: :runtime
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- description: Tiny facebook library
79
- email: travis@appoxy.com
41
+ description: Tiny facebook library by Appoxy.com
42
+ email:
43
+ - travis@appoxy.com
80
44
  executables: []
81
45
  extensions: []
82
- extra_rdoc_files:
83
- - LICENSE.txt
84
- - README.markdown
46
+ extra_rdoc_files: []
85
47
  files:
86
- - lib/mini_fb.rb
48
+ - .gitignore
49
+ - .rvmrc
50
+ - Gemfile
51
+ - Gemfile.lock
87
52
  - LICENSE.txt
88
53
  - README.markdown
89
- homepage: http://github.com/appoxy/mini_fb
54
+ - Rakefile
55
+ - lib/mini_fb.rb
56
+ - lib/version.rb
57
+ - mini_fb.gemspec
58
+ - spec/mini_fb_spec.rb
59
+ homepage: http://github.com/appoxy/mini_fb/
90
60
  licenses: []
61
+ metadata: {}
91
62
  post_install_message:
92
63
  rdoc_options: []
93
64
  require_paths:
94
65
  - lib
95
66
  required_ruby_version: !ruby/object:Gem::Requirement
96
- none: false
97
67
  requirements:
98
- - - ! '>='
68
+ - - '>='
99
69
  - !ruby/object:Gem::Version
100
- version: '0'
70
+ version: '1.9'
101
71
  required_rubygems_version: !ruby/object:Gem::Requirement
102
- none: false
103
72
  requirements:
104
- - - ! '>='
73
+ - - '>='
105
74
  - !ruby/object:Gem::Version
106
- version: '0'
75
+ version: 1.3.6
107
76
  requirements: []
108
77
  rubyforge_project:
109
- rubygems_version: 1.8.25
78
+ rubygems_version: 2.2.2
110
79
  signing_key:
111
- specification_version: 3
112
- summary: Tiny facebook library
113
- test_files: []
80
+ specification_version: 4
81
+ summary: Tiny facebook library by Appoxy.com
82
+ test_files:
83
+ - spec/mini_fb_spec.rb